summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xci/build-vsperf.sh10
-rw-r--r--conf/00_common.conf5
-rw-r--r--docs/release/NEWS.rst6
-rwxr-xr-xdocs/userguide/testusage.rst27
-rw-r--r--src/Makefile2
-rwxr-xr-xsrc/dpdk/Makefile4
-rw-r--r--src/ovs/Makefile4
-rw-r--r--tools/functions.py9
-rw-r--r--tools/opnfvdashboard/opnfvdashboard.py34
-rw-r--r--vnfs/qemu/qemu.py2
-rw-r--r--vnfs/qemu/qemu_dpdk_vhost_cuse.py58
-rwxr-xr-xvsperf5
-rw-r--r--vswitches/ovs_dpdk_vhost.py26
13 files changed, 34 insertions, 158 deletions
diff --git a/ci/build-vsperf.sh b/ci/build-vsperf.sh
index 8fb69072..a02de009 100755
--- a/ci/build-vsperf.sh
+++ b/ci/build-vsperf.sh
@@ -129,7 +129,7 @@ function print_results() {
# execute tests and display results
# parameters:
-# $1 - vswitch and vnf combination, one of OVS_vanilla, OVS_with_DPDK_and_vHost_Cuse, OVS_with_DPDK_and_vHost_User
+# $1 - vswitch and vnf combination, one of OVS_vanilla, OVS_with_DPDK_and_vHost_User
# $2 - CI job type, one of verify, merge, daily
function execute_vsperf() {
# figure out list of TCs and execution parameters
@@ -163,14 +163,6 @@ function execute_vsperf() {
echo "$VSPERF_BIN --opnfvpod="$NODE_NAME" --vswitch OvsVanilla --vnf QemuVirtioNet $CONF_FILE $TESTPARAM $TESTCASES &> $LOG_FILE"
$VSPERF_BIN --opnfvpod="$NODE_NAME" --vswitch OvsVanilla --vnf QemuVirtioNet $CONF_FILE $TESTPARAM $TESTCASES &> $LOG_FILE
;;
- "OVS_with_DPDK_and_vHost_Cuse")
- # figure out log file name
- LOG_SUBDIR="OvsDpdkVhostCuse"
- LOG_FILE="${LOG_FILE_PREFIX}_${LOG_SUBDIR}_${DATE_SUFFIX}.log"
-
- echo "$VSPERF_BIN --opnfvpod="$NODE_NAME" --vswitch OvsDpdkVhost --vnf QemuDpdkVhostCuse $CONF_FILE $TESTPARAM $TESTCASES &> $LOG_FILE"
- $VSPERF_BIN --opnfvpod="$NODE_NAME" --vswitch OvsDpdkVhost --vnf QemuDpdkVhostCuse $CONF_FILE $TESTPARAM $TESTCASES &> $LOG_FILE
- ;;
*)
# figure out log file name
LOG_SUBDIR="OvsDpdkVhost"
diff --git a/conf/00_common.conf b/conf/00_common.conf
index 944619c5..fe4e1f5d 100644
--- a/conf/00_common.conf
+++ b/conf/00_common.conf
@@ -39,13 +39,10 @@ SYSMETRICS_DIR = os.path.join(ROOT_DIR, 'tools/collectors')
# deployment specific paths to OVS and DPDK
OVS_DIR_VANILLA = os.path.join(ROOT_DIR, 'src_vanilla/ovs/ovs/')
-RTE_SDK_CUSE = os.path.join(ROOT_DIR, 'src_cuse/dpdk/dpdk/')
-OVS_DIR_CUSE = os.path.join(ROOT_DIR, 'src_cuse/ovs/ovs/')
-
RTE_SDK_USER = os.path.join(ROOT_DIR, 'src/dpdk/dpdk/')
OVS_DIR_USER = os.path.join(ROOT_DIR, 'src/ovs/ovs/')
-# the same qemu version is used for vanilla, vHost User and Cuse
+# the same qemu version is used for vanilla and vHost User
QEMU_DIR = os.path.join(ROOT_DIR, 'src/qemu/qemu/')
# ############################
diff --git a/docs/release/NEWS.rst b/docs/release/NEWS.rst
index 47ede0a3..a259870b 100644
--- a/docs/release/NEWS.rst
+++ b/docs/release/NEWS.rst
@@ -2,6 +2,10 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV, Intel Corporation, AT&T and others.
+OPNFV D Release
+===============
+* Remove support for vhost cuse
+
OPNFV Colorado Release
======================
* Support for DPDK v16.07
@@ -99,7 +103,7 @@ September 2015
==============
- Implementation of system statistics based upon pidstat command line tool.
-- Support of PVVP deployment scenario using bhost-cuse and vhost user access
+- Support of PVVP deployment scenario using vhost-cuse and vhost user access
methods
August 2015
diff --git a/docs/userguide/testusage.rst b/docs/userguide/testusage.rst
index 0c6e189d..9eeddc27 100755
--- a/docs/userguide/testusage.rst
+++ b/docs/userguide/testusage.rst
@@ -61,10 +61,8 @@ The 'make' builds all options in src:
* Vanilla OVS
* OVS with vhost_user as the guest access method (with DPDK support)
-* OVS with vhost_cuse s the guest access method (with DPDK support)
The vhost_user build will reside in src/ovs/
-The vhost_cuse build will reside in vswitchperf/src_cuse
The Vanilla OVS build will reside in vswitchperf/src_vanilla
To delete a src subdirectory and its contents to allow you to re-clone simply
@@ -237,7 +235,7 @@ To run tests using vhost-user as guest access method:
.. code-block:: console
- VHOST_METHOD='user'
+ VSWITCH = 'OvsDpdkVhost'
VNF = 'QemuDpdkVhost'
2. If needed, recompile src for all OVS variants
@@ -254,29 +252,6 @@ To run tests using vhost-user as guest access method:
$ ./vsperf --conf-file=<path_to_custom_conf>/10_custom.conf
-To run tests using vhost-cuse as guest access method:
-
-1. Set VHOST_METHOD and VNF of your settings file to:
-
-.. code-block:: console
-
- VHOST_METHOD='cuse'
- VNF = 'QemuDpdkVhostCuse'
-
-2. If needed, recompile src for all OVS variants
-
-.. code-block:: console
-
- $ cd src
- $ make distclean
- $ make
-
-3. Run test:
-
-.. code-block:: console
-
- $ ./vsperf --conf-file=<path_to_custom_conf>/10_custom.conf
-
Executing PVP tests using Vanilla OVS
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/Makefile b/src/Makefile
index 42970288..fbc2e711 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -19,7 +19,7 @@
# Contributors:
# Aihua Li, Huawei Technologies.
-SUBBUILDS = src_cuse src_vanilla
+SUBBUILDS = src_vanilla
.PHONY: vhost subbuilds $(SUBBUILDS)
all clean distclean: vhost subbuilds
diff --git a/src/dpdk/Makefile b/src/dpdk/Makefile
index 69255f75..1cd85e3e 100755
--- a/src/dpdk/Makefile
+++ b/src/dpdk/Makefile
@@ -30,7 +30,6 @@ ifndef VHOST_USER
endif
WORK_DIR = dpdk
TAG_DONE_FLAG = $(WORK_DIR)/.$(DPDK_TAG).tag.done
-DPDK_CUSE = ../../src_cuse/dpdk
# VHOST configuration options are stored in different files based on DPDK version
# v1.2.3r0-v1.6.0r2 - configuration inside config/defconfig_x86_64-default-linuxapp-gcc
@@ -99,7 +98,6 @@ clean:
$(AT)cd $(WORK_DIR) && git clean -xfd *.o
clobber:
$(AT)rm -rf $(WORK_DIR)
- $(AT)rm -rf $(DPDK_CUSE)
# distclean is for developer who would like to keep the
# clone git repo, saving time to fetch again from url
@@ -114,8 +112,6 @@ sanity:
$(WORK_DIR):
$(AT)git clone $(DPDK_URL)
- $(AT)mkdir -p $(DPDK_CUSE)
- $(AT)cp -rf ./* $(DPDK_CUSE)
$(TAG_DONE_FLAG): $(WORK_DIR)
$(AT)cd $(WORK_DIR); git checkout $(DPDK_TAG)
diff --git a/src/ovs/Makefile b/src/ovs/Makefile
index 384d6993..ee15c521 100644
--- a/src/ovs/Makefile
+++ b/src/ovs/Makefile
@@ -27,7 +27,6 @@ TAG_DONE_FLAG = $(WORK_DIR)/.$(OVS_TAG).done
CONFIG_CMD =
CONFIG_CMD += ./configure
OVS_VANILLA = ../../src_vanilla/ovs
-OVS_CUSE = ../../src_cuse/ovs
# If WITH_LINUX is defined, OVS is built without DPDK but with kernel
# module
@@ -90,7 +89,6 @@ clean:
clobber:
$(AT)rm -rf $(WORK_DIR)
$(AT)rm -rf $(OVS_VANILLA)
- $(AT)rm -rf $(OVS_CUSE)
# distclean is for developer who would like to keep the
# clone git repo, saving time to fetch again from url
@@ -116,8 +114,6 @@ $(WORK_DIR):
$(AT)git clone $(OVS_URL)
$(AT)mkdir -p $(OVS_VANILLA)
$(AT)cp -rf ./* $(OVS_VANILLA)
- $(AT)mkdir -p $(OVS_CUSE)
- $(AT)cp -rf ./* $(OVS_CUSE)
$(TAG_DONE_FLAG): $(WORK_DIR)
$(AT)cd ovs; git checkout $(OVS_TAG)
diff --git a/tools/functions.py b/tools/functions.py
index 5079a9f0..60ed0802 100644
--- a/tools/functions.py
+++ b/tools/functions.py
@@ -28,15 +28,6 @@ def settings_update_paths():
if settings.getValue('VSWITCH').endswith('Vanilla'):
# settings paths for Vanilla
settings.setValue('OVS_DIR', (settings.getValue('OVS_DIR_VANILLA')))
- elif settings.getValue('VSWITCH').endswith('Vhost'):
- if settings.getValue('VNF').endswith('Cuse'):
- # settings paths for Cuse
- settings.setValue('RTE_SDK', (settings.getValue('RTE_SDK_CUSE')))
- settings.setValue('OVS_DIR', (settings.getValue('OVS_DIR_CUSE')))
- else:
- # settings paths for VhostUser
- settings.setValue('RTE_SDK', (settings.getValue('RTE_SDK_USER')))
- settings.setValue('OVS_DIR', (settings.getValue('OVS_DIR_USER')))
else:
# default - set to VHOST USER but can be changed during enhancement
settings.setValue('RTE_SDK', (settings.getValue('RTE_SDK_USER')))
diff --git a/tools/opnfvdashboard/opnfvdashboard.py b/tools/opnfvdashboard/opnfvdashboard.py
index e7a47e50..6f53526d 100644
--- a/tools/opnfvdashboard/opnfvdashboard.py
+++ b/tools/opnfvdashboard/opnfvdashboard.py
@@ -91,34 +91,30 @@ def _generate_test_name(testcase, int_data):
"""
the method generates testcase name for releng
"""
- cuse = int_data['cuse']
vanilla = int_data['vanilla']
res_name = ""
- names = {'phy2phy_tput': ["tput_ovsdpdk", "tput_ovsdpdk", "tput_ovs"],
- 'back2back': ["b2b_ovsdpdk", "b2b_ovsdpdk", "b2b_ovs"],
- 'phy2phy_tput_mod_vlan': ["tput_mod_vlan_ovsdpdk", "tput_mod_vlan_ovsdpdk", "tput_mod_vlan_ovs"],
- 'phy2phy_cont': ["cont_ovsdpdk", "cont_ovsdpdk", "cont_ovs"],
- 'pvp_cont': ["pvp_cont_ovsdpdkuser", "pvp_cont_ovsdpdkcuse", "pvp_cont_ovsvirtio"],
- 'pvvp_cont': ["pvvp_cont_ovsdpdkuser", "pvvp_cont_ovsdpdkcuse", "pvvp_cont_ovsvirtio"],
- 'phy2phy_scalability': ["scalability_ovsdpdk", "scalability_ovsdpdk", "scalability_ovs"],
- 'pvp_tput': ["pvp_tput_ovsdpdkuser", "pvp_tput_ovsdpdkcuse", "pvp_tput_ovsvirtio"],
- 'pvp_back2back': ["pvp_b2b_ovsdpdkuser", "pvp_b2b_ovsdpdkcuse", "pvp_b2b_ovsvirtio"],
- 'pvvp_tput': ["pvvp_tput_ovsdpdkuser", "pvvp_tput_ovsdpdkcuse", "pvvp_tput_ovsvirtio"],
- 'pvvp_back2back': ["pvvp_b2b_ovsdpdkuser", "pvvp_b2b_ovsdpdkcuse", "pvvp_b2b_ovsvirtio"],
- 'phy2phy_cpu_load': ["cpu_load_ovsdpdk", "cpu_load_ovsdpdk", "cpu_load_ovs"],
- 'phy2phy_mem_load': ["mem_load_ovsdpdk", "mem_load_ovsdpdk", "mem_load_ovs"]}
+ names = {'phy2phy_tput': ["tput_ovsdpdk", "tput_ovs"],
+ 'back2back': ["b2b_ovsdpdk", "b2b_ovs"],
+ 'phy2phy_tput_mod_vlan': ["tput_mod_vlan_ovsdpdk", "tput_mod_vlan_ovs"],
+ 'phy2phy_cont': ["cont_ovsdpdk", "cont_ovs"],
+ 'pvp_cont': ["pvp_cont_ovsdpdkuser", "pvp_cont_ovsvirtio"],
+ 'pvvp_cont': ["pvvp_cont_ovsdpdkuser", "pvvp_cont_ovsvirtio"],
+ 'phy2phy_scalability': ["scalability_ovsdpdk", "scalability_ovs"],
+ 'pvp_tput': ["pvp_tput_ovsdpdkuser", "pvp_tput_ovsvirtio"],
+ 'pvp_back2back': ["pvp_b2b_ovsdpdkuser", "pvp_b2b_ovsvirtio"],
+ 'pvvp_tput': ["pvvp_tput_ovsdpdkuser", "pvvp_tput_ovsvirtio"],
+ 'pvvp_back2back': ["pvvp_b2b_ovsdpdkuser", "pvvp_b2b_ovsvirtio"],
+ 'phy2phy_cpu_load': ["cpu_load_ovsdpdk", "cpu_load_ovs"],
+ 'phy2phy_mem_load': ["mem_load_ovsdpdk", "mem_load_ovs"]}
for name, name_list in names.items():
if name != testcase:
continue
if vanilla == True:
- res_name = name_list[2]
+ res_name = name_list[1]
else:
- if cuse == True:
- res_name = name_list[1]
- else:
- res_name = name_list[0]
+ res_name = name_list[0]
break
return res_name
diff --git a/vnfs/qemu/qemu.py b/vnfs/qemu/qemu.py
index 02ada4b5..b5eaddc3 100644
--- a/vnfs/qemu/qemu.py
+++ b/vnfs/qemu/qemu.py
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-"""Automation of QEMU hypervisor for launching vhost-cuse enabled guests.
+"""Automation of QEMU hypervisor for launching guests.
"""
import os
diff --git a/vnfs/qemu/qemu_dpdk_vhost_cuse.py b/vnfs/qemu/qemu_dpdk_vhost_cuse.py
deleted file mode 100644
index ab4fec84..00000000
--- a/vnfs/qemu/qemu_dpdk_vhost_cuse.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2015 Intel Corporation.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Automation of QEMU hypervisor for launching vhost-cuse enabled guests.
-"""
-
-import logging
-
-from conf import settings as S
-from vnfs.qemu.qemu import IVnfQemu
-
-class QemuDpdkVhostCuse(IVnfQemu):
- """
- Control an instance of QEMU with vHost cuse guest communication.
- """
- def __init__(self):
- """
- Initialisation function.
- """
- super(QemuDpdkVhostCuse, self).__init__()
- self._logger = logging.getLogger(__name__)
-
- # calculate indexes of guest devices (e.g. charx, dpdkvhostuserx)
- i = self._number * 2
- if1 = str(i)
- if2 = str(i + 1)
- net1 = 'net' + str(i + 1)
- net2 = 'net' + str(i + 2)
-
- self._cmd += ['-netdev',
- 'type=tap,id=' + net1 + ',script=no,downscript=no,' +
- 'ifname=dpdkvhostcuse' + if1 + ',vhost=on',
- '-device',
- 'virtio-net-pci,mac=' +
- S.getValue('GUEST_NET1_MAC')[self._number] +
- ',netdev=' + net1 + ',csum=off,gso=off,' +
- 'guest_tso4=off,guest_tso6=off,guest_ecn=off',
- '-netdev',
- 'type=tap,id=' + net2 +
- ',script=no,downscript=no,' +
- 'ifname=dpdkvhostcuse' + if2 + ',vhost=on',
- '-device',
- 'virtio-net-pci,mac=' +
- S.getValue('GUEST_NET2_MAC')[self._number] +
- ',netdev=' + net2 + ',csum=off,gso=off,' +
- 'guest_tso4=off,guest_tso6=off,guest_ecn=off',
- ]
diff --git a/vsperf b/vsperf
index 1f693a55..e942b84d 100755
--- a/vsperf
+++ b/vsperf
@@ -680,16 +680,13 @@ def main():
opnfv_url = settings.getValue('OPNFV_URL')
pkg_list = settings.getValue('PACKAGE_LIST')
- int_data = {'cuse': False,
- 'vanilla': False,
+ int_data = {'vanilla': False,
'pod': pod_name,
'installer': installer_name,
'pkg_list': pkg_list,
'db_url': opnfv_url}
if settings.getValue('VSWITCH').endswith('Vanilla'):
int_data['vanilla'] = True
- if settings.getValue('VNF').endswith('Cuse'):
- int_data['cuse'] = True
opnfvdashboard.results2opnfv_dashboard(results_path, int_data)
# cleanup before exit
diff --git a/vswitches/ovs_dpdk_vhost.py b/vswitches/ovs_dpdk_vhost.py
index 39c8b633..cebc14b2 100644
--- a/vswitches/ovs_dpdk_vhost.py
+++ b/vswitches/ovs_dpdk_vhost.py
@@ -50,10 +50,6 @@ class OvsDpdkVhost(IVSwitchOvs):
else:
self._vswitchd_args = vswitchd_args
- if settings.getValue('VNF').endswith('Cuse'):
- self._logger.info("Inserting VHOST Cuse modules into kernel...")
- dpdk.insert_vhost_modules()
-
def configure(self):
""" Configure vswitchd DPDK options through ovsdb if needed
"""
@@ -131,20 +127,14 @@ class OvsDpdkVhost(IVSwitchOvs):
from 0
"""
bridge = self._bridges[switch_name]
- # Changed dpdkvhost to dpdkvhostuser to be able to run in Qemu 2.2
- if settings.getValue('VNF').endswith('Cuse'):
- vhost_count = self._get_port_count('type=dpdkvhostcuse')
- port_name = 'dpdkvhostcuse' + str(vhost_count)
- params = ['--', 'set', 'Interface', port_name, 'type=dpdkvhostcuse']
- else:
- vhost_count = self._get_port_count('type=dpdkvhostuser')
- port_name = 'dpdkvhostuser' + str(vhost_count)
- params = ['--', 'set', 'Interface', port_name, 'type=dpdkvhostuser']
- # multi queue enable
- if int(settings.getValue('VSWITCH_MULTI_QUEUES')) and \
- not settings.getValue('OVS_OLD_STYLE_MQ'):
- params += ['options:n_rxq={}'.format(
- settings.getValue('VSWITCH_MULTI_QUEUES'))]
+ vhost_count = self._get_port_count('type=dpdkvhostuser')
+ port_name = 'dpdkvhostuser' + str(vhost_count)
+ params = ['--', 'set', 'Interface', port_name, 'type=dpdkvhostuser']
+ # multi queue enable
+ if int(settings.getValue('VSWITCH_MULTI_QUEUES')) and \
+ not settings.getValue('OVS_OLD_STYLE_MQ'):
+ params += ['options:n_rxq={}'.format(
+ settings.getValue('VSWITCH_MULTI_QUEUES'))]
of_port = bridge.add_port(port_name, params)
return (port_name, of_port)