summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2016-08-18 12:00:44 +0100
committerMartin Klozik <martinx.klozik@intel.com>2016-08-18 14:19:17 +0100
commit1ea5c5239f9003f9cb8492f1d5b00a75724a7180 (patch)
tree1622aa4f0e59bb7fb32e295096b42b8aa23cf2a3
parent21c787b5bb7dd4592bc83718756ac670232a8347 (diff)
cuse: Remove vHost Cuse support
Support of vHost Cuse interface is not supported by OVS anymore, so it was removed also from VSPERF. Cuse can be used with older VSPERF release if needed. JIRA: VSPERF-376 Change-Id: Id786bddf5fa9dce5706a93de7b089707a60317cd Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
-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)