diff options
20 files changed, 291 insertions, 90 deletions
diff --git a/docs/apidocs/index.rst b/docs/apidocs/index.rst index 8bd407341..b7f49f536 100644 --- a/docs/apidocs/index.rst +++ b/docs/apidocs/index.rst @@ -1,3 +1,5 @@ +.. _yardstick-apidocs: + .. This work is licensed under a Creative Commons Attribution 4.0 International .. License. .. http://creativecommons.org/licenses/by/4.0 diff --git a/docs/release/release-notes/index.rst b/docs/release/release-notes/index.rst index c9cadc539..11a508ca6 100644 --- a/docs/release/release-notes/index.rst +++ b/docs/release/release-notes/index.rst @@ -1,3 +1,5 @@ +.. _yardstick-releasenotes: + .. This work is licensed under a Creative Commons Attribution 4.0 International .. License. .. http://creativecommons.org/licenses/by/4.0 diff --git a/docs/release/results/index.rst b/docs/release/results/index.rst index 2b67f1b22..0560152e0 100644 --- a/docs/release/results/index.rst +++ b/docs/release/results/index.rst @@ -1,3 +1,5 @@ +.. _yardstick-results: + .. This work is licensed under a Creative Commons Attribution 4.0 International .. License. .. http://creativecommons.org/licenses/by/4.0 diff --git a/docs/testing/user/userguide/index.rst b/docs/testing/user/userguide/index.rst index 1b963af61..75dcbcd82 100644 --- a/docs/testing/user/userguide/index.rst +++ b/docs/testing/user/userguide/index.rst @@ -1,3 +1,5 @@ +.. _yardstick-userguide: + .. This work is licensed under a Creative Commons Attribution 4.0 International .. License. .. http://creativecommons.org/licenses/by/4.0 diff --git a/fuel-plugin/deployment_scripts/puppet/manifests/yardstick-install.pp b/fuel-plugin/deployment_scripts/puppet/manifests/yardstick-install.pp index e69371141..3741bacf2 100644 --- a/fuel-plugin/deployment_scripts/puppet/manifests/yardstick-install.pp +++ b/fuel-plugin/deployment_scripts/puppet/manifests/yardstick-install.pp @@ -1,5 +1,4 @@ -$fuel_settings = parseyaml(file('/etc/astute.yaml')) -$master_ip = $::fuel_settings['master_ip'] +$master_ip = hiera('master_ip') $access_hash = hiera_hash('access', {}) $admin_tenant = $access_hash['tenant'] diff --git a/nsb_setup.sh b/nsb_setup.sh index e77ffbe44..332c0345c 100755 --- a/nsb_setup.sh +++ b/nsb_setup.sh @@ -28,7 +28,8 @@ if [ "$(whoami)" != "root" ]; then fi INSTALL_BIN_PATH="/opt/nsb_bin" -TREX_DOWNLOAD="https://trex-tgn.cisco.com/trex/release/v2.20.tar.gz" +TREX_VERSION="v2.20" +TREX_DOWNLOAD="https://trex-tgn.cisco.com/trex/release/$TREX_VERSION.tar.gz" DPDK_DOWNLOAD="http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip" VIRTUAL_VENV="$INSTALL_BIN_PATH/yardstick_venv" @@ -82,7 +83,7 @@ install_trex() { TREX_DIR=$INSTALL_BIN_PATH/trex/scripts if [ -d "$TREX_DIR" ]; then - echo "Trex v2.05already installed. Make sure it contains PYTHONPATH which is required to run TRex" + echo "Trex v2.20 already installed. Make sure it contains PYTHONPATH which is required to run TRex" else echo "Build TRex and installing Trex TG in $INSTALL_BIN_PATH/trex" rm -rf ${TREX_DOWNLOAD##*/} @@ -93,8 +94,8 @@ install_trex() pushd . rm -rf trex mkdir -p trex - mv v2.05 trex/scripts - rm -rf v2.05.tar.gz + mv $TREX_VERSION trex/scripts + rm -rf $TREX_VERSION.tar.gz cd trex/scripts/ko/src/ make make install @@ -182,7 +183,7 @@ install_dpdk() push_nsb_binary() { - if [ ! -d "$INSTALL_BIN_PATH/trex" ]; then + if [ ! -d "$INSTALL_BIN_PATH/trex/scripts" ]; then cp -fr "$REPO_DIR/trex" "$INSTALL_BIN_PATH" fi rm -rf "$REPO_DIR/trex" diff --git a/tests/ci/load_images.sh b/tests/ci/load_images.sh index 047393797..b438e09e4 100755 --- a/tests/ci/load_images.sh +++ b/tests/ci/load_images.sh @@ -31,7 +31,7 @@ if [ "$INSTALLER_TYPE" == "fuel" ]; then fi UCA_HOST="cloud-images.ubuntu.com" -if [ "${YARD_IMG_ARCH}"= "arm64" ]; then +if [ "${YARD_IMG_ARCH}" == "arm64" ]; then export CLOUD_IMG_URL="http://${UCA_HOST}/${release}/current/${release}-server-cloudimg-${YARD_IMG_ARCH}.tar.gz" if ! grep -q "Defaults env_keep += \"CLOUD_IMG_URL\"" "/etc/sudoers"; then echo "Defaults env_keep += \"CLOUD_IMG_URL\"" | sudo tee -a /etc/sudoers diff --git a/tests/opnfv/test_suites/opnfv_k8-nosdn-nofeature-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_k8-nosdn-nofeature-noha_daily.yaml new file mode 100644 index 000000000..6ac1a7523 --- /dev/null +++ b/tests/opnfv/test_suites/opnfv_k8-nosdn-nofeature-noha_daily.yaml @@ -0,0 +1,62 @@ +############################################################################## +# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +# k8 nosdn nofeature noha daily task suite + +schema: "yardstick:suite:0.1" + +name: "k8-nosdn-nofeature-noha" +test_cases_dir: "tests/opnfv/test_cases/" +test_cases: +- + file_name: opnfv_yardstick_tc002.yaml +- + file_name: opnfv_yardstick_tc005.yaml +- + file_name: opnfv_yardstick_tc010.yaml +- + file_name: opnfv_yardstick_tc011.yaml +- + file_name: opnfv_yardstick_tc012.yaml +- + file_name: opnfv_yardstick_tc014.yaml +- + file_name: opnfv_yardstick_tc037.yaml +- + file_name: opnfv_yardstick_tc055.yaml + constraint: + installer: compass + pod: huawei-pod1 + task_args: + huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml", + "host": "node5.yardstick-TC055"}' +- + file_name: opnfv_yardstick_tc063.yaml + constraint: + installer: compass + pod: huawei-pod1 + task_args: + huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml", + "host": "node5.yardstick-TC063"}' +- + file_name: opnfv_yardstick_tc069.yaml +- + file_name: opnfv_yardstick_tc070.yaml +- + file_name: opnfv_yardstick_tc071.yaml +- + file_name: opnfv_yardstick_tc072.yaml +- + file_name: opnfv_yardstick_tc075.yaml + constraint: + installer: compass + pod: huawei-pod1 + task_args: + huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml", + "host": "node1.LF"}' diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-openo-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-openo-ha_daily.yaml new file mode 100644 index 000000000..49cae7b68 --- /dev/null +++ b/tests/opnfv/test_suites/opnfv_os-nosdn-openo-ha_daily.yaml @@ -0,0 +1,116 @@ +############################################################################## +# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +# os nosdn openo ha daily task suite + +schema: "yardstick:suite:0.1" + +name: "os-nosdn-openo-ha" +test_cases_dir: "tests/opnfv/test_cases/" +test_cases: +- + file_name: opnfv_yardstick_tc002.yaml +- + file_name: opnfv_yardstick_tc005.yaml +- + file_name: opnfv_yardstick_tc010.yaml +- + file_name: opnfv_yardstick_tc011.yaml +- + file_name: opnfv_yardstick_tc012.yaml +- + file_name: opnfv_yardstick_tc014.yaml +- + file_name: opnfv_yardstick_tc037.yaml +- + file_name: opnfv_yardstick_tc043.yaml + constraint: + installer: compass + pod: huawei-pod1 + task_args: + huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml", + "host": "node4.LF","target": "node5.LF"}' +- + file_name: opnfv_yardstick_tc045.yaml + constraint: + installer: fuel +- + file_name: opnfv_yardstick_tc046.yaml + constraint: + installer: fuel +- + file_name: opnfv_yardstick_tc047.yaml + constraint: + installer: fuel +- + file_name: opnfv_yardstick_tc048.yaml + constraint: + installer: fuel +- + file_name: opnfv_yardstick_tc049.yaml + constraint: + installer: fuel +- + file_name: opnfv_yardstick_tc050.yaml + constraint: + installer: fuel +- + file_name: opnfv_yardstick_tc051.yaml + constraint: + installer: fuel +- + file_name: opnfv_yardstick_tc052.yaml + constraint: + installer: fuel +- + file_name: opnfv_yardstick_tc053.yaml + constraint: + installer: fuel +- + file_name: opnfv_yardstick_tc055.yaml + constraint: + installer: compass + pod: huawei-pod1 + task_args: + huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml", + "host": "node5.yardstick-TC055"}' +- + file_name: opnfv_yardstick_tc063.yaml + constraint: + installer: compass + pod: huawei-pod1 + task_args: + huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml", + "host": "node5.yardstick-TC063"}' +- + file_name: opnfv_yardstick_tc069.yaml +- + file_name: opnfv_yardstick_tc070.yaml +- + file_name: opnfv_yardstick_tc071.yaml +- + file_name: opnfv_yardstick_tc072.yaml +- + file_name: opnfv_yardstick_tc075.yaml + constraint: + installer: compass + pod: huawei-pod1 + task_args: + huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml", + "host": "node1.LF"}' +- + file_name: opnfv_yardstick_tc027.yaml + constraint: + installer: compass,fuel + pod: huawei-pod1,lf-pod2,ericsson-pod3,ericsson-pod4 + task_args: + huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}' + lf-pod2: '{"pod_info": "etc/yardstick/nodes/fuel_baremetal/pod.yaml", "openrc":"/root/openrc", "external_network":"admin_floating_net"}' + ericsson-pod3: '{"pod_info": "etc/yardstick/nodes/fuel_baremetal/pod.yaml", "openrc":"/root/openrc", "external_network":"admin_floating_net"}' + ericsson-pod4: '{"pod_info": "etc/yardstick/nodes/fuel_baremetal/pod.yaml", "openrc":"/root/openrc", "external_network":"admin_floating_net"}' diff --git a/tests/unit/benchmark/scenarios/compute/memload_sample_output.txt b/tests/unit/benchmark/scenarios/compute/memload_sample_output.txt index c23917ff7..1793e2f10 100644 --- a/tests/unit/benchmark/scenarios/compute/memload_sample_output.txt +++ b/tests/unit/benchmark/scenarios/compute/memload_sample_output.txt @@ -1,5 +1,3 @@ - total used free shared buffers cached + total used free shared buff/cache available Mem: 263753976 76737332 187016644 2844 853528 67252400 --/+ buffers/cache: 8631404 255122572 Swap: 268029948 0 268029948 - diff --git a/tests/unit/benchmark/scenarios/compute/test_memload.py b/tests/unit/benchmark/scenarios/compute/test_memload.py index 76625ef11..ede3309c2 100644 --- a/tests/unit/benchmark/scenarios/compute/test_memload.py +++ b/tests/unit/benchmark/scenarios/compute/test_memload.py @@ -74,18 +74,33 @@ class MEMLoadTestCase(unittest.TestCase): output = self._read_file("memload_sample_output.txt") mock_ssh.SSH().execute.return_value = (0, output, '') result = m._get_mem_usage() - expected_result = {"max": {"used": 76737332, "cached": 67252400, - "free": 187016644, "shared": 2844, - "total": 263753976, "buffers": 853528}, - "average": {"used": 76737332, "cached": 67252400, - "free": 187016644, "shared": 2844, - "total": 263753976, "buffers": 853528}, - "free": {"memory0": {"used": "76737332", - "cached": "67252400", - "free": "187016644", - "shared": "2844", - "total": "263753976", - "buffers": "853528"}}} + expected_result = { + "max": { + 'shared': 2844, + 'buff/cache': 853528, + 'total': 263753976, + 'free': 187016644, + 'used': 76737332 + }, + "average": { + 'shared': 2844, + 'buff/cache': 853528, + 'total': 263753976, + 'free': 187016644, + 'used': 76737332 + }, + "free": { + "memory0": { + "used": "76737332", + "buff/cache": "853528", + "free": "187016644", + "shared": "2844", + "total": "263753976", + "available": "67252400" + } + } + } + self.assertEqual(result, expected_result) def _read_file(self, filename): @@ -94,3 +109,11 @@ class MEMLoadTestCase(unittest.TestCase): with open(output) as f: sample_output = f.read() return sample_output + + +def main(): + unittest.main() + + +if __name__ == '__main__': + main() diff --git a/tools/ubuntu-server-cloudimg-dpdk-modify.sh b/tools/ubuntu-server-cloudimg-dpdk-modify.sh index 9a3857ee3..847c5053c 100755 --- a/tools/ubuntu-server-cloudimg-dpdk-modify.sh +++ b/tools/ubuntu-server-cloudimg-dpdk-modify.sh @@ -59,7 +59,7 @@ chpasswd: { expire: False } ssh_pwauth: True EOF -linuxheadersversion=`echo ls boot/vmlinuz* | cut -d- -f2-` +linuxheadersversion=$(echo ls boot/vmlinuz* | cut -d- -f2-) apt-get update apt-get install -y \ @@ -80,22 +80,25 @@ apt-get install -y \ rt-tests \ stress \ sysstat \ - linux-headers-$linuxheadersversion \ + linux-headers-"${linuxheadersversion}" \ libpcap-dev \ lua5.2 git clone http://dpdk.org/git/dpdk git clone http://dpdk.org/git/apps/pktgen-dpdk -git clone https://github.com/kdlucas/byte-unixbench.git /opt/tempT -make --directory /opt/tempT/UnixBench/ +CLONE_DEST=/opt/tempT +# remove before cloning +rm -rf -- "${CLONE_DEST}" +git clone https://github.com/kdlucas/byte-unixbench.git "${CLONE_DEST}" +make --directory "${CLONE_DEST}/UnixBench/" -git clone https://github.com/beefyamoeba5/ramspeed.git /opt/tempT/RAMspeed -cd /opt/tempT/RAMspeed/ramspeed-2.6.0 +git clone https://github.com/beefyamoeba5/ramspeed.git "${CLONE_DEST}/RAMspeed" +cd "${CLONE_DEST}/RAMspeed/ramspeed-2.6.0" mkdir temp bash build.sh -git clone https://github.com/beefyamoeba5/cachestat.git /opt/tempT/Cachestat +git clone https://github.com/beefyamoeba5/cachestat.git "${CLONE_DEST}"/Cachestat # restore symlink -ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf +ln -sfrT /run/resolvconf/resolv.conf /etc/resolv.conf diff --git a/tools/ubuntu-server-cloudimg-modify.sh b/tools/ubuntu-server-cloudimg-modify.sh index ce320a205..fb2ae3fe8 100755 --- a/tools/ubuntu-server-cloudimg-modify.sh +++ b/tools/ubuntu-server-cloudimg-modify.sh @@ -24,7 +24,7 @@ if [ $# -eq 1 ]; then fi # iperf3 only available for trusty in backports -if [ grep -q trusty /etc/apt/sources.list ]; then +if grep -q trusty /etc/apt/sources.list ; then if [ "${YARD_IMG_ARCH}" = "arm64" ]; then echo "deb [arch=${YARD_IMG_ARCH}] http://ports.ubuntu.com/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list else @@ -48,7 +48,7 @@ EOF apt-get update if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then apt-get install -y \ - linux-headers-$(echo $CLOUD_KERNEL_VERSION | cut -d'-' -f3,4,5) \ + linux-headers-"$(echo ${CLOUD_KERNEL_VERSION} | cut -d'-' -f3,4,5)" \ unzip #resize root partition (/dev/vdb1) It is supposed to be default but the image is booted differently for arm64 cat <<EOF >/etc/cloud/cloud.cfg.d/15_growpart.cfg @@ -76,36 +76,41 @@ apt-get install -y \ stress \ sysstat +CLONE_DEST=/opt/tempT + +# remove before cloning +rm -rf -- "${CLONE_DEST}" + if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then wget https://github.com/kdlucas/byte-unixbench/archive/master.zip unzip master.zip && rm master.zip - mkdir /opt/tempT - mv byte-unixbench-master/UnixBench /opt/tempT + mkdir "${CLONE_DEST}" + mv byte-unixbench-master/UnixBench "${CLONE_DEST}" sed -i -e 's/OPTON += -march=native -mtune=native/OPTON += -march=armv8-a -mtune=generic/g' \ - -e 's/OPTON += -march=native/OPTON += -march=armv8-a/g' /opt/tempT/UnixBench/Makefile + -e 's/OPTON += -march=native/OPTON += -march=armv8-a/g' "${CLONE_DEST}/UnixBench/Makefile" else - git clone https://github.com/kdlucas/byte-unixbench.git /opt/tempT + git clone https://github.com/kdlucas/byte-unixbench.git "${CLONE_DEST}" fi -make --directory /opt/tempT/UnixBench/ +make --directory "${CLONE_DEST}/UnixBench/" if [ "${YARD_IMG_ARCH}" = "arm64" ]; then wget https://github.com/beefyamoeba5/ramspeed/archive/master.zip unzip master.zip && rm master.zip - mkdir /opt/tempT/RAMspeed - mv ramspeed-master/* /opt/tempT/RAMspeed/ + mkdir "${CLONE_DEST}/RAMspeed" + mv ramspeed-master/* "${CLONE_DEST}/RAMspeed/" else - git clone https://github.com/beefyamoeba5/ramspeed.git /opt/tempT/RAMspeed + git clone https://github.com/beefyamoeba5/ramspeed.git "${CLONE_DEST}/RAMspeed" fi -cd /opt/tempT/RAMspeed/ramspeed-2.6.0 +cd "${CLONE_DEST}/RAMspeed/ramspeed-2.6.0" mkdir temp bash build.sh if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then wget https://github.com/beefyamoeba5/cachestat/archive/master.zip unzip master.zip && rm master.zip - mv cachestat-master/cachestat /opt/tempT + mv cachestat-master/cachestat "${CLONE_DEST}" else - git clone https://github.com/beefyamoeba5/cachestat.git /opt/tempT/Cachestat + git clone https://github.com/beefyamoeba5/cachestat.git "${CLONE_DEST}/Cachestat" fi # restore symlink diff --git a/tools/yardstick-img-modify b/tools/yardstick-img-modify index da8e1c92f..b4f632bb2 100755 --- a/tools/yardstick-img-modify +++ b/tools/yardstick-img-modify @@ -109,13 +109,9 @@ setup() { fi mkdir -p $mountdir - #kpartx fails with image paths longer than 63 characters - #try shortest relative path to image as temporary workaround - cd ${workspace} - loopdevice=$(kpartx -l $raw_imgfile_basename | head -1 | cut -f1 -d ' ') + loopdevice=$(kpartx -l $raw_imgfile | head -1 | cut -f1 -d ' ') - kpartx -av $raw_imgfile_basename - cd - + kpartx -av $raw_imgfile if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then e2fsck -p -f /dev/mapper/$loopdevice diff --git a/yardstick/benchmark/scenarios/compute/memload.py b/yardstick/benchmark/scenarios/compute/memload.py index 35528d4ef..2ef5a6302 100644 --- a/yardstick/benchmark/scenarios/compute/memload.py +++ b/yardstick/benchmark/scenarios/compute/memload.py @@ -74,10 +74,10 @@ class MEMLoad(base.Scenario): fields = [] free = {} ite = 0 - average = {'total': 0, 'used': 0, 'free': 0, 'cached': 0, 'shared': 0, - 'buffers': 0} - maximum = {'total': 0, 'used': 0, 'free': 0, 'cached': 0, 'shared': 0, - 'buffers': 0} + average = {'total': 0, 'used': 0, 'free': 0, 'buff/cache': 0, + 'shared': 0} + maximum = {'total': 0, 'used': 0, 'free': 0, 'buff/cache': 0, + 'shared': 0} for row in result.split('\n'): line = row.split() @@ -111,7 +111,7 @@ class MEMLoad(base.Scenario): interval = options.get("interval", 1) count = options.get("count", 1) - cmd = "free -s %s -c %s" % (interval, count) + cmd = "free -c '%s' -s '%s'" % (count, interval) result = self._execute_command(cmd) filtrated_result = self._filtrate_result(result) diff --git a/yardstick/benchmark/scenarios/networking/netutilization.py b/yardstick/benchmark/scenarios/networking/netutilization.py index 1ba6f1ec3..37da7f895 100644 --- a/yardstick/benchmark/scenarios/networking/netutilization.py +++ b/yardstick/benchmark/scenarios/networking/netutilization.py @@ -100,30 +100,22 @@ class NetUtilization(base.Scenario): average = {} time_marker = re.compile("^([0-9]+):([0-9]+):([0-9]+)$") - ampm_marker = re.compile("(AM|PM)$") # Parse network utilization stats - for row in raw_result.split('\n'): + for row in raw_result.splitlines(): line = row.split() if line and re.match(time_marker, line[0]): - if re.match(ampm_marker, line[1]): - del line[:2] - if line[0] == 'IFACE': - # header fields - fields = line[1:] - if len(fields) != NetUtilization.\ - NET_UTILIZATION_FIELD_SIZE: - raise RuntimeError("network_utilization: unexpected\ - field size", fields) - else: - # value fields + try: + index = line.index('IFACE') + except ValueError: + del line[:index] net_interface = line[0] values = line[1:] if values and len(values) == len(fields): - temp_dict = dict(list(zip(fields, values))) + temp_dict = dict(zip(fields, values)) if net_interface not in maximum: maximum[net_interface] = temp_dict else: @@ -144,6 +136,13 @@ class NetUtilization(base.Scenario): else: raise RuntimeError("network_utilization: parse error", fields, line) + else: + del line[:index] + fields = line[1:] + if len(fields) != NetUtilization.\ + NET_UTILIZATION_FIELD_SIZE: + raise RuntimeError("network_utilization: unexpected\ + field size", fields) elif line and line[0] == 'Average:': del line[:1] @@ -161,7 +160,7 @@ class NetUtilization(base.Scenario): values = line[1:] if values and len(values) == len(fields): average[net_interface] = dict( - list(zip(fields, values))) + zip(fields, values)) else: raise RuntimeError("network_utilization average: \ parse error", fields, line) diff --git a/yardstick/common/openstack_utils.py b/yardstick/common/openstack_utils.py index aa369b896..2df8fa565 100644 --- a/yardstick/common/openstack_utils.py +++ b/yardstick/common/openstack_utils.py @@ -62,20 +62,6 @@ def get_credentials(): "project_domain_name": os.getenv('OS_PROJECT_DOMAIN_NAME') }) - cacert = os.environ.get("OS_CACERT") - - if cacert is not None: - # each openstack client uses differnt kwargs for this - creds.update({"cacert": cacert, - "ca_cert": cacert, - "https_ca_cert": cacert, - "https_cacert": cacert, - "ca_file": cacert}) - creds.update({"insecure": "True", "https_insecure": "True"}) - if not os.path.isfile(cacert): - log.info("WARNING: The 'OS_CACERT' environment variable is set \ - to %s but the file does not exist.", cacert) - return creds @@ -88,7 +74,12 @@ def get_session_auth(): def get_session(): auth = get_session_auth() - return session.Session(auth=auth) + try: + cacert = os.environ['OS_CACERT'] + except KeyError: + return session.Session(auth=auth) + else: + return session.Session(auth=auth, verify=cacert) def get_endpoint(service_type, endpoint_type='publicURL'): diff --git a/yardstick/network_services/traffic_profile/fixed.py b/yardstick/network_services/traffic_profile/fixed.py index a456c2bd7..ebc1e61f2 100644 --- a/yardstick/network_services/traffic_profile/fixed.py +++ b/yardstick/network_services/traffic_profile/fixed.py @@ -43,7 +43,8 @@ class FixedProfile(TrafficProfile): self._create_stream(src_ip, dst_ip), ports=[ports]) - traffic_generator.client.start(ports=traffic_generator.my_ports) + traffic_generator.client.start(ports=traffic_generator.my_ports, + force=True) self.first_run = False def _create_stream(self, src_ip, dst_ip): diff --git a/yardstick/network_services/vnf_generic/vnf/tg_trex.py b/yardstick/network_services/vnf_generic/vnf/tg_trex.py index 2731476e0..1e751bfce 100644 --- a/yardstick/network_services/vnf_generic/vnf/tg_trex.py +++ b/yardstick/network_services/vnf_generic/vnf/tg_trex.py @@ -31,6 +31,7 @@ from stl.trex_stl_lib.trex_stl_exceptions import STLError LOG = logging.getLogger(__name__) DURATION = 30 +WAIT_QUEUE = 1 TREX_SYNC_PORT = 4500 TREX_ASYNC_PORT = 4501 @@ -259,6 +260,7 @@ class TrexTrafficGen(GenericTrafficGen): "tx_throughput_mbps": float(xe_value.get("tx_bps", 0.0)), "in_packets": xe_value.get("ipackets", 0), "out_packets": xe_value.get("opackets", 0)} + time.sleep(WAIT_QUEUE) queue.put(samples) self.client.disconnect() diff --git a/yardstick/orchestrator/heat.py b/yardstick/orchestrator/heat.py index 500776e0e..49126f661 100644 --- a/yardstick/orchestrator/heat.py +++ b/yardstick/orchestrator/heat.py @@ -21,7 +21,6 @@ import time import heatclient import pkg_resources -from oslo_serialization import jsonutils from oslo_utils import encodeutils import yardstick.common.openstack_utils as op_utils @@ -453,11 +452,9 @@ class HeatTemplate(HeatObject): stack = HeatStack(self.name) heat = self._get_heat_client() - json_template = jsonutils.dump_as_bytes( - self._template) start_time = time.time() stack.uuid = self.uuid = heat.stacks.create( - stack_name=self.name, template=json_template, + stack_name=self.name, template=self._template, parameters=self.heat_parameters)['stack']['id'] status = self.status() |