aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/resources/env_action.py19
-rw-r--r--api/swagger/docs/release_action.yaml8
-rw-r--r--api/swagger/docs/results.yaml8
-rw-r--r--api/swagger/docs/testsuites_action.yaml8
-rw-r--r--etc/yardstick/nodes/compass_sclab_physical/pod.yaml8
-rw-r--r--etc/yardstick/nodes/compass_sclab_virtual/pod.yaml8
-rw-r--r--etc/yardstick/nodes/fuel_baremetal/pod.yaml8
-rw-r--r--etc/yardstick/nodes/fuel_virtual/pod.yaml8
-rw-r--r--etc/yardstick/nodes/zte_pod1.yaml8
-rwxr-xr-xfuel-plugin/deployment_scripts/install.sh14
-rw-r--r--fuel-plugin/deployment_tasks.yaml13
-rw-r--r--fuel-plugin/fuel_ping.yaml13
-rw-r--r--fuel-plugin/node_roles.yaml13
-rw-r--r--fuel-plugin/tasks.yaml13
-rwxr-xr-xfuel-plugin/vagrant/build_fuel_plugin.sh14
-rwxr-xr-xinstall.sh10
-rwxr-xr-xnsb_setup.sh2
-rw-r--r--plugin/CI/storperf.yaml8
-rw-r--r--plugin/sample_config.yaml8
-rw-r--r--plugin/storperf.yaml8
-rw-r--r--requirements.txt2
-rw-r--r--samples/background-task.yaml8
-rw-r--r--samples/cachestat.yaml8
-rw-r--r--samples/computecapacity.yaml8
-rw-r--r--samples/cpuload.yaml8
-rw-r--r--samples/cyclictest-node-context.yaml8
-rw-r--r--samples/cyclictest.yaml8
-rw-r--r--samples/dummy-no-context.yaml8
-rw-r--r--samples/dummy.yaml8
-rw-r--r--samples/fio-template.yaml8
-rw-r--r--samples/fio.yaml8
-rwxr-xr-xsamples/ha-baremetal.yaml8
-rwxr-xr-xsamples/ha-service.yaml8
-rw-r--r--samples/iperf3-jitter.yaml8
-rw-r--r--samples/iperf3.yaml8
-rw-r--r--samples/lmbench.yaml8
-rw-r--r--samples/lmbench_cache.yaml8
-rw-r--r--samples/memload.yaml8
-rwxr-xr-xsamples/netperf.yaml8
-rw-r--r--samples/netperf_bottlenecks.yaml8
-rwxr-xr-xsamples/netperf_node.yaml8
-rw-r--r--samples/netutilization.yaml8
-rw-r--r--samples/networkcapacity.yaml8
-rw-r--r--samples/parser.yaml8
-rw-r--r--samples/perf.yaml8
-rw-r--r--samples/ping-ext-ip.yaml8
-rw-r--r--samples/ping-ext-stimuli.yaml8
-rw-r--r--samples/ping-heat-context.yaml8
-rw-r--r--samples/ping-hot.yaml8
-rwxr-xr-xsamples/ping-iteration.yaml8
-rw-r--r--samples/ping-multiple-context.yaml8
-rw-r--r--samples/ping-multiple-vm.yaml8
-rw-r--r--samples/ping-node-context.yaml8
-rw-r--r--samples/ping-option-list.yaml8
-rw-r--r--samples/ping-parallel.yaml8
-rw-r--r--samples/ping-serial.yaml8
-rw-r--r--samples/ping-template.yaml8
-rw-r--r--samples/ping.yaml8
-rw-r--r--samples/ping6.yaml8
-rw-r--r--samples/ping6_odl.yaml8
-rw-r--r--samples/ping_load.yaml8
-rw-r--r--samples/pktgen.yaml8
-rw-r--r--samples/plugintest.yaml8
-rw-r--r--samples/ramspeed.yaml8
-rwxr-xr-xsamples/serviceha.yaml8
-rw-r--r--samples/sfc.yaml8
-rw-r--r--samples/storagecapacity.yaml8
-rw-r--r--samples/storperf.yaml8
-rw-r--r--samples/test_suite.yaml8
-rw-r--r--samples/tosca.yaml8
-rw-r--r--samples/unixbench.yaml8
-rw-r--r--samples/yang.yaml8
-rwxr-xr-xsetup.py8
-rwxr-xr-xtests/ci/load_images.sh44
-rw-r--r--tests/ci/report_config.yaml8
-rwxr-xr-xtests/ci/yardstick-verify9
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc001.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc002.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc005.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc006.yaml13
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc007.yaml13
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc008.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc009.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc010.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc011.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc012.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc014.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc020.yaml13
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc021.yaml13
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc027.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc038.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc040.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc042.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc049.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc051.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc055.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc063.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc069.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc070.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc071.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc072.yaml8
-rwxr-xr-xtests/opnfv/test_cases/opnfv_yardstick_tc073.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc074.yaml8
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc075.yaml8
-rw-r--r--tests/opnfv/test_suites/fuel_test_suite.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_components.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_features.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-fdio-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-kvm-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-kvm-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk-ha_daily.yaml13
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk-noha_daily.yaml13
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk_bar-ha_daily.yaml13
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk_bar-noha_daily.yaml13
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-lxd-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-lxd-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-ovs-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-nosdn-ovs-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-ocl-nofeature-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-ocl-nofeature-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-ha_daily.yaml12
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-noha_daily.yaml12
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l2-fdio-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l2-fdio-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l2-moon-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-onos-nofeature-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-onos-nofeature-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-onos-sfc-ha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_os-onos-sfc-noha_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_performance.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_playground_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_plugfest.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_smoke.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_vTC_daily.yaml8
-rw-r--r--tests/opnfv/test_suites/opnfv_vTC_weekly.yaml8
-rw-r--r--tests/unit/apiserver/resources/test_env_action.py8
-rw-r--r--tests/unit/benchmark/contexts/nodes_duplicate_sample.yaml8
-rw-r--r--tests/unit/benchmark/contexts/nodes_sample.yaml8
-rw-r--r--tests/unit/benchmark/contexts/test_heat.py9
-rw-r--r--tests/unit/benchmark/contexts/test_model.py10
-rw-r--r--tests/unit/benchmark/core/no_constraint_no_args_scenario_sample.yaml8
-rw-r--r--tests/unit/benchmark/core/no_constraint_with_args_scenario_sample.yaml8
-rw-r--r--tests/unit/benchmark/core/with_constraint_no_args_scenario_sample.yaml8
-rw-r--r--tests/unit/benchmark/core/with_constraint_with_args_scenario_sample.yaml8
-rw-r--r--tests/unit/cmd/commands/test_testcase.py8
-rw-r--r--tests/unit/cmd/test_NSBperf.py3
-rw-r--r--tests/unit/common/config_sample.yaml8
-rw-r--r--tests/unit/common/test_openstack_utils.py28
-rw-r--r--tests/unit/dispatcher/test_influxdb.py14
-rw-r--r--tests/unit/dispatcher/test_influxdb_line_protocol.py8
-rw-r--r--tools/dpdk_install.yml8
-rwxr-xr-xtools/ubuntu-server-cloudimg-modify.sh20
-rw-r--r--tools/yardstick-img-dpdk-finalize.sh9
-rwxr-xr-xtools/yardstick-img-modify67
-rw-r--r--vTC/build.sh9
-rw-r--r--yardstick/__init__.py13
-rw-r--r--yardstick/benchmark/contexts/base.py4
-rw-r--r--yardstick/benchmark/contexts/dummy.py2
-rw-r--r--yardstick/benchmark/contexts/heat.py67
-rw-r--r--yardstick/benchmark/contexts/model.py43
-rw-r--r--yardstick/benchmark/contexts/node.py2
-rw-r--r--yardstick/benchmark/contexts/standalone.py2
-rw-r--r--yardstick/benchmark/core/task.py224
-rwxr-xr-xyardstick/benchmark/runners/base.py21
-rw-r--r--yardstick/benchmark/scenarios/availability/attacker_conf.yaml8
-rw-r--r--yardstick/benchmark/scenarios/availability/monitor_conf.yaml8
-rw-r--r--yardstick/benchmark/scenarios/availability/operation_conf.yaml8
-rw-r--r--yardstick/benchmark/scenarios/availability/result_checker_conf.yaml8
-rw-r--r--yardstick/benchmark/scenarios/networking/pktgen_dpdk_latency_benchmark.bash9
-rw-r--r--yardstick/benchmark/scenarios/networking/sfc.py8
-rwxr-xr-xyardstick/benchmark/scenarios/networking/sfc_change_classi.bash9
-rwxr-xr-xyardstick/benchmark/scenarios/networking/sfc_compute.bash9
-rw-r--r--yardstick/benchmark/scenarios/networking/sfc_openstack.py8
-rwxr-xr-xyardstick/benchmark/scenarios/networking/sfc_pre_setup.bash9
-rwxr-xr-xyardstick/benchmark/scenarios/networking/sfc_server.bash9
-rwxr-xr-xyardstick/benchmark/scenarios/networking/sfc_tacker.bash9
-rwxr-xr-xyardstick/benchmark/scenarios/networking/sfc_teardown.bash9
-rw-r--r--yardstick/benchmark/scenarios/networking/test-vnfd.yaml8
-rw-r--r--yardstick/benchmark/scenarios/networking/testpmd_fwd.bash9
-rwxr-xr-xyardstick/cmd/NSBperf.py7
-rw-r--r--yardstick/cmd/cli.py13
-rw-r--r--yardstick/common/openstack_utils.py348
-rw-r--r--yardstick/common/utils.py34
-rw-r--r--yardstick/definitions.py8
-rw-r--r--yardstick/dispatcher/base.py4
-rw-r--r--yardstick/dispatcher/file.py2
-rw-r--r--yardstick/dispatcher/http.py2
-rw-r--r--yardstick/dispatcher/influxdb.py60
-rw-r--r--yardstick/orchestrator/heat.py10
-rwxr-xr-xyardstick/vTC/apexlake/bin/run_tests.sh14
-rw-r--r--yardstick/vTC/apexlake/heat_templates/stress_workload.yaml13
-rw-r--r--yardstick/vTC/apexlake/heat_templates/stress_workload_liberty.yaml8
-rw-r--r--yardstick/vTC/apexlake/heat_templates/vTC.yaml13
-rw-r--r--yardstick/vTC/apexlake/heat_templates/vTC_liberty.yaml8
-rw-r--r--yardstick/vTC/apexlake/tests/data/generated_templates/VTC_base_single_vm_wait_1.yaml13
-rw-r--r--yardstick/vTC/apexlake/tests/data/generated_templates/VTC_base_single_vm_wait_2.yaml13
-rw-r--r--yardstick/vTC/apexlake/tests/data/generated_templates/vTC.yaml8
-rw-r--r--yardstick/vTC/apexlake/tests/data/test_templates/VTC_base_single_vm_wait_1.yaml13
-rw-r--r--yardstick/vTC/apexlake/tests/data/test_templates/VTC_base_single_vm_wait_2.yaml13
220 files changed, 2415 insertions, 318 deletions
diff --git a/api/resources/env_action.py b/api/resources/env_action.py
index 2d3496cbc..9d1686a1d 100644
--- a/api/resources/env_action.py
+++ b/api/resources/env_action.py
@@ -27,6 +27,7 @@ from api.utils.common import result_handler
from docker import Client
from yardstick.common import constants as config
from yardstick.common import utils as yardstick_utils
+from yardstick.common import openstack_utils
from yardstick.common.httpClient import HttpClient
logger = logging.getLogger(__name__)
@@ -194,6 +195,13 @@ def prepareYardstickEnv(args):
return result_handler('success', {'task_id': task_id})
+def _already_source_openrc():
+ """Check if openrc is sourced already"""
+ return all(os.environ.get(k) for k in ['OS_AUTH_URL', 'OS_USERNAME',
+ 'OS_PASSWORD', 'OS_TENANT_NAME',
+ 'EXTERNAL_NETWORK'])
+
+
def _prepare_env_daemon(task_id):
_create_task(task_id)
@@ -207,11 +215,10 @@ def _prepare_env_daemon(task_id):
rc_file = config.OPENSTACK_RC_FILE
- _get_remote_rc_file(rc_file, installer_ip, installer_type)
-
- _source_file(rc_file)
-
- _append_external_network(rc_file)
+ if not _already_source_openrc():
+ _get_remote_rc_file(rc_file, installer_ip, installer_type)
+ _source_file(rc_file)
+ _append_external_network(rc_file)
# update the external_network
_source_file(rc_file)
@@ -263,7 +270,7 @@ def _get_remote_rc_file(rc_file, installer_ip, installer_type):
def _append_external_network(rc_file):
- neutron_client = yardstick_utils.get_neutron_client()
+ neutron_client = openstack_utils.get_neutron_client()
networks = neutron_client.list_networks()['networks']
try:
ext_network = next(n['name'] for n in networks if n['router:external'])
diff --git a/api/swagger/docs/release_action.yaml b/api/swagger/docs/release_action.yaml
index 7bfe5e647..0e08e582f 100644
--- a/api/swagger/docs/release_action.yaml
+++ b/api/swagger/docs/release_action.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
TestCases Actions
This API may offer many actions, including runTestCase
diff --git a/api/swagger/docs/results.yaml b/api/swagger/docs/results.yaml
index 7bdab3eb6..00b159003 100644
--- a/api/swagger/docs/results.yaml
+++ b/api/swagger/docs/results.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
Query task result data
This api offer the interface to get the result data via task_id
diff --git a/api/swagger/docs/testsuites_action.yaml b/api/swagger/docs/testsuites_action.yaml
index ebf01e4ec..ca8d22738 100644
--- a/api/swagger/docs/testsuites_action.yaml
+++ b/api/swagger/docs/testsuites_action.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
TestSuites Actions
This API may offer many actions, including runTestSuite
diff --git a/etc/yardstick/nodes/compass_sclab_physical/pod.yaml b/etc/yardstick/nodes/compass_sclab_physical/pod.yaml
index b6ff772c8..88501820e 100644
--- a/etc/yardstick/nodes/compass_sclab_physical/pod.yaml
+++ b/etc/yardstick/nodes/compass_sclab_physical/pod.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# sample config file about the POD information, including the
# name/IP/user/ssh key of Bare Metal and Controllers/Computes
diff --git a/etc/yardstick/nodes/compass_sclab_virtual/pod.yaml b/etc/yardstick/nodes/compass_sclab_virtual/pod.yaml
index b5f5ff760..5c5574005 100644
--- a/etc/yardstick/nodes/compass_sclab_virtual/pod.yaml
+++ b/etc/yardstick/nodes/compass_sclab_virtual/pod.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# sample config file about the POD information, including the
# name/IP/user/ssh key and Controllers/Computes
diff --git a/etc/yardstick/nodes/fuel_baremetal/pod.yaml b/etc/yardstick/nodes/fuel_baremetal/pod.yaml
index e83257462..acdb44741 100644
--- a/etc/yardstick/nodes/fuel_baremetal/pod.yaml
+++ b/etc/yardstick/nodes/fuel_baremetal/pod.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# sample config file about the POD information, including the
# name/IP/user/ssh key of Bare Metal and Controllers/Computes
diff --git a/etc/yardstick/nodes/fuel_virtual/pod.yaml b/etc/yardstick/nodes/fuel_virtual/pod.yaml
index 8a7f436b9..773d613ef 100644
--- a/etc/yardstick/nodes/fuel_virtual/pod.yaml
+++ b/etc/yardstick/nodes/fuel_virtual/pod.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# sample config file about the POD information, including the
# name/IP/user/ssh key of Bare Metal and Controllers/Computes
diff --git a/etc/yardstick/nodes/zte_pod1.yaml b/etc/yardstick/nodes/zte_pod1.yaml
index 17829948b..ec6e46460 100644
--- a/etc/yardstick/nodes/zte_pod1.yaml
+++ b/etc/yardstick/nodes/zte_pod1.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 ZTE corporation 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
+##############################################################################
---
# sample config file about the POD information, including the
# name/IP/user/ssh key of Bare Metal and Controllers/Computes
diff --git a/fuel-plugin/deployment_scripts/install.sh b/fuel-plugin/deployment_scripts/install.sh
index 18f4fc2c2..251d044bf 100755
--- a/fuel-plugin/deployment_scripts/install.sh
+++ b/fuel-plugin/deployment_scripts/install.sh
@@ -1,4 +1,18 @@
#!/bin/bash
+# Copyright (c) 2016-2017 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.
+
set -eux
diff --git a/fuel-plugin/deployment_tasks.yaml b/fuel-plugin/deployment_tasks.yaml
index 6d53198b7..db57765a3 100644
--- a/fuel-plugin/deployment_tasks.yaml
+++ b/fuel-plugin/deployment_tasks.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
- id: yardstick
type: group
role: [yardstick]
diff --git a/fuel-plugin/fuel_ping.yaml b/fuel-plugin/fuel_ping.yaml
index 550dfbc42..e6c59480b 100644
--- a/fuel-plugin/fuel_ping.yaml
+++ b/fuel-plugin/fuel_ping.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
---
# Sample file copied from sampls/ping.yaml
# context part is modified according to fuel default env
diff --git a/fuel-plugin/node_roles.yaml b/fuel-plugin/node_roles.yaml
index 8ba827eeb..34ace6208 100644
--- a/fuel-plugin/node_roles.yaml
+++ b/fuel-plugin/node_roles.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
yardstick:
name: "Yardstick"
description: "Install Yardstick on nodes with this role"
diff --git a/fuel-plugin/tasks.yaml b/fuel-plugin/tasks.yaml
index fe51488c7..c3ba08a2e 100644
--- a/fuel-plugin/tasks.yaml
+++ b/fuel-plugin/tasks.yaml
@@ -1 +1,14 @@
+# Copyright (c) 2016-2017 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.
[]
diff --git a/fuel-plugin/vagrant/build_fuel_plugin.sh b/fuel-plugin/vagrant/build_fuel_plugin.sh
index ddf2d6a6e..548ea8457 100755
--- a/fuel-plugin/vagrant/build_fuel_plugin.sh
+++ b/fuel-plugin/vagrant/build_fuel_plugin.sh
@@ -1,4 +1,18 @@
#!/bin/bash
+# Copyright (c) 2016-2017 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.
+
sudo apt-get update -y
sudo apt-get install -y ruby-dev rubygems-integration python-pip rpm createrepo dpkg-dev
sudo gem install fpm
diff --git a/install.sh b/install.sh
index 1807e2f43..a918340ca 100755
--- a/install.sh
+++ b/install.sh
@@ -1,3 +1,13 @@
+#!/bin/bash
+##############################################################################
+# 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
+##############################################################################
+
# install tools
apt-get update && apt-get install -y \
wget \
diff --git a/nsb_setup.sh b/nsb_setup.sh
index 02258a577..e77ffbe44 100755
--- a/nsb_setup.sh
+++ b/nsb_setup.sh
@@ -28,7 +28,7 @@ if [ "$(whoami)" != "root" ]; then
fi
INSTALL_BIN_PATH="/opt/nsb_bin"
-TREX_DOWNLOAD="https://trex-tgn.cisco.com/trex/release/v2.05.tar.gz"
+TREX_DOWNLOAD="https://trex-tgn.cisco.com/trex/release/v2.20.tar.gz"
DPDK_DOWNLOAD="http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip"
VIRTUAL_VENV="$INSTALL_BIN_PATH/yardstick_venv"
diff --git a/plugin/CI/storperf.yaml b/plugin/CI/storperf.yaml
index 65ebe51e1..7ac920aa7 100644
--- a/plugin/CI/storperf.yaml
+++ b/plugin/CI/storperf.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# StorPerf plugin configration file for huawei-pod1
# Used for integration StorPerf into Yardstick as a plugin
diff --git a/plugin/sample_config.yaml b/plugin/sample_config.yaml
index 39d04e3af..3e2f835f6 100644
--- a/plugin/sample_config.yaml
+++ b/plugin/sample_config.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample plugin configration file
diff --git a/plugin/storperf.yaml b/plugin/storperf.yaml
index 074a82067..66c618ae7 100644
--- a/plugin/storperf.yaml
+++ b/plugin/storperf.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# StorPerf plugin configration file
# Used for integration StorPerf into Yardstick as a plugin
diff --git a/requirements.txt b/requirements.txt
index d04824686..3549f85e7 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -44,7 +44,7 @@ oslo.config==3.9.0
oslo.i18n==3.4.0
oslo.serialization==2.4.0
oslo.utils==3.7.0
-paramiko==1.16.0
+paramiko==1.18.0
pbr==1.8.1
pep8==1.7.0
positional==1.0.1
diff --git a/samples/background-task.yaml b/samples/background-task.yaml
index 11cfdd567..397d75e94 100644
--- a/samples/background-task.yaml
+++ b/samples/background-task.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file
# Demonstrate use of background scenarios
diff --git a/samples/cachestat.yaml b/samples/cachestat.yaml
index d736793e3..2dc621be3 100644
--- a/samples/cachestat.yaml
+++ b/samples/cachestat.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# Reading cache hit/miss ratio and usage statistics
diff --git a/samples/computecapacity.yaml b/samples/computecapacity.yaml
index ae527d2ca..bf6a2ade7 100644
--- a/samples/computecapacity.yaml
+++ b/samples/computecapacity.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# compute capacity and scale.
diff --git a/samples/cpuload.yaml b/samples/cpuload.yaml
index 21d068205..0097f88ed 100644
--- a/samples/cpuload.yaml
+++ b/samples/cpuload.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file
# Reading processor load/statistics
diff --git a/samples/cyclictest-node-context.yaml b/samples/cyclictest-node-context.yaml
index d74d1e5e3..6f161a5e8 100644
--- a/samples/cyclictest-node-context.yaml
+++ b/samples/cyclictest-node-context.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# Measure system high resolution by using Cyclictest
diff --git a/samples/cyclictest.yaml b/samples/cyclictest.yaml
index eaf74893e..20cdab2ee 100644
--- a/samples/cyclictest.yaml
+++ b/samples/cyclictest.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# Measure system high resolution by using Cyclictest
diff --git a/samples/dummy-no-context.yaml b/samples/dummy-no-context.yaml
index 5ab97a3a8..7667e5a16 100644
--- a/samples/dummy-no-context.yaml
+++ b/samples/dummy-no-context.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
diff --git a/samples/dummy.yaml b/samples/dummy.yaml
index e41ab9fba..fde2907cd 100644
--- a/samples/dummy.yaml
+++ b/samples/dummy.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
diff --git a/samples/fio-template.yaml b/samples/fio-template.yaml
index 00c35ce23..2ac40306f 100644
--- a/samples/fio-template.yaml
+++ b/samples/fio-template.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure storage performance using fio
diff --git a/samples/fio.yaml b/samples/fio.yaml
index 5ccbc1954..b6e5a282f 100644
--- a/samples/fio.yaml
+++ b/samples/fio.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure storage performance using fio
diff --git a/samples/ha-baremetal.yaml b/samples/ha-baremetal.yaml
index 9f9baf50c..5ff0378ca 100755
--- a/samples/ha-baremetal.yaml
+++ b/samples/ha-baremetal.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample test case for ha
diff --git a/samples/ha-service.yaml b/samples/ha-service.yaml
index e624f531e..ee7c8f4ba 100755
--- a/samples/ha-service.yaml
+++ b/samples/ha-service.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample test case for ha
diff --git a/samples/iperf3-jitter.yaml b/samples/iperf3-jitter.yaml
index 366a57152..e3e4c9c9a 100644
--- a/samples/iperf3-jitter.yaml
+++ b/samples/iperf3-jitter.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure packet delay variation (jitter) using iperf3
diff --git a/samples/iperf3.yaml b/samples/iperf3.yaml
index 6741c767e..c3ae625c2 100644
--- a/samples/iperf3.yaml
+++ b/samples/iperf3.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file
# measure network throughput using iperf3
diff --git a/samples/lmbench.yaml b/samples/lmbench.yaml
index 595a393b7..ea2966b24 100644
--- a/samples/lmbench.yaml
+++ b/samples/lmbench.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 kristian.hunt@gmail.com 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
+##############################################################################
---
# Sample benchmark task config file
# measure memory read latency and memory bandwidth using lmbench
diff --git a/samples/lmbench_cache.yaml b/samples/lmbench_cache.yaml
index bf5086b3c..9dc58e94d 100644
--- a/samples/lmbench_cache.yaml
+++ b/samples/lmbench_cache.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure memory cache latency using lmbench
diff --git a/samples/memload.yaml b/samples/memload.yaml
index 5e988986a..bbc46da8d 100644
--- a/samples/memload.yaml
+++ b/samples/memload.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# Reading memory load/statistics
diff --git a/samples/netperf.yaml b/samples/netperf.yaml
index 0dd56348b..a3df3f4d3 100755
--- a/samples/netperf.yaml
+++ b/samples/netperf.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure network latency and throughput using netperf
diff --git a/samples/netperf_bottlenecks.yaml b/samples/netperf_bottlenecks.yaml
index 4b6348109..c20fe62d5 100644
--- a/samples/netperf_bottlenecks.yaml
+++ b/samples/netperf_bottlenecks.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# measure network latency and throughput using netperf
# This test case is suite for bottlenecks project.
diff --git a/samples/netperf_node.yaml b/samples/netperf_node.yaml
index d59bbf235..400400e2b 100755
--- a/samples/netperf_node.yaml
+++ b/samples/netperf_node.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure network latency and throughput using netperf
diff --git a/samples/netutilization.yaml b/samples/netutilization.yaml
index 794342d29..dd867eb89 100644
--- a/samples/netutilization.yaml
+++ b/samples/netutilization.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# Reading network interface utilization statistics
diff --git a/samples/networkcapacity.yaml b/samples/networkcapacity.yaml
index 7c62cc2b5..1432d3a2d 100644
--- a/samples/networkcapacity.yaml
+++ b/samples/networkcapacity.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# Measure compute capacity and scale.
diff --git a/samples/parser.yaml b/samples/parser.yaml
index 32d9abed1..e2e4b66ce 100644
--- a/samples/parser.yaml
+++ b/samples/parser.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample task config file
# running Parser Yang-to-Tosca module as a tool
diff --git a/samples/perf.yaml b/samples/perf.yaml
index b8979b511..96ca0d413 100644
--- a/samples/perf.yaml
+++ b/samples/perf.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 kristian.hunt@gmail.com 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
+##############################################################################
---
# Sample benchmark task config file
# use perf to perform Linux performance measurements
diff --git a/samples/ping-ext-ip.yaml b/samples/ping-ext-ip.yaml
index 3ce71e8a7..86cb799cd 100644
--- a/samples/ping-ext-ip.yaml
+++ b/samples/ping-ext-ip.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file
# Measure network latency using ping, destination is an external server
diff --git a/samples/ping-ext-stimuli.yaml b/samples/ping-ext-stimuli.yaml
index d7efe063f..5de528198 100644
--- a/samples/ping-ext-stimuli.yaml
+++ b/samples/ping-ext-stimuli.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file
# Measure network latency using ping, destination is an external server
diff --git a/samples/ping-heat-context.yaml b/samples/ping-heat-context.yaml
index 913912e50..dd22d58a7 100644
--- a/samples/ping-heat-context.yaml
+++ b/samples/ping-heat-context.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure network latency using ping
diff --git a/samples/ping-hot.yaml b/samples/ping-hot.yaml
index 1619a561f..418251809 100644
--- a/samples/ping-hot.yaml
+++ b/samples/ping-hot.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file to measure network latency using ping
# An external HOT template (file) is configured in the context section using
diff --git a/samples/ping-iteration.yaml b/samples/ping-iteration.yaml
index d399b399a..dea2396cf 100755
--- a/samples/ping-iteration.yaml
+++ b/samples/ping-iteration.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure network latency using ping
diff --git a/samples/ping-multiple-context.yaml b/samples/ping-multiple-context.yaml
index 71b7994ff..557b384f2 100644
--- a/samples/ping-multiple-context.yaml
+++ b/samples/ping-multiple-context.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file to measure network latency using ping
# Client/server parts are located in different contexts(stacks)
diff --git a/samples/ping-multiple-vm.yaml b/samples/ping-multiple-vm.yaml
index e8ebf495e..993c82f49 100644
--- a/samples/ping-multiple-vm.yaml
+++ b/samples/ping-multiple-vm.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file measure network latency using ping
# between mutiple virtual machines
diff --git a/samples/ping-node-context.yaml b/samples/ping-node-context.yaml
index f9c642e66..15a07ee50 100644
--- a/samples/ping-node-context.yaml
+++ b/samples/ping-node-context.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure network latency using ping
diff --git a/samples/ping-option-list.yaml b/samples/ping-option-list.yaml
index 1c31677ac..fa81fdac2 100644
--- a/samples/ping-option-list.yaml
+++ b/samples/ping-option-list.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 kristian.hunt@gmail.com 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
+##############################################################################
---
# Sample benchmark task config file
# A list of input values for a chosen parameter using Sequence runner
diff --git a/samples/ping-parallel.yaml b/samples/ping-parallel.yaml
index 5761543b4..0da57ec19 100644
--- a/samples/ping-parallel.yaml
+++ b/samples/ping-parallel.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file
# Two scenarios run in parallel using different type of runners
diff --git a/samples/ping-serial.yaml b/samples/ping-serial.yaml
index 59653db34..ab06167c7 100644
--- a/samples/ping-serial.yaml
+++ b/samples/ping-serial.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file
# Two scenarios run serially using different types of runners
diff --git a/samples/ping-template.yaml b/samples/ping-template.yaml
index 825dde285..fabee07bd 100644
--- a/samples/ping-template.yaml
+++ b/samples/ping-template.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure network latency using ping
diff --git a/samples/ping.yaml b/samples/ping.yaml
index 5e922ea56..b95c135eb 100644
--- a/samples/ping.yaml
+++ b/samples/ping.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file
# measure network latency using ping
diff --git a/samples/ping6.yaml b/samples/ping6.yaml
index 2fb99dfb4..bc7cb27a2 100644
--- a/samples/ping6.yaml
+++ b/samples/ping6.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample test case for ipv6
diff --git a/samples/ping6_odl.yaml b/samples/ping6_odl.yaml
index cfb556e51..d66353054 100644
--- a/samples/ping6_odl.yaml
+++ b/samples/ping6_odl.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample test case for ipv6
diff --git a/samples/ping_load.yaml b/samples/ping_load.yaml
index 370916822..805ae8f27 100644
--- a/samples/ping_load.yaml
+++ b/samples/ping_load.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# Three scenarios run in parallel pinging one target vm.
diff --git a/samples/pktgen.yaml b/samples/pktgen.yaml
index 6acb8ab92..13464a84d 100644
--- a/samples/pktgen.yaml
+++ b/samples/pktgen.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# Sample benchmark task config file
# measure network throughput using pktgen
diff --git a/samples/plugintest.yaml b/samples/plugintest.yaml
index dc3b29d63..684547853 100644
--- a/samples/plugintest.yaml
+++ b/samples/plugintest.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# Used for testing sample plugin
diff --git a/samples/ramspeed.yaml b/samples/ramspeed.yaml
index e754fc9fa..2b48b95e3 100644
--- a/samples/ramspeed.yaml
+++ b/samples/ramspeed.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure cache and memory bandwidth using Ramspeed
diff --git a/samples/serviceha.yaml b/samples/serviceha.yaml
index e624f531e..ee7c8f4ba 100755
--- a/samples/serviceha.yaml
+++ b/samples/serviceha.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample test case for ha
diff --git a/samples/sfc.yaml b/samples/sfc.yaml
index 07c59cbc2..8b1e89ffc 100644
--- a/samples/sfc.yaml
+++ b/samples/sfc.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
#SFC test case using Tacker as Orchestrator and Netvirt as classifier
schema: "yardstick:task:0.1"
diff --git a/samples/storagecapacity.yaml b/samples/storagecapacity.yaml
index e3b282d14..f05061133 100644
--- a/samples/storagecapacity.yaml
+++ b/samples/storagecapacity.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# Measure storage capacity and scale.
diff --git a/samples/storperf.yaml b/samples/storperf.yaml
index 815ef0d97..5848512ed 100644
--- a/samples/storperf.yaml
+++ b/samples/storperf.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample StorPerf benchmark task config file
# StorPerf is a tool to measure block and object storage performance in an NFVI
diff --git a/samples/test_suite.yaml b/samples/test_suite.yaml
index 1cb6d3ea0..9a766b06a 100644
--- a/samples/test_suite.yaml
+++ b/samples/test_suite.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 kristian.hunt@gmail.com 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
+##############################################################################
---
# Sample test suite file
# Test cases listed in the suite file should be in the tests/opnfv/test_cases directory
diff --git a/samples/tosca.yaml b/samples/tosca.yaml
index 21c789133..6b918ac66 100644
--- a/samples/tosca.yaml
+++ b/samples/tosca.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
tosca_definitions_version:tosca_simple_yaml_1_0_0
description:
This module defines a VNF Deployment Unit.
diff --git a/samples/unixbench.yaml b/samples/unixbench.yaml
index b7ab88190..71aa7b75d 100644
--- a/samples/unixbench.yaml
+++ b/samples/unixbench.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Sample benchmark task config file
# measure CPU performance
diff --git a/samples/yang.yaml b/samples/yang.yaml
index 86b7b2f31..3b1ce27dd 100644
--- a/samples/yang.yaml
+++ b/samples/yang.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
module clearwater {
namespace "http://localhost/ietf-inet-types.yang";
diff --git a/setup.py b/setup.py
index 315ab6793..2f2b5e540 100755
--- a/setup.py
+++ b/setup.py
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
from __future__ import absolute_import
from setuptools import setup, find_packages
diff --git a/tests/ci/load_images.sh b/tests/ci/load_images.sh
index 6f950ec72..e5a7ae034 100755
--- a/tests/ci/load_images.sh
+++ b/tests/ci/load_images.sh
@@ -15,6 +15,12 @@ set -e
YARD_IMG_ARCH=amd64
export YARD_IMG_ARCH
+HW_FW_TYPE=""
+if [ "${YARD_IMG_ARCH}" = "arm64" ]; then
+ HW_FW_TYPE=uefi
+fi
+export HW_FW_TYPE
+
if ! grep -q "Defaults env_keep += \"YARD_IMG_ARCH\"" "/etc/sudoers"; then
sudo echo "Defaults env_keep += \"YARD_IMG_ARCH YARDSTICK_REPO_DIR\"" >> /etc/sudoers
fi
@@ -25,10 +31,10 @@ if [ "$INSTALLER_TYPE" == "fuel" ]; then
fi
UCA_HOST="cloud-images.ubuntu.com"
-if [ $YARD_IMG_ARCH = "arm64" ]; then
- export VIVID_IMG_URL="http://${UCA_HOST}/vivid/current/vivid-server-cloudimg-arm64.tar.gz"
- if ! grep -q "Defaults env_keep += \"VIVID_IMG_URL\"" "/etc/sudoers"; then
- sudo echo "Defaults env_keep += \"VIVID_IMG_URL\"" >> /etc/sudoers
+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
+ sudo echo "Defaults env_keep += \"CLOUD_IMG_URL\"" >> /etc/sudoers
fi
fi
@@ -65,24 +71,24 @@ load_yardstick_image()
echo
echo "========== Loading yardstick cloud image =========="
EXTRA_PARAMS=""
- if [ $YARD_IMG_ARCH = "arm64" ]; then
- VIVID_IMAGE="/tmp/vivid-server-cloudimg-arm64.tar.gz"
- VIVID_KERNEL="/tmp/vivid-server-cloudimg-arm64-vmlinuz-generic"
+ if [[ "${YARD_IMG_ARCH}" = "arm64" && "${YARD_IMG_AKI}" = "true" ]]; then
+ CLOUD_IMAGE="/tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}.tar.gz"
+ CLOUD_KERNEL="/tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}-vmlinuz-generic"
cd /tmp
- if [ ! -f $VIVID_IMAGE ]; then
- wget $VIVID_IMG_URL
+ if [ ! -f "${CLOUD_IMAGE}" ]; then
+ wget $CLOUD_IMG_URL
fi
- if [ ! -f $VIVID_KERNEL ]; then
- tar zxf $VIVID_IMAGE $(basename $VIVID_KERNEL)
+ if [ ! -f "${CLOUD_KERNEL}" ]; then
+ tar zxf $CLOUD_IMAGE $(basename $CLOUD_KERNEL)
fi
- create_vivid_kernel=$(openstack image create \
+ create_kernel=$(openstack image create \
--public \
--disk-format qcow2 \
--container-format bare \
- --file $VIVID_KERNEL \
- yardstick-vivid-kernel)
+ --file $CLOUD_KERNEL \
+ yardstick-${release}-kernel)
- GLANCE_KERNEL_ID=$(echo "$create_vivid_kernel" | grep " id " | awk '{print $(NF-1)}')
+ GLANCE_KERNEL_ID=$(echo "$create_kernel" | grep " id " | awk '{print $(NF-1)}')
if [ -z "$GLANCE_KERNEL_ID" ]; then
echo 'Failed uploading kernel to cloud'.
exit 1
@@ -92,7 +98,7 @@ load_yardstick_image()
EXTRA_PARAMS="--property kernel_id=$GLANCE_KERNEL_ID --property os_command_line=\"$command_line\""
- rm -f $VIVID_KERNEL $VIVID_IMAGE
+ rm -f $CLOUD_KERNEL $CLOUD_IMAGE
cd $YARDSTICK_REPO_DIR
fi
@@ -101,6 +107,10 @@ load_yardstick_image()
EXTRA_PARAMS=$EXTRA_PARAMS" --property hw_mem_page_size=large"
fi
+ if [[ -n "${HW_FW_TYPE}" ]]; then
+ EXTRA_PARAMS=$EXTRA_PARAMS" --property hw_firmware_type=${HW_FW_TYPE}"
+ fi
+
if [[ "$DEPLOY_SCENARIO" == *"-lxd-"* ]]; then
output=$(eval openstack image create \
--public \
@@ -223,7 +233,7 @@ main()
build_yardstick_image
load_yardstick_image
- if [ $YARD_IMG_ARCH = "arm64" ]; then
+ if [ "${YARD_IMG_ARCH}" = "arm64" ]; then
sed -i 's/image: cirros-0.3.3/image: TestVM/g' tests/opnfv/test_cases/opnfv_yardstick_tc002.yaml \
samples/ping.yaml
#We have overlapping IP with the real network
diff --git a/tests/ci/report_config.yaml b/tests/ci/report_config.yaml
index 5346e608b..c8918bd0b 100644
--- a/tests/ci/report_config.yaml
+++ b/tests/ci/report_config.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
reporting:
-
name: apex
diff --git a/tests/ci/yardstick-verify b/tests/ci/yardstick-verify
index 575bdc821..2986c9f2f 100755
--- a/tests/ci/yardstick-verify
+++ b/tests/ci/yardstick-verify
@@ -34,6 +34,7 @@ OPTIONS:
-h Show this message
-r Http target (example: -r 213.77.62.197/results)
-i Influxdb target (example: -i 127.0.0.1:8086)
+ -m Reporting target (example: -m 213.77.62.197/results)
Default target is dump to file ($DISPATCHER_FILE_NAME)
@@ -44,8 +45,9 @@ DISPATCHER_TYPE=file
DISPATCHER_FILE_NAME="/tmp/yardstick.out"
DISPATCHER_HTTP_TARGET="http://testresults.opnfv.org/test/api/v1/results"
DISPATCHER_INFLUXDB_TARGET=
+REPORTING_TARGET="${DISPATCHER_HTTP_TARGET}"
-while getopts "r:i:h" OPTION; do
+while getopts "r:i:m:h" OPTION; do
case $OPTION in
h)
usage
@@ -61,6 +63,9 @@ while getopts "r:i:h" OPTION; do
DISPATCHER_INFLUXDB_TARGET=http://${OPTARG}
DISPATCHER_FILE_NAME=
;;
+ m)
+ REPORTING_TARGET=http://${OPTARG}
+ ;;
*)
echo "${OPTION} is not a valid argument"
exit 1
@@ -150,7 +155,7 @@ report(){
\"start_date\":\"${2}\",
\"stop_date\":\"${3}\",
\"details\":\"\"}" \
- "${DISPATCHER_HTTP_TARGET}"
+ "${REPORTING_TARGET}"
}
run_test()
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc001.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc001.yaml
index ceec6cf5e..57f9e958a 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc001.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc001.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc002.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc002.yaml
index 6830dcd72..21aa3ee7b 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc002.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc002.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 kristian.hunt@gmail.com 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc005.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc005.yaml
index 82e85dbd1..e77fd50a5 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc005.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc005.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc006.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc006.yaml
index 5dfb29b97..ec7314456 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc006.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc006.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc007.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc007.yaml
index 882b3cf9c..5f51e7adc 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc007.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc007.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc008.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc008.yaml
index 89986f7f1..a9802346b 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc008.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc008.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc009.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc009.yaml
index e18ca789d..c4e24c499 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc009.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc009.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc010.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc010.yaml
index ad344e58f..2ef3c54fb 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc010.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc010.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 kristian.hunt@gmail.com 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc011.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc011.yaml
index 5ff31ea9b..b826a7d5e 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc011.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc011.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc012.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc012.yaml
index 805f627c0..f995b2b52 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc012.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc012.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 kristian.hunt@gmail.com 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc014.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc014.yaml
index fc1446206..dd686a6b4 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc014.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc014.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml
index 5eb477943..ea36b7b38 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc020.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc020.yaml
index 3bcabaac6..fe89bf8ab 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc020.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc020.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc021.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc021.yaml
index 263663ebe..735699dab 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc021.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc021.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml
index 78cc5cb27..4a995fd5a 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc027.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc027.yaml
index 036b6e9fd..87846daa7 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc027.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc027.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml
index 0db490a15..6a64f0be8 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc038.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc038.yaml
index e6ba0c1a4..ba0f2f298 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc038.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc038.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc040.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc040.yaml
index c6094678e..7d3f36984 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc040.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc040.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc042.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc042.yaml
index c233acb2f..f46eb8473 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc042.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc042.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 ZTE corporation 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml
index 2546b6209..a253e6dab 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml
index c6dde5cc5..246967541 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 14_ykl@tongji.edu.cn 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml
index 786a1f9a1..397d05133 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 14_ykl@tongji.edu.cn 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml
index 3f2e8752e..ffae96b88 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 14_ykl@tongji.edu.cn 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml
index 32be5d976..7ebca4d99 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 14_ykl@tongji.edu.cn 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc049.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc049.yaml
index 66c154117..679e78265 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc049.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc049.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 14_ykl@tongji.edu.cn 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml
index 88100aa21..4bb995036 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 14_ykl@tongji.edu.cn 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc051.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc051.yaml
index 264f01b3c..e8cc81745 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc051.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc051.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 14_ykl@tongji.edu.cn 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml
index 4d3ae93f5..a95e5415b 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 14_ykl@tongji.edu.cn 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml
index 19b406aa6..ff479f9e1 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 14_ykl@tongji.edu.cn 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml
index 3f1b0171c..c87d3b9fe 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 14_ykl@tongji.edu.cn 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc055.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc055.yaml
index 405247f4e..3d733e719 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc055.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc055.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc063.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc063.yaml
index f1eb3c63e..6939c93ca 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc063.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc063.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc069.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc069.yaml
index a11337d4f..c55639a04 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc069.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc069.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc070.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc070.yaml
index c4ad715ec..f9d57c6c8 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc070.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc070.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc071.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc071.yaml
index 59bfc24bd..0911d8e68 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc071.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc071.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc072.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc072.yaml
index 10db287cf..ca3198448 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc072.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc072.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc073.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc073.yaml
index 99a0ffe81..9f4d3a021 100755
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc073.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc073.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc074.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc074.yaml
index 3fb3a05be..14604f844 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc074.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc074.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc075.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc075.yaml
index 1c1a7e4cd..07c2b8090 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc075.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc075.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
schema: "yardstick:task:0.1"
diff --git a/tests/opnfv/test_suites/fuel_test_suite.yaml b/tests/opnfv/test_suites/fuel_test_suite.yaml
index 016bf0953..3b74198fc 100644
--- a/tests/opnfv/test_suites/fuel_test_suite.yaml
+++ b/tests/opnfv/test_suites/fuel_test_suite.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Fuel integration test task suite
diff --git a/tests/opnfv/test_suites/opnfv_components.yaml b/tests/opnfv/test_suites/opnfv_components.yaml
index ff4923e03..fa9d77911 100644
--- a/tests/opnfv/test_suites/opnfv_components.yaml
+++ b/tests/opnfv/test_suites/opnfv_components.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Yardstick components task suite
diff --git a/tests/opnfv/test_suites/opnfv_features.yaml b/tests/opnfv/test_suites/opnfv_features.yaml
index 3621f1367..abbb07884 100644
--- a/tests/opnfv/test_suites/opnfv_features.yaml
+++ b/tests/opnfv/test_suites/opnfv_features.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Yardstick features task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-fdio-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-fdio-noha_daily.yaml
index 187e10988..ec0fd224c 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-fdio-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-fdio-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 jlinkes@cisco.com 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
+##############################################################################
---
# FDS suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm-ha_daily.yaml
index 29235b6f6..2f49f01fd 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-kvm-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm-noha_daily.yaml
index fd48cadb1..ab94442b5 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 mskalski@mirantis.com 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-kvm-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs-ha_daily.yaml
index b488505af..0d43ac3f7 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-kvm_ovs-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk-ha_daily.yaml
index 705ccaaa8..8736c4b47 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk-ha_daily.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
---
# os-nosdn-kvm_ovs_dpdk-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk-noha_daily.yaml
index c60ce56c8..1b2f47237 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk-noha_daily.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
---
# os-nosdn-kvm_ovs_dpdk-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk_bar-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk_bar-ha_daily.yaml
index eb3f95eff..23878626b 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk_bar-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk_bar-ha_daily.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
---
# os-nosdn-kvm_ovs_dpdk_bar-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk_bar-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk_bar-noha_daily.yaml
index 8d7ac7b01..f07f79026 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk_bar-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs_dpdk_bar-noha_daily.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
---
# os-nosdn-kvm_ovs_dpdk_bar-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-lxd-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-lxd-ha_daily.yaml
index 01591b9d2..aa9d96091 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-lxd-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-lxd-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-lxd-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-lxd-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-lxd-noha_daily.yaml
index e1f945b9c..ba066f06b 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-lxd-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-lxd-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-lxd-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-ha_daily.yaml
index 44c8494d1..97c234e45 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-nofeature-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-noha_daily.yaml
index e85a9788f..db3324703 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-nofeature-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-ovs-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-ovs-ha_daily.yaml
index a61d8242c..d87abbea9 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-ovs-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-ovs-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-ovs-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-ovs-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-ovs-noha_daily.yaml
index 6c91a3337..9869d1bd5 100644
--- a/tests/opnfv/test_suites/opnfv_os-nosdn-ovs-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-nosdn-ovs-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 mskalski@mirantis.com 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-ovs-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-ocl-nofeature-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-ocl-nofeature-ha_daily.yaml
index 9ea030a40..47432d2d2 100644
--- a/tests/opnfv/test_suites/opnfv_os-ocl-nofeature-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-ocl-nofeature-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-ocl-nofeature-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-ocl-nofeature-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-ocl-nofeature-noha_daily.yaml
index e2f07650c..2a7bf77e0 100644
--- a/tests/opnfv/test_suites/opnfv_os-ocl-nofeature-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-ocl-nofeature-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-ocl-nofeature-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-ha_daily.yaml
index cd9c29268..7ce6f10cc 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-odl_l2-bgpvpn-ha daily task suite
@@ -14,3 +22,7 @@ test_cases:
task_args:
ericsson-pod2: '{"pod_info": "etc/yardstick/nodes/fuel_baremetal/pod.yaml",
"host": "node1.LF","target": "node2.LF"}'
+-
+ file_name: opnfv_yardstick_tc002.yaml
+-
+ file_name: opnfv_yardstick_tc005.yaml
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-noha_daily.yaml
index 0d4113e59..24791e23e 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 mskalski@mirantis.com 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-odl_l2-bgpvpn-noha daily task suite
@@ -14,3 +22,7 @@ test_cases:
task_args:
ericsson-pod2: '{"pod_info": "etc/yardstick/nodes/fuel_baremetal/pod.yaml",
"host": "node1.LF","target": "node2.LF"}'
+-
+ file_name: opnfv_yardstick_tc002.yaml
+-
+ file_name: opnfv_yardstick_tc005.yaml
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-fdio-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-fdio-ha_daily.yaml
index 2d7397a96..b1a889823 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l2-fdio-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l2-fdio-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-odl_l2-fdio-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-fdio-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-fdio-noha_daily.yaml
index 3b7fe80e5..7172979c7 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l2-fdio-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l2-fdio-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 jlinkes@cisco.com 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
+##############################################################################
---
# FDS suite
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-moon-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-moon-ha_daily.yaml
index 4a775b5bf..3d8074a42 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l2-moon-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l2-moon-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-odl_l2-moon-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-ha_daily.yaml
index 35358bcfe..bc38f1615 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-odl_l2-nofeature-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-noha_daily.yaml
index dc8b2efd0..249da0e7e 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-odl_l2-nofeature-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-ha_daily.yaml
index 1899d407a..a8172e405 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-odl_l2-sfc-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-noha_daily.yaml
index 33f24e332..3504e9da8 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-odl_l2-sfc-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-ha_daily.yaml
index 97094bf32..14d6b6f1b 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-odl_l3-nofeature-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-noha_daily.yaml
index 2796dca05..a7a2cfd9e 100644
--- a/tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 mskalski@mirantis.com 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-odl_l3-nofeature-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-onos-nofeature-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-onos-nofeature-ha_daily.yaml
index 777565ae5..9c5d23c8c 100644
--- a/tests/opnfv/test_suites/opnfv_os-onos-nofeature-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-onos-nofeature-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-onos-nofeature-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-onos-nofeature-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-onos-nofeature-noha_daily.yaml
index e6745613b..1e37e1042 100644
--- a/tests/opnfv/test_suites/opnfv_os-onos-nofeature-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-onos-nofeature-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-onos-nofeature-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-onos-sfc-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-onos-sfc-ha_daily.yaml
index aada4b450..57cab2311 100644
--- a/tests/opnfv/test_suites/opnfv_os-onos-sfc-ha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-onos-sfc-ha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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-onos-sfc-ha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_os-onos-sfc-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-onos-sfc-noha_daily.yaml
index a4e7c823f..77a370a4b 100644
--- a/tests/opnfv/test_suites/opnfv_os-onos-sfc-noha_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_os-onos-sfc-noha_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 mskalski@mirantis.com 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-onos-sfc-noha daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_performance.yaml b/tests/opnfv/test_suites/opnfv_performance.yaml
index 71b1e2ef9..c35a52f9c 100644
--- a/tests/opnfv/test_suites/opnfv_performance.yaml
+++ b/tests/opnfv/test_suites/opnfv_performance.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Yardstick performance task suite
diff --git a/tests/opnfv/test_suites/opnfv_playground_daily.yaml b/tests/opnfv/test_suites/opnfv_playground_daily.yaml
index 66f2f8d98..256573540 100644
--- a/tests/opnfv/test_suites/opnfv_playground_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_playground_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# ERICSSON POD1 daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_plugfest.yaml b/tests/opnfv/test_suites/opnfv_plugfest.yaml
index fde0e831b..fb6514c4b 100644
--- a/tests/opnfv/test_suites/opnfv_plugfest.yaml
+++ b/tests/opnfv/test_suites/opnfv_plugfest.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Plugfest task suite
diff --git a/tests/opnfv/test_suites/opnfv_smoke.yaml b/tests/opnfv/test_suites/opnfv_smoke.yaml
index f773bec87..3fca2c44a 100644
--- a/tests/opnfv/test_suites/opnfv_smoke.yaml
+++ b/tests/opnfv/test_suites/opnfv_smoke.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Yardstick smoke task suite
diff --git a/tests/opnfv/test_suites/opnfv_vTC_daily.yaml b/tests/opnfv/test_suites/opnfv_vTC_daily.yaml
index 37738b423..f7efe51fb 100644
--- a/tests/opnfv/test_suites/opnfv_vTC_daily.yaml
+++ b/tests/opnfv/test_suites/opnfv_vTC_daily.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# ERICSSON POD1 VTC daily task suite
diff --git a/tests/opnfv/test_suites/opnfv_vTC_weekly.yaml b/tests/opnfv/test_suites/opnfv_vTC_weekly.yaml
index 216648d6f..04f607ed4 100644
--- a/tests/opnfv/test_suites/opnfv_vTC_weekly.yaml
+++ b/tests/opnfv/test_suites/opnfv_vTC_weekly.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
---
# ERICSSON POD1 VTC weekly task suite
diff --git a/tests/unit/apiserver/resources/test_env_action.py b/tests/unit/apiserver/resources/test_env_action.py
index 0411a66c4..c7ae10a20 100644
--- a/tests/unit/apiserver/resources/test_env_action.py
+++ b/tests/unit/apiserver/resources/test_env_action.py
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
from __future__ import absolute_import
import time
diff --git a/tests/unit/benchmark/contexts/nodes_duplicate_sample.yaml b/tests/unit/benchmark/contexts/nodes_duplicate_sample.yaml
index cdb5138c2..dbdd3700d 100644
--- a/tests/unit/benchmark/contexts/nodes_duplicate_sample.yaml
+++ b/tests/unit/benchmark/contexts/nodes_duplicate_sample.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
nodes:
-
name: node1
diff --git a/tests/unit/benchmark/contexts/nodes_sample.yaml b/tests/unit/benchmark/contexts/nodes_sample.yaml
index 59b5bb9fe..8d50c3aea 100644
--- a/tests/unit/benchmark/contexts/nodes_sample.yaml
+++ b/tests/unit/benchmark/contexts/nodes_sample.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
nodes:
-
name: node1
diff --git a/tests/unit/benchmark/contexts/test_heat.py b/tests/unit/benchmark/contexts/test_heat.py
index f8f349205..8f4852ca8 100644
--- a/tests/unit/benchmark/contexts/test_heat.py
+++ b/tests/unit/benchmark/contexts/test_heat.py
@@ -39,6 +39,7 @@ class HeatContextTestCase(unittest.TestCase):
self.assertEqual(self.test_context.networks, [])
self.assertEqual(self.test_context.servers, [])
self.assertEqual(self.test_context.placement_groups, [])
+ self.assertEqual(self.test_context.server_groups, [])
self.assertIsNone(self.test_context.keypair_name)
self.assertIsNone(self.test_context.secgroup_name)
self.assertEqual(self.test_context._server_map, {})
@@ -51,15 +52,18 @@ class HeatContextTestCase(unittest.TestCase):
self.assertIsNotNone(self.test_context.key_filename)
@mock.patch('yardstick.benchmark.contexts.heat.PlacementGroup')
+ @mock.patch('yardstick.benchmark.contexts.heat.ServerGroup')
@mock.patch('yardstick.benchmark.contexts.heat.Network')
@mock.patch('yardstick.benchmark.contexts.heat.Server')
- def test_init(self, mock_server, mock_network, mock_pg):
+ def test_init(self, mock_server, mock_network, mock_sg, mock_pg):
pgs = {'pgrp1': {'policy': 'availability'}}
+ sgs = {'servergroup1': {'policy': 'affinity'}}
networks = {'bar': {'cidr': '10.0.1.0/24'}}
servers = {'baz': {'floating_ip': True, 'placement': 'pgrp1'}}
attrs = {'name': 'foo',
'placement_groups': pgs,
+ 'server_groups': sgs,
'networks': networks,
'servers': servers}
@@ -71,7 +75,10 @@ class HeatContextTestCase(unittest.TestCase):
mock_pg.assert_called_with('pgrp1', self.test_context,
pgs['pgrp1']['policy'])
+ mock_sg.assert_called_with('servergroup1', self.test_context,
+ sgs['servergroup1']['policy'])
self.assertTrue(len(self.test_context.placement_groups) == 1)
+ self.assertTrue(len(self.test_context.server_groups) == 1)
mock_network.assert_called_with(
'bar', self.test_context, networks['bar'])
diff --git a/tests/unit/benchmark/contexts/test_model.py b/tests/unit/benchmark/contexts/test_model.py
index 537a8c008..a4b7d81ef 100644
--- a/tests/unit/benchmark/contexts/test_model.py
+++ b/tests/unit/benchmark/contexts/test_model.py
@@ -180,6 +180,7 @@ class ServerTestCase(unittest.TestCase):
self.assertEqual(test_server.keypair_name, 'some-keys')
self.assertEqual(test_server.secgroup_name, 'some-secgroup')
self.assertEqual(test_server.placement_groups, [])
+ self.assertIsNone(test_server.server_group)
self.assertEqual(test_server.instances, 1)
self.assertIsNone(test_server.floating_ip)
self.assertIsNone(test_server._image)
@@ -195,6 +196,15 @@ class ServerTestCase(unittest.TestCase):
self.assertRaises(ValueError, model.Server, 'foo',
self.mock_context, attrs)
+ @mock.patch('yardstick.benchmark.contexts.model.PlacementGroup')
+ def test_construct_get_wrong_server_group(self, mock_sg):
+
+ attrs = {'server_group': 'baz'}
+ mock_sg.get.return_value = None
+
+ self.assertRaises(ValueError, model.Server, 'foo',
+ self.mock_context, attrs)
+
@mock.patch('yardstick.benchmark.contexts.heat.HeatTemplate')
def test__add_instance(self, mock_template):
diff --git a/tests/unit/benchmark/core/no_constraint_no_args_scenario_sample.yaml b/tests/unit/benchmark/core/no_constraint_no_args_scenario_sample.yaml
index 4933b93ae..44c4a31ff 100644
--- a/tests/unit/benchmark/core/no_constraint_no_args_scenario_sample.yaml
+++ b/tests/unit/benchmark/core/no_constraint_no_args_scenario_sample.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Huawei US bare daily task suite
diff --git a/tests/unit/benchmark/core/no_constraint_with_args_scenario_sample.yaml b/tests/unit/benchmark/core/no_constraint_with_args_scenario_sample.yaml
index f39df7346..ced13f19e 100644
--- a/tests/unit/benchmark/core/no_constraint_with_args_scenario_sample.yaml
+++ b/tests/unit/benchmark/core/no_constraint_with_args_scenario_sample.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Huawei US bare daily task suite
diff --git a/tests/unit/benchmark/core/with_constraint_no_args_scenario_sample.yaml b/tests/unit/benchmark/core/with_constraint_no_args_scenario_sample.yaml
index 8194a2361..168d4b01a 100644
--- a/tests/unit/benchmark/core/with_constraint_no_args_scenario_sample.yaml
+++ b/tests/unit/benchmark/core/with_constraint_no_args_scenario_sample.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Huawei US bare daily task suite
diff --git a/tests/unit/benchmark/core/with_constraint_with_args_scenario_sample.yaml b/tests/unit/benchmark/core/with_constraint_with_args_scenario_sample.yaml
index 86c9b2800..299e5de56 100644
--- a/tests/unit/benchmark/core/with_constraint_with_args_scenario_sample.yaml
+++ b/tests/unit/benchmark/core/with_constraint_with_args_scenario_sample.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# Huawei US bare daily task suite
diff --git a/tests/unit/cmd/commands/test_testcase.py b/tests/unit/cmd/commands/test_testcase.py
index 515784352..7ef157c19 100644
--- a/tests/unit/cmd/commands/test_testcase.py
+++ b/tests/unit/cmd/commands/test_testcase.py
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
import unittest
from mock import patch
diff --git a/tests/unit/cmd/test_NSBperf.py b/tests/unit/cmd/test_NSBperf.py
index a14c08464..5bd248a84 100644
--- a/tests/unit/cmd/test_NSBperf.py
+++ b/tests/unit/cmd/test_NSBperf.py
@@ -40,7 +40,8 @@ class TestYardstickNSCli(unittest.TestCase):
def test_generate_final_report(self):
yardstick_ns_cli = YardstickNSCli()
test_case = "tc_baremetal_rfc2544_ipv4_1flow_1518B.yaml"
- subprocess.call(["touch", "/tmp/yardstick.out"])
+ if os.path.isfile("/tmp/yardstick.out"):
+ os.remove('/tmp/yardstick.out')
self.assertIsNone(yardstick_ns_cli.generate_final_report(test_case))
def test_generate_kpi_results(self):
diff --git a/tests/unit/common/config_sample.yaml b/tests/unit/common/config_sample.yaml
index 8caa19ec6..09218cc79 100644
--- a/tests/unit/common/config_sample.yaml
+++ b/tests/unit/common/config_sample.yaml
@@ -1,2 +1,10 @@
+##############################################################################
+# 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
+##############################################################################
releng:
dir: /home/opnfv/repos/releng
diff --git a/tests/unit/common/test_openstack_utils.py b/tests/unit/common/test_openstack_utils.py
index d610e181c..b3dc2d9c4 100644
--- a/tests/unit/common/test_openstack_utils.py
+++ b/tests/unit/common/test_openstack_utils.py
@@ -22,21 +22,25 @@ class GetCredentialsTestCase(unittest.TestCase):
@mock.patch('yardstick.common.openstack_utils.os')
def test_get_credentials(self, mock_os):
- mock_os.getenv.return_value = ('2')
- openstack_utils.get_credentials()
+ with mock.patch.dict('os.environ', {'OS_IDENTITY_API_VERSION': '2'},
+ clear=True):
+ openstack_utils.get_credentials()
class GetHeatApiVersionTestCase(unittest.TestCase):
- @mock.patch('yardstick.common.openstack_utils.os')
- def test_get_heat_api_version(self, mock_os):
+ def test_get_heat_api_version_check_result(self):
API = 'HEAT_API_VERSION'
- openstack_utils.get_heat_api_version()
- mock_os.getenv.assert_called_with(API)
-
- @mock.patch('yardstick.common.openstack_utils.os')
- def test_get_heat_api_version(self, mock_os):
- mock_os.getenv.return_value = ('2')
expected_result = '2'
- api_version = openstack_utils.get_heat_api_version()
- self.assertEqual(api_version, expected_result)
+
+ with mock.patch.dict('os.environ', {API: '2'}, clear=True):
+ api_version = openstack_utils.get_heat_api_version()
+ self.assertEqual(api_version, expected_result)
+
+
+def main():
+ unittest.main()
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tests/unit/dispatcher/test_influxdb.py b/tests/unit/dispatcher/test_influxdb.py
index b84389e7e..0c7b58135 100644
--- a/tests/unit/dispatcher/test_influxdb.py
+++ b/tests/unit/dispatcher/test_influxdb.py
@@ -90,19 +90,21 @@ class InfluxdbDispatcherTestCase(unittest.TestCase):
}
}
+ self.yardstick_conf = {'yardstick': {}}
+
def test_record_result_data_no_target(self):
- influxdb = InfluxdbDispatcher(None)
+ influxdb = InfluxdbDispatcher(None, self.yardstick_conf)
influxdb.target = ''
self.assertEqual(influxdb.record_result_data(self.data1), -1)
def test_record_result_data_no_case_name(self):
- influxdb = InfluxdbDispatcher(None)
+ influxdb = InfluxdbDispatcher(None, self.yardstick_conf)
self.assertEqual(influxdb.record_result_data(self.data2), -1)
@mock.patch('yardstick.dispatcher.influxdb.requests')
def test_record_result_data(self, mock_requests):
type(mock_requests.post.return_value).status_code = 204
- influxdb = InfluxdbDispatcher(None)
+ influxdb = InfluxdbDispatcher(None, self.yardstick_conf)
self.assertEqual(influxdb.record_result_data(self.data1), 0)
self.assertEqual(influxdb.record_result_data(self.data2), 0)
self.assertEqual(influxdb.flush_result_data(), 0)
@@ -112,7 +114,7 @@ class InfluxdbDispatcherTestCase(unittest.TestCase):
'mpstat.cpu0.%idle=99.00,mpstat.cpu0.%sys=0.00'
# need to sort for assert to work
line = ",".join(sorted(line.split(',')))
- influxdb = InfluxdbDispatcher(None)
+ influxdb = InfluxdbDispatcher(None, self.yardstick_conf)
flattened_data = influxdb._dict_key_flatten(
self.data3['benchmark']['data'])
result = ",".join(
@@ -120,7 +122,7 @@ class InfluxdbDispatcherTestCase(unittest.TestCase):
self.assertEqual(result, line)
def test__get_nano_timestamp(self):
- influxdb = InfluxdbDispatcher(None)
+ influxdb = InfluxdbDispatcher(None, self.yardstick_conf)
results = {'benchmark': {'timestamp': '1451461248.925574'}}
self.assertEqual(influxdb._get_nano_timestamp(results),
'1451461248925574144')
@@ -128,7 +130,7 @@ class InfluxdbDispatcherTestCase(unittest.TestCase):
@mock.patch('yardstick.dispatcher.influxdb.time')
def test__get_nano_timestamp_except(self, mock_time):
results = {}
- influxdb = InfluxdbDispatcher(None)
+ influxdb = InfluxdbDispatcher(None, self.yardstick_conf)
mock_time.time.return_value = 1451461248.925574
self.assertEqual(influxdb._get_nano_timestamp(results),
'1451461248925574144')
diff --git a/tests/unit/dispatcher/test_influxdb_line_protocol.py b/tests/unit/dispatcher/test_influxdb_line_protocol.py
index debb1994a..51dc39e3c 100644
--- a/tests/unit/dispatcher/test_influxdb_line_protocol.py
+++ b/tests/unit/dispatcher/test_influxdb_line_protocol.py
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
# Unittest for yardstick.dispatcher.influxdb_line_protocol
# yardstick comment: this file is a modified copy of
diff --git a/tools/dpdk_install.yml b/tools/dpdk_install.yml
index 12c83e144..6216713f4 100644
--- a/tools/dpdk_install.yml
+++ b/tools/dpdk_install.yml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 ZTE corporation 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
+##############################################################################
heat_template_version: 2015-04-30
description: >
diff --git a/tools/ubuntu-server-cloudimg-modify.sh b/tools/ubuntu-server-cloudimg-modify.sh
index c0ae774ef..ce320a205 100755
--- a/tools/ubuntu-server-cloudimg-modify.sh
+++ b/tools/ubuntu-server-cloudimg-modify.sh
@@ -25,8 +25,8 @@ fi
# iperf3 only available for trusty in backports
if [ grep -q trusty /etc/apt/sources.list ]; then
- if [ $YARD_IMG_ARCH = "arm64" ]; then
- echo "deb [arch=arm64] http://ports.ubuntu.com/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
+ 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
echo "deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
fi
@@ -46,11 +46,11 @@ chpasswd: { expire: False }
ssh_pwauth: True
EOF
apt-get update
-if [ $YARD_IMG_ARCH = "arm64" ]; then
-apt-get install -y \
- linux-headers-$(echo $VIVID_KERNEL_VERSION | cut -d'-' -f3,4,5) \
- unzip
-#resize root parition (/dev/vdb1) It is supposed to be default but the image is booted differently for arm64
+if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then
+ apt-get install -y \
+ 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
#cloud-config
bootcmd:
@@ -76,7 +76,7 @@ apt-get install -y \
stress \
sysstat
-if [ $YARD_IMG_ARCH = "arm64" ]; then
+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
@@ -88,7 +88,7 @@ else
fi
make --directory /opt/tempT/UnixBench/
-if [ $YARD_IMG_ARCH = "arm64" ]; then
+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
@@ -100,7 +100,7 @@ cd /opt/tempT/RAMspeed/ramspeed-2.6.0
mkdir temp
bash build.sh
-if [ $YARD_IMG_ARCH = "arm64" ]; then
+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
diff --git a/tools/yardstick-img-dpdk-finalize.sh b/tools/yardstick-img-dpdk-finalize.sh
index 7a450e269..d8214d52f 100644
--- a/tools/yardstick-img-dpdk-finalize.sh
+++ b/tools/yardstick-img-dpdk-finalize.sh
@@ -1,4 +1,13 @@
#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 ZTE corporation 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
+##############################################################################
+
# installs dpdk and pktgen packages on modified image
diff --git a/tools/yardstick-img-modify b/tools/yardstick-img-modify
index 68ce6e223..da8e1c92f 100755
--- a/tools/yardstick-img-modify
+++ b/tools/yardstick-img-modify
@@ -23,7 +23,6 @@
#
# TODO: image resize is needed if the base image is too small
#
-
set -e
set -x
@@ -42,15 +41,23 @@ mountdir="/mnt/yardstick"
workspace=${WORKSPACE:-"/tmp/workspace/yardstick"}
host=${HOST:-"cloud-images.ubuntu.com"}
release=${RELEASE:-"xenial"}
-image_path="${release}/current/${release}-server-cloudimg-${YARD_IMG_ARCH}-disk1.img"
+boot_mode="disk1"
+if [[ "${YARD_IMG_ARCH}" = "arm64" ]]; then
+ boot_mode="uefi1"
+fi
+
+image_path="${release}/current/${release}-server-cloudimg-${YARD_IMG_ARCH}-${boot_mode}.img"
image_url=${IMAGE_URL:-"https://${host}/${image_path}"}
md5sums_path="${release}/current/MD5SUMS"
md5sums_url=${MD5SUMS_URL:-"https://${host}/${md5sums_path}"}
imgfile="${workspace}/yardstick-image.img"
-raw_imgfile="${workspace}/yardstick-${release}-server.raw"
+raw_imgfile_basename="yardstick-${release}-server.raw"
+raw_imgfile="${workspace}/${raw_imgfile_basename}"
filename=$(basename $image_url)
+apt-get install -y parted
+
# download and checksum base image, conditionally if local copy is outdated
download() {
test -d $workspace || mkdir -p $workspace
@@ -69,24 +76,25 @@ download() {
[ -a /dev/loop$i ] || mknod -m 660 /dev/loop$i b 7 $i
done
- if [ $YARD_IMG_ARCH = "arm64" ]; then
+ if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then
cd /tmp
- if [ ! -f /tmp/vivid-server-cloudimg-arm64-kernel-info.txt ]; then
- wget http://cloud-images.ubuntu.com/vivid/current/vivid-server-cloudimg-arm64-kernel-info.txt
+ if [ ! -f /tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}-kernel-info.txt ]; then
+ wget http://${host}/${release}/current/${release}-server-cloudimg-${YARD_IMG_ARCH}-kernel-info.txt
fi
- export VIVID_KERNEL_VERSION=$(cut -d$'\t' -f4 vivid-server-cloudimg-arm64-kernel-info.txt)
- mkdir -p /tmp/vivid-modules
- if [ ! -f "/tmp/vivid-server-cloudimg-arm64.tar.gz" ]; then
- wget $VIVID_IMG_URL
+ export CLOUD_KERNEL_VERSION=$(cut -d$'\t' -f4 ${release}-server-cloudimg-${YARD_IMG_ARCH}-kernel-info.txt)
+
+ mkdir -p /tmp/${release}-modules
+ if [ ! -f "/tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}.tar.gz" ]; then
+ wget $CLOUD_IMG_URL
fi
- if [ ! -f "/tmp/vivid-server-cloudimg-arm64.img" ]; then
- tar zxvf vivid-server-cloudimg-arm64.tar.gz vivid-server-cloudimg-arm64.img
+ if [ ! -f "/tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}.img" ]; then
+ tar zxvf ${release}-server-cloudimg-${YARD_IMG_ARCH}.tar.gz ${release}-server-cloudimg-${YARD_IMG_ARCH}.img
fi
- mkdir -p /mnt/vivid
- mount /tmp/vivid-server-cloudimg-arm64.img /mnt/vivid
- cp -r /mnt/vivid/lib/modules/$(echo $VIVID_KERNEL_VERSION | cut -d'-' -f3,4,5) /tmp/vivid-modules
- umount /mnt/vivid
- rm /tmp/vivid-server-cloudimg-arm64.img
+ mkdir -p /mnt/${release}
+ mount /tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}.img /mnt/${release}
+ cp -r /mnt/${release}/lib/modules/$(echo $CLOUD_KERNEL_VERSION) /tmp/${release}-modules
+ umount /mnt/${release}
+ rm /tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}.img
cd $workspace
fi
qemu-img convert $filename $raw_imgfile
@@ -96,27 +104,32 @@ download() {
# mount image
setup() {
# qemu-img resize $raw_imgfile +5GB
- if [ $YARD_IMG_ARCH = "arm64" ]; then
- echo -e "d\nn\np\n1\n\n\nw" | fdisk $raw_imgfile
+ if [ "${YARD_IMG_ARCH}" = "arm64" ]; then
+ echo -e "d\nn\np\n1\n\n\nw" | parted -l $raw_imgfile
fi
mkdir -p $mountdir
- loopdevice=$(kpartx -l $raw_imgfile | head -1 | cut -f1 -d ' ')
+ #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 ' ')
+
+ kpartx -av $raw_imgfile_basename
+ cd -
- kpartx -av $raw_imgfile
- if [ $YARD_IMG_ARCH = "arm64" ]; then
+ if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then
e2fsck -p -f /dev/mapper/$loopdevice
resize2fs /dev/mapper/$loopdevice
fi
# for trouble shooting
sleep 2
dmsetup ls
- fdisk -l /dev/${loopdevice:0:5} || true
+ parted -l /dev/${loopdevice:0:5} || true
mount /dev/mapper/$loopdevice $mountdir
mount -t proc none $mountdir/proc
- if [ $YARD_IMG_ARCH = "arm64" ]; then
- cp -r /tmp/vivid-modules/$(echo $VIVID_KERNEL_VERSION | cut -d'-' -f3,4,5) "$mountdir/lib/modules"
+ if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then
+ cp -r /tmp/${release}-modules/$(echo $CLOUD_KERNEL_VERSION) "$mountdir/lib/modules"
cp $(which "qemu-aarch64-static") "$mountdir/usr/bin"
fi
cp $cmd $mountdir/$(basename $cmd)
@@ -151,9 +164,9 @@ cleanup() {
# designed to be idempotent
mount | grep $mountdir/proc && umount $mountdir/proc
mount | grep $mountdir && umount $mountdir
- mount | grep "/mnt/vivid" && umount "/mnt/vivid"
+ mount | grep "/mnt/${release}" && umount "/mnt/${release}"
- if [ -f $raw_imgfile ]; then
+ if [ -f "${raw_imgfile}" ]; then
#kpartx -dv $raw_imgfile sometimes failed, we should checked it agein.
#if [ -z "$(kpartx -l $raw_imgfile | grep 'loop deleted')" ]; then
# kpartx -dv $raw_imgfile
diff --git a/vTC/build.sh b/vTC/build.sh
index aa4e46328..7df97b799 100644
--- a/vTC/build.sh
+++ b/vTC/build.sh
@@ -1,3 +1,12 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 akis.kourtis@iit.demokritos.gr 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
+##############################################################################
#!/bin/sh
# Jira No.137
diff --git a/yardstick/__init__.py b/yardstick/__init__.py
index 1ad6eb0b1..e19be36fd 100644
--- a/yardstick/__init__.py
+++ b/yardstick/__init__.py
@@ -35,19 +35,18 @@ LOG = logging.getLogger(__name__)
def _init_logging():
- _LOG_STREAM_HDLR.setFormatter(_LOG_FORMATTER)
+ LOG.setLevel(logging.DEBUG)
+ _LOG_STREAM_HDLR.setFormatter(_LOG_FORMATTER)
+ if os.environ.get('CI_DEBUG', '').lower() in {'1', 'y', "yes", "true"}:
+ _LOG_STREAM_HDLR.setLevel(logging.DEBUG)
+ else:
+ _LOG_STREAM_HDLR.setLevel(logging.INFO)
# don't append to log file, clobber
_LOG_FILE_HDLR.setFormatter(_LOG_FORMATTER)
- # set log file to store debug info
_LOG_FILE_HDLR.setLevel(logging.DEBUG)
del logging.root.handlers[:]
logging.root.addHandler(_LOG_STREAM_HDLR)
logging.root.addHandler(_LOG_FILE_HDLR)
logging.debug("logging.root.handlers = %s", logging.root.handlers)
-
- if os.environ.get('CI_DEBUG', '').lower() in {'1', 1, 'y', "yes", "true"}:
- LOG.setLevel(logging.DEBUG)
- else:
- LOG.setLevel(logging.INFO)
diff --git a/yardstick/benchmark/contexts/base.py b/yardstick/benchmark/contexts/base.py
index 9f2b21537..0be2eee77 100644
--- a/yardstick/benchmark/contexts/base.py
+++ b/yardstick/benchmark/contexts/base.py
@@ -46,6 +46,10 @@ class Context(object):
@abc.abstractmethod
def undeploy(self):
"""Undeploy context."""
+ self._delete_context()
+
+ def _delete_context(self):
+ Context.list.remove(self)
@abc.abstractmethod
def _get_server(self, attr_name):
diff --git a/yardstick/benchmark/contexts/dummy.py b/yardstick/benchmark/contexts/dummy.py
index 0edc250f8..c658d3257 100644
--- a/yardstick/benchmark/contexts/dummy.py
+++ b/yardstick/benchmark/contexts/dummy.py
@@ -33,7 +33,7 @@ class DummyContext(Context):
def undeploy(self):
"""don't need to undeploy"""
- pass
+ super(DummyContext, self).undeploy()
def _get_server(self, attr_name):
return None
diff --git a/yardstick/benchmark/contexts/heat.py b/yardstick/benchmark/contexts/heat.py
index 4ca44b0ed..571a769eb 100644
--- a/yardstick/benchmark/contexts/heat.py
+++ b/yardstick/benchmark/contexts/heat.py
@@ -21,7 +21,7 @@ import pkg_resources
from yardstick.benchmark.contexts.base import Context
from yardstick.benchmark.contexts.model import Network
-from yardstick.benchmark.contexts.model import PlacementGroup
+from yardstick.benchmark.contexts.model import PlacementGroup, ServerGroup
from yardstick.benchmark.contexts.model import Server
from yardstick.benchmark.contexts.model import update_scheduler_hints
from yardstick.orchestrator.heat import HeatTemplate, get_short_key_uuid
@@ -41,6 +41,7 @@ class HeatContext(Context):
self.networks = []
self.servers = []
self.placement_groups = []
+ self.server_groups = []
self.keypair_name = None
self.secgroup_name = None
self._server_map = {}
@@ -57,35 +58,46 @@ class HeatContext(Context):
get_short_key_uuid(self.key_uuid)])
super(HeatContext, self).__init__()
- def init(self, attrs):
+ def assign_external_network(self, networks):
+ sorted_networks = sorted(networks.items())
+ external_network = os.environ.get("EXTERNAL_NETWORK", "net04_ext")
+ have_external_network = [(name, net)
+ for name, net in sorted_networks if
+ net.get("external_network")]
+ # no external net defined, assign it to first network usig os.environ
+ if sorted_networks and not have_external_network:
+ sorted_networks[0][1]["external_network"] = external_network
+
+ def init(self, attrs): # pragma: no cover
"""initializes itself from the supplied arguments"""
self.name = attrs["name"]
- if "user" in attrs:
- self._user = attrs["user"]
+ self._user = attrs.get("user")
- if "heat_template" in attrs:
- self.template_file = attrs["heat_template"]
- self.heat_parameters = attrs.get("heat_parameters", None)
+ self.template_file = attrs.get("heat_template")
+ if self.template_file:
+ self.heat_parameters = attrs.get("heat_parameters")
return
self.keypair_name = self.name + "-key"
self.secgroup_name = self.name + "-secgroup"
- if "image" in attrs:
- self._image = attrs["image"]
+ self._image = attrs.get("image")
- if "flavor" in attrs:
- self._flavor = attrs["flavor"]
+ self._flavor = attrs.get("flavor")
- if "placement_groups" in attrs:
- for name, pgattrs in attrs["placement_groups"].items():
- pg = PlacementGroup(name, self, pgattrs["policy"])
- self.placement_groups.append(pg)
+ self.placement_groups = [PlacementGroup(name, self, pgattrs["policy"])
+ for name, pgattrs in attrs.get(
+ "placement_groups", {}).items()]
- for name, netattrs in attrs["networks"].items():
- network = Network(name, self, netattrs)
- self.networks.append(network)
+ self.server_groups = [ServerGroup(name, self, sgattrs["policy"])
+ for name, sgattrs in attrs.get(
+ "server_groups", {}).items()]
+
+ self.assign_external_network(attrs["networks"])
+
+ self.networks = [Network(name, self, netattrs) for name, netattrs in
+ sorted(attrs["networks"].items())]
for name, serverattrs in attrs["servers"].items():
server = Server(name, self, serverattrs)
@@ -163,19 +175,17 @@ class HeatContext(Context):
server.add_to_template(template,
self.networks,
scheduler_hints)
- added_servers.append(server.stack_name)
else:
scheduler_hints["different_host"] = \
scheduler_hints["different_host"][0]
server.add_to_template(template,
self.networks,
scheduler_hints)
- added_servers.append(server.stack_name)
else:
server.add_to_template(template,
self.networks,
scheduler_hints)
- added_servers.append(server.stack_name)
+ added_servers.append(server.stack_name)
# create list of servers with affinity policy
affinity_servers = []
@@ -195,10 +205,21 @@ class HeatContext(Context):
server.add_to_template(template, self.networks, scheduler_hints)
added_servers.append(server.stack_name)
+ # add server group
+ for sg in self.server_groups:
+ template.add_server_group(sg.name, sg.policy)
+
# add remaining servers with no placement group configured
for server in list_of_servers:
+ # TODO placement_group and server_group should combine
if not server.placement_groups:
- server.add_to_template(template, self.networks, {})
+ scheduler_hints = {}
+ # affinity/anti-aff server group
+ sg = server.server_group
+ if sg:
+ scheduler_hints["group"] = {'get_resource': sg.name}
+ server.add_to_template(template,
+ self.networks, scheduler_hints)
def deploy(self):
"""deploys template into a stack using cloud"""
@@ -247,6 +268,8 @@ class HeatContext(Context):
except OSError:
LOG.exception("Key filename %s", self.key_filename)
+ super(HeatContext, self).undeploy()
+
def _get_server(self, attr_name):
"""lookup server info by name from context
attr_name: either a name for a server created by yardstick or a dict
diff --git a/yardstick/benchmark/contexts/model.py b/yardstick/benchmark/contexts/model.py
index c83a209cf..8cf3b621c 100644
--- a/yardstick/benchmark/contexts/model.py
+++ b/yardstick/benchmark/contexts/model.py
@@ -56,10 +56,32 @@ class PlacementGroup(Object):
@staticmethod
def get(name):
- if name in PlacementGroup.map:
- return PlacementGroup.map[name]
- else:
- return None
+ return PlacementGroup.map.get(name)
+
+
+class ServerGroup(Object): # pragma: no cover
+ """Class that represents a server group in the logical model
+ Policy should be one of "anti-affinity" or "affinity"
+ """
+ map = {}
+
+ def __init__(self, name, context, policy):
+ super(ServerGroup, self).__init__(name, context)
+ if policy not in {"affinity", "anti-affinity"}:
+ raise ValueError("server group '%s', policy '%s' is not valid" %
+ (name, policy))
+ self.name = name
+ self.members = set()
+ self.stack_name = context.name + "-" + name
+ self.policy = policy
+ ServerGroup.map[name] = self
+
+ def add_member(self, name):
+ self.members.add(name)
+
+ @staticmethod
+ def get(name):
+ return ServerGroup.map.get(name)
class Router(Object):
@@ -113,7 +135,7 @@ class Network(Object):
return None
-class Server(Object):
+class Server(Object): # pragma: no cover
"""Class that represents a server in the logical model"""
list = []
@@ -141,6 +163,17 @@ class Server(Object):
self.placement_groups.append(pg)
pg.add_member(self.stack_name)
+ # support servergroup attr
+ self.server_group = None
+ sg = attrs.get("server_group")
+ if (sg):
+ server_group = ServerGroup.get(sg)
+ if not server_group:
+ raise ValueError("server '%s', server_group '%s' is invalid" %
+ (name, sg))
+ self.server_group = server_group
+ server_group.add_member(self.stack_name)
+
self.instances = 1
if "instances" in attrs:
self.instances = attrs["instances"]
diff --git a/yardstick/benchmark/contexts/node.py b/yardstick/benchmark/contexts/node.py
index 6fa9aa99a..f8c38cb1c 100644
--- a/yardstick/benchmark/contexts/node.py
+++ b/yardstick/benchmark/contexts/node.py
@@ -89,6 +89,8 @@ class NodeContext(Context):
for host, info in teardown.items():
self._execute_script(host, info)
+ super(NodeContext, self).undeploy()
+
def _get_server(self, attr_name):
"""lookup server info by name from context
attr_name: a name for a server listed in nodes config file
diff --git a/yardstick/benchmark/contexts/standalone.py b/yardstick/benchmark/contexts/standalone.py
index eff700974..674e57f54 100644
--- a/yardstick/benchmark/contexts/standalone.py
+++ b/yardstick/benchmark/contexts/standalone.py
@@ -79,7 +79,7 @@ class StandaloneContext(Context):
"""don't need to undeploy"""
# Todo: NFVi undeploy (sriov, vswitch, ovs etc) based on the config.
- pass
+ super(StandaloneContext, self).undeploy()
def _get_server(self, attr_name):
"""lookup server info by name from context
diff --git a/yardstick/benchmark/core/task.py b/yardstick/benchmark/core/task.py
index 522ad4d23..2794d84f4 100644
--- a/yardstick/benchmark/core/task.py
+++ b/yardstick/benchmark/core/task.py
@@ -26,9 +26,11 @@ from yardstick.benchmark.contexts.base import Context
from yardstick.benchmark.runners import base as base_runner
from yardstick.common.task_template import TaskTemplate
from yardstick.common.utils import source_env
+from yardstick.common import utils
from yardstick.common import constants
output_file_default = "/tmp/yardstick.out"
+config_file = '/etc/yardstick/yardstick.conf'
test_cases_dir_default = "tests/opnfv/test_cases/"
LOG = logging.getLogger(__name__)
@@ -39,15 +41,21 @@ class Task(object): # pragma: no cover
Set of commands to manage benchmark tasks.
"""
+ def __init__(self):
+ self.config = {}
+ self.contexts = []
+
def start(self, args, **kwargs):
"""Start a benchmark scenario."""
- atexit.register(atexit_handler)
+ atexit.register(self.atexit_handler)
self.task_id = kwargs.get('task_id', str(uuid.uuid4()))
check_environment()
+ self.config['yardstick'] = utils.parse_ini_file(config_file)
+
total_start_time = time.time()
parser = TaskParser(args.inputfile[0])
@@ -70,8 +78,11 @@ class Task(object): # pragma: no cover
for i in range(0, len(task_files)):
one_task_start_time = time.time()
parser.path = task_files[i]
- scenarios, run_in_parallel, meet_precondition = parser.parse_task(
- self.task_id, task_args[i], task_args_fnames[i])
+ scenarios, run_in_parallel, meet_precondition, contexts = \
+ parser.parse_task(self.task_id, task_args[i],
+ task_args_fnames[i])
+
+ self.contexts.extend(contexts)
if not meet_precondition:
LOG.info("meet_precondition is %s, please check envrionment",
@@ -83,11 +94,11 @@ class Task(object): # pragma: no cover
if args.keep_deploy:
# keep deployment, forget about stack
# (hide it for exit handler)
- Context.list = []
+ self.contexts = []
else:
- for context in Context.list[::-1]:
+ for context in self.contexts[::-1]:
context.undeploy()
- Context.list = []
+ self.contexts = []
one_task_end_time = time.time()
LOG.info("task %s finished in %d secs", task_files[i],
one_task_end_time - one_task_start_time)
@@ -100,7 +111,7 @@ class Task(object): # pragma: no cover
def _run(self, scenarios, run_in_parallel, output_file):
"""Deploys context and calls runners"""
- for context in Context.list:
+ for context in self.contexts:
context.deploy()
background_runners = []
@@ -108,14 +119,14 @@ class Task(object): # pragma: no cover
# Start all background scenarios
for scenario in filter(_is_background_scenario, scenarios):
scenario["runner"] = dict(type="Duration", duration=1000000000)
- runner = run_one_scenario(scenario, output_file)
+ runner = self.run_one_scenario(scenario, output_file)
background_runners.append(runner)
runners = []
if run_in_parallel:
for scenario in scenarios:
if not _is_background_scenario(scenario):
- runner = run_one_scenario(scenario, output_file)
+ runner = self.run_one_scenario(scenario, output_file)
runners.append(runner)
# Wait for runners to finish
@@ -126,7 +137,7 @@ class Task(object): # pragma: no cover
# run serially
for scenario in scenarios:
if not _is_background_scenario(scenario):
- runner = run_one_scenario(scenario, output_file)
+ runner = self.run_one_scenario(scenario, output_file)
runner_join(runner)
print("Runner ended, output in", output_file)
@@ -144,8 +155,91 @@ class Task(object): # pragma: no cover
base_runner.Runner.release(runner)
print("Background task ended")
+ def atexit_handler(self):
+ """handler for process termination"""
+ base_runner.Runner.terminate_all()
+
+ if self.contexts:
+ print("Undeploying all contexts")
+ for context in self.contexts[::-1]:
+ context.undeploy()
+
+ def run_one_scenario(self, scenario_cfg, output_file):
+ """run one scenario using context"""
+ runner_cfg = scenario_cfg["runner"]
+ runner_cfg['output_filename'] = output_file
+
+ # TODO support get multi hosts/vms info
+ context_cfg = {}
+ if "host" in scenario_cfg:
+ context_cfg['host'] = Context.get_server(scenario_cfg["host"])
+
+ if "target" in scenario_cfg:
+ if is_ip_addr(scenario_cfg["target"]):
+ context_cfg['target'] = {}
+ context_cfg['target']["ipaddr"] = scenario_cfg["target"]
+ else:
+ context_cfg['target'] = Context.get_server(
+ scenario_cfg["target"])
+ if self._is_same_heat_context(scenario_cfg["host"],
+ scenario_cfg["target"]):
+ context_cfg["target"]["ipaddr"] = \
+ context_cfg["target"]["private_ip"]
+ else:
+ context_cfg["target"]["ipaddr"] = \
+ context_cfg["target"]["ip"]
+
+ if "targets" in scenario_cfg:
+ ip_list = []
+ for target in scenario_cfg["targets"]:
+ if is_ip_addr(target):
+ ip_list.append(target)
+ context_cfg['target'] = {}
+ else:
+ context_cfg['target'] = Context.get_server(target)
+ if self._is_same_heat_context(scenario_cfg["host"],
+ target):
+ ip_list.append(context_cfg["target"]["private_ip"])
+ else:
+ ip_list.append(context_cfg["target"]["ip"])
+ context_cfg['target']['ipaddr'] = ','.join(ip_list)
+
+ if "nodes" in scenario_cfg:
+ context_cfg["nodes"] = parse_nodes_with_context(scenario_cfg)
+ runner = base_runner.Runner.get(runner_cfg, self.config)
+
+ print("Starting runner of type '%s'" % runner_cfg["type"])
+ runner.run(scenario_cfg, context_cfg)
+
+ return runner
+
+ def _is_same_heat_context(self, host_attr, target_attr):
+ """check if two servers are in the same heat context
+ host_attr: either a name for a server created by yardstick or a dict
+ with attribute name mapping when using external heat templates
+ target_attr: either a name for a server created by yardstick or a dict
+ with attribute name mapping when using external heat templates
+ """
+ return True
+ host = None
+ target = None
+ for context in self.contexts:
+ if context.__context_type__ != "Heat":
+ continue
+
+ host = context._get_server(host_attr)
+ if host is None:
+ continue
-# TODO: Move stuff below into TaskCommands class !?
+ target = context._get_server(target_attr)
+ if target is None:
+ return False
+
+ # Both host and target is not None, then they are in the
+ # same heat context.
+ return True
+
+ return False
class TaskParser(object): # pragma: no cover
@@ -265,23 +359,19 @@ class TaskParser(object): # pragma: no cover
else:
context_cfgs = [{"type": "Dummy"}]
+ contexts = []
name_suffix = '-{}'.format(task_id[:8])
for cfg_attrs in context_cfgs:
- cfg_attrs['name'] = '{}{}'.format(cfg_attrs['name'], name_suffix)
+ try:
+ cfg_attrs['name'] = '{}{}'.format(cfg_attrs['name'],
+ name_suffix)
+ except KeyError:
+ pass
+ # default to Heat context because we are testing OpenStack
context_type = cfg_attrs.get("type", "Heat")
- if "Heat" == context_type and "networks" in cfg_attrs:
- # bugfix: if there are more than one network,
- # only add "external_network" on first one.
- # the name of netwrok should follow this rule:
- # test, test2, test3 ...
- # sort network with the length of network's name
- sorted_networks = sorted(cfg_attrs["networks"])
- # config external_network based on env var
- cfg_attrs["networks"][sorted_networks[0]]["external_network"] \
- = os.environ.get("EXTERNAL_NETWORK", "net04_ext")
-
context = Context.get(context_type)
context.init(cfg_attrs)
+ contexts.append(context)
run_in_parallel = cfg.get("run_in_parallel", False)
@@ -300,7 +390,7 @@ class TaskParser(object): # pragma: no cover
pass
# TODO we need something better here, a class that represent the file
- return cfg["scenarios"], run_in_parallel, meet_precondition
+ return cfg["scenarios"], run_in_parallel, meet_precondition, contexts
def _check_schema(self, cfg_schema, schema_type):
"""Check if config file is using the correct schema type"""
@@ -342,16 +432,6 @@ class TaskParser(object): # pragma: no cover
return True
-def atexit_handler():
- """handler for process termination"""
- base_runner.Runner.terminate_all()
-
- if len(Context.list) > 0:
- print("Undeploying all contexts")
- for context in Context.list[::-1]:
- context.undeploy()
-
-
def is_ip_addr(addr):
"""check if string addr is an IP address"""
try:
@@ -367,34 +447,6 @@ def is_ip_addr(addr):
return True
-def _is_same_heat_context(host_attr, target_attr):
- """check if two servers are in the same heat context
- host_attr: either a name for a server created by yardstick or a dict
- with attribute name mapping when using external heat templates
- target_attr: either a name for a server created by yardstick or a dict
- with attribute name mapping when using external heat templates
- """
- host = None
- target = None
- for context in Context.list:
- if context.__context_type__ != "Heat":
- continue
-
- host = context._get_server(host_attr)
- if host is None:
- continue
-
- target = context._get_server(target_attr)
- if target is None:
- return False
-
- # Both host and target is not None, then they are in the
- # same heat context.
- return True
-
- return False
-
-
def _is_background_scenario(scenario):
if "run_in_background" in scenario:
return scenario["run_in_background"]
@@ -402,54 +454,6 @@ def _is_background_scenario(scenario):
return False
-def run_one_scenario(scenario_cfg, output_file):
- """run one scenario using context"""
- runner_cfg = scenario_cfg["runner"]
- runner_cfg['output_filename'] = output_file
-
- # TODO support get multi hosts/vms info
- context_cfg = {}
- if "host" in scenario_cfg:
- context_cfg['host'] = Context.get_server(scenario_cfg["host"])
-
- if "target" in scenario_cfg:
- if is_ip_addr(scenario_cfg["target"]):
- context_cfg['target'] = {}
- context_cfg['target']["ipaddr"] = scenario_cfg["target"]
- else:
- context_cfg['target'] = Context.get_server(scenario_cfg["target"])
- if _is_same_heat_context(scenario_cfg["host"],
- scenario_cfg["target"]):
- context_cfg["target"]["ipaddr"] = \
- context_cfg["target"]["private_ip"]
- else:
- context_cfg["target"]["ipaddr"] = \
- context_cfg["target"]["ip"]
-
- if "targets" in scenario_cfg:
- ip_list = []
- for target in scenario_cfg["targets"]:
- if is_ip_addr(target):
- ip_list.append(target)
- context_cfg['target'] = {}
- else:
- context_cfg['target'] = Context.get_server(target)
- if _is_same_heat_context(scenario_cfg["host"], target):
- ip_list.append(context_cfg["target"]["private_ip"])
- else:
- ip_list.append(context_cfg["target"]["ip"])
- context_cfg['target']['ipaddr'] = ','.join(ip_list)
-
- if "nodes" in scenario_cfg:
- context_cfg["nodes"] = parse_nodes_with_context(scenario_cfg)
- runner = base_runner.Runner.get(runner_cfg)
-
- print("Starting runner of type '%s'" % runner_cfg["type"])
- runner.run(scenario_cfg, context_cfg)
-
- return runner
-
-
def parse_nodes_with_context(scenario_cfg):
"""paras the 'nodes' fields in scenario """
nodes = scenario_cfg["nodes"]
diff --git a/yardstick/benchmark/runners/base.py b/yardstick/benchmark/runners/base.py
index 5b9081523..7c76e42df 100755
--- a/yardstick/benchmark/runners/base.py
+++ b/yardstick/benchmark/runners/base.py
@@ -35,15 +35,18 @@ log = logging.getLogger(__name__)
CONF = cfg.CONF
-def _output_serializer_main(filename, queue):
+def _output_serializer_main(filename, queue, config):
"""entrypoint for the singleton subprocess writing to outfile
Use of this process enables multiple instances of a scenario without
messing up the output file.
"""
- config = {}
- config["type"] = CONF.dispatcher.capitalize()
- config["file_path"] = filename
- dispatcher = DispatcherBase.get(config)
+ out_type = config['yardstick'].get('DEFAULT', {}).get('dispatcher', 'file')
+ conf = {
+ 'type': out_type.capitalize(),
+ 'file_path': filename
+ }
+
+ dispatcher = DispatcherBase.get(conf, config)
while True:
# blocks until data becomes available
@@ -123,21 +126,21 @@ class Runner(object):
return types
@staticmethod
- def get(config):
+ def get(runner_cfg, config):
"""Returns instance of a scenario runner for execution type.
"""
# if there is no runner, start the output serializer subprocess
if not Runner.runners:
log.debug("Starting dump process file '%s'",
- config["output_filename"])
+ runner_cfg["output_filename"])
Runner.queue = multiprocessing.Queue()
Runner.dump_process = multiprocessing.Process(
target=_output_serializer_main,
name="Dumper",
- args=(config["output_filename"], Runner.queue))
+ args=(runner_cfg["output_filename"], Runner.queue, config))
Runner.dump_process.start()
- return Runner.get_cls(config["type"])(config, Runner.queue)
+ return Runner.get_cls(runner_cfg["type"])(runner_cfg, Runner.queue)
@staticmethod
def release_dump_process():
diff --git a/yardstick/benchmark/scenarios/availability/attacker_conf.yaml b/yardstick/benchmark/scenarios/availability/attacker_conf.yaml
index d37d66964..b8c34ad44 100644
--- a/yardstick/benchmark/scenarios/availability/attacker_conf.yaml
+++ b/yardstick/benchmark/scenarios/availability/attacker_conf.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
---
# sample config file for ha test
#
diff --git a/yardstick/benchmark/scenarios/availability/monitor_conf.yaml b/yardstick/benchmark/scenarios/availability/monitor_conf.yaml
index c94e4fdfe..511449221 100644
--- a/yardstick/benchmark/scenarios/availability/monitor_conf.yaml
+++ b/yardstick/benchmark/scenarios/availability/monitor_conf.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 lihuansse@tongji.edu.cn 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
+##############################################################################
---
# sample config file for ha test
#
diff --git a/yardstick/benchmark/scenarios/availability/operation_conf.yaml b/yardstick/benchmark/scenarios/availability/operation_conf.yaml
index 309a03de8..1c39385a9 100644
--- a/yardstick/benchmark/scenarios/availability/operation_conf.yaml
+++ b/yardstick/benchmark/scenarios/availability/operation_conf.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 lihuansse@tongji.edu.cn 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
+##############################################################################
---
# sample config file for ha test
#
diff --git a/yardstick/benchmark/scenarios/availability/result_checker_conf.yaml b/yardstick/benchmark/scenarios/availability/result_checker_conf.yaml
index faa4eb57d..0494a71a7 100644
--- a/yardstick/benchmark/scenarios/availability/result_checker_conf.yaml
+++ b/yardstick/benchmark/scenarios/availability/result_checker_conf.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 lihuansse@tongji.edu.cn 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
+##############################################################################
---
# sample config file for ha test
#
diff --git a/yardstick/benchmark/scenarios/networking/pktgen_dpdk_latency_benchmark.bash b/yardstick/benchmark/scenarios/networking/pktgen_dpdk_latency_benchmark.bash
index f6f361e80..b872aa3df 100644
--- a/yardstick/benchmark/scenarios/networking/pktgen_dpdk_latency_benchmark.bash
+++ b/yardstick/benchmark/scenarios/networking/pktgen_dpdk_latency_benchmark.bash
@@ -1,3 +1,12 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 ZTE corporation 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
+##############################################################################
!/bin/sh
set -e
diff --git a/yardstick/benchmark/scenarios/networking/sfc.py b/yardstick/benchmark/scenarios/networking/sfc.py
index c558e3512..bf4ed5f7c 100644
--- a/yardstick/benchmark/scenarios/networking/sfc.py
+++ b/yardstick/benchmark/scenarios/networking/sfc.py
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
from __future__ import absolute_import
import logging
diff --git a/yardstick/benchmark/scenarios/networking/sfc_change_classi.bash b/yardstick/benchmark/scenarios/networking/sfc_change_classi.bash
index 70375ab3b..85aeeba01 100755
--- a/yardstick/benchmark/scenarios/networking/sfc_change_classi.bash
+++ b/yardstick/benchmark/scenarios/networking/sfc_change_classi.bash
@@ -1,3 +1,12 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
tacker sfc-classifier-delete red_http
tacker sfc-classifier-delete red_ssh
diff --git a/yardstick/benchmark/scenarios/networking/sfc_compute.bash b/yardstick/benchmark/scenarios/networking/sfc_compute.bash
index eeda3f274..09c2f22c4 100755
--- a/yardstick/benchmark/scenarios/networking/sfc_compute.bash
+++ b/yardstick/benchmark/scenarios/networking/sfc_compute.bash
@@ -1,4 +1,13 @@
#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
+
set -e
sudo ifconfig br-int up
diff --git a/yardstick/benchmark/scenarios/networking/sfc_openstack.py b/yardstick/benchmark/scenarios/networking/sfc_openstack.py
index be24add32..d5feabbbe 100644
--- a/yardstick/benchmark/scenarios/networking/sfc_openstack.py
+++ b/yardstick/benchmark/scenarios/networking/sfc_openstack.py
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
from __future__ import print_function
from __future__ import absolute_import
import os
diff --git a/yardstick/benchmark/scenarios/networking/sfc_pre_setup.bash b/yardstick/benchmark/scenarios/networking/sfc_pre_setup.bash
index 36ad16d24..ce7527f86 100755
--- a/yardstick/benchmark/scenarios/networking/sfc_pre_setup.bash
+++ b/yardstick/benchmark/scenarios/networking/sfc_pre_setup.bash
@@ -1,4 +1,13 @@
#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
+
set -e
# download and create image
diff --git a/yardstick/benchmark/scenarios/networking/sfc_server.bash b/yardstick/benchmark/scenarios/networking/sfc_server.bash
index 41ad92188..57e1ca0c6 100755
--- a/yardstick/benchmark/scenarios/networking/sfc_server.bash
+++ b/yardstick/benchmark/scenarios/networking/sfc_server.bash
@@ -1,4 +1,13 @@
#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
+
set -e
#service iptables stop
diff --git a/yardstick/benchmark/scenarios/networking/sfc_tacker.bash b/yardstick/benchmark/scenarios/networking/sfc_tacker.bash
index 8b53eeb7c..7d25e7af6 100755
--- a/yardstick/benchmark/scenarios/networking/sfc_tacker.bash
+++ b/yardstick/benchmark/scenarios/networking/sfc_tacker.bash
@@ -1,4 +1,13 @@
#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
+
BASEDIR=`pwd`
#import VNF descriptor
diff --git a/yardstick/benchmark/scenarios/networking/sfc_teardown.bash b/yardstick/benchmark/scenarios/networking/sfc_teardown.bash
index d38be09ce..218fec5e1 100755
--- a/yardstick/benchmark/scenarios/networking/sfc_teardown.bash
+++ b/yardstick/benchmark/scenarios/networking/sfc_teardown.bash
@@ -1,4 +1,13 @@
#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
+
#set -e
#delete classifier
diff --git a/yardstick/benchmark/scenarios/networking/test-vnfd.yaml b/yardstick/benchmark/scenarios/networking/test-vnfd.yaml
index 178c671d4..6d02f2f31 100644
--- a/yardstick/benchmark/scenarios/networking/test-vnfd.yaml
+++ b/yardstick/benchmark/scenarios/networking/test-vnfd.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB 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
+##############################################################################
template_name: test-vnfd
description: firewall-example
diff --git a/yardstick/benchmark/scenarios/networking/testpmd_fwd.bash b/yardstick/benchmark/scenarios/networking/testpmd_fwd.bash
index ac18db491..247a8a833 100644
--- a/yardstick/benchmark/scenarios/networking/testpmd_fwd.bash
+++ b/yardstick/benchmark/scenarios/networking/testpmd_fwd.bash
@@ -1,3 +1,12 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 ZTE corporation 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
+##############################################################################
#!/bin/sh
set -e
diff --git a/yardstick/cmd/NSBperf.py b/yardstick/cmd/NSBperf.py
index c3730f834..f158d57f4 100755
--- a/yardstick/cmd/NSBperf.py
+++ b/yardstick/cmd/NSBperf.py
@@ -24,7 +24,7 @@ import argparse
import json
import subprocess
import signal
-
+from oslo_serialization import jsonutils
from six.moves import input
@@ -126,10 +126,11 @@ class YardstickNSCli(object):
if os.path.isfile("/tmp/yardstick.out"):
lines = []
with open("/tmp/yardstick.out") as infile:
- lines = infile.readlines()
+ lines = jsonutils.load(infile)
if lines:
- tc_res = json.loads(lines.pop(len(lines) - 1))
+ lines = lines['result']
+ tc_res = lines.pop(len(lines) - 1)
for key, value in tc_res["benchmark"]["data"].items():
self.generate_kpi_results(key, value)
self.generate_nfvi_results(value)
diff --git a/yardstick/cmd/cli.py b/yardstick/cmd/cli.py
index 6281bb813..1f8dfee2d 100644
--- a/yardstick/cmd/cli.py
+++ b/yardstick/cmd/cli.py
@@ -20,7 +20,7 @@ from pkg_resources import get_distribution
from argparse import RawDescriptionHelpFormatter
from oslo_config import cfg
-from yardstick import _init_logging, LOG
+from yardstick import _init_logging, _LOG_STREAM_HDLR
from yardstick.cmd.commands import task
from yardstick.cmd.commands import runner
from yardstick.cmd.commands import scenario
@@ -33,11 +33,7 @@ cli_opts = [
cfg.BoolOpt('debug',
short='d',
default=False,
- help='increase output verbosity to debug'),
- cfg.BoolOpt('verbose',
- short='v',
- default=False,
- help='increase output verbosity to info')
+ help='increase output verbosity to debug')
]
CONF.register_cli_opts(cli_opts)
@@ -132,11 +128,8 @@ class YardstickCLI():
def _handle_global_opts(self):
_init_logging()
- if CONF.verbose:
- LOG.setLevel(logging.INFO)
-
if CONF.debug:
- LOG.setLevel(logging.DEBUG)
+ _LOG_STREAM_HDLR.setLevel(logging.DEBUG)
def _dispath_func_notask(self):
diff --git a/yardstick/common/openstack_utils.py b/yardstick/common/openstack_utils.py
index 5026e819d..aa369b896 100644
--- a/yardstick/common/openstack_utils.py
+++ b/yardstick/common/openstack_utils.py
@@ -8,17 +8,26 @@
##############################################################################
from __future__ import absolute_import
+
import os
+import time
import logging
from keystoneauth1 import loading
from keystoneauth1 import session
+from novaclient import client as novaclient
+from glanceclient import client as glanceclient
+from neutronclient.neutron import client as neutronclient
log = logging.getLogger(__name__)
DEFAULT_HEAT_API_VERSION = '1'
+DEFAULT_API_VERSION = '2'
+# *********************************************
+# CREDENTIALS
+# *********************************************
def get_credentials():
"""Returns a creds dictionary filled with parsed from env"""
creds = {}
@@ -64,7 +73,7 @@ def get_credentials():
"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\
+ log.info("WARNING: The 'OS_CACERT' environment variable is set \
to %s but the file does not exist.", cacert)
return creds
@@ -89,9 +98,338 @@ def get_endpoint(service_type, endpoint_type='publicURL'):
endpoint_type=endpoint_type)
-def get_heat_api_version():
- api_version = os.getenv('HEAT_API_VERSION')
- if api_version is not None:
+# *********************************************
+# CLIENTS
+# *********************************************
+def get_heat_api_version(): # pragma: no cover
+ try:
+ api_version = os.environ['HEAT_API_VERSION']
+ except KeyError:
+ return DEFAULT_HEAT_API_VERSION
+ else:
log.info("HEAT_API_VERSION is set in env as '%s'", api_version)
return api_version
- return DEFAULT_HEAT_API_VERSION
+
+
+def get_nova_client_version(): # pragma: no cover
+ try:
+ api_version = os.environ['OS_COMPUTE_API_VERSION']
+ except KeyError:
+ return DEFAULT_API_VERSION
+ else:
+ log.info("OS_COMPUTE_API_VERSION is set in env as '%s'", api_version)
+ return api_version
+
+
+def get_nova_client(): # pragma: no cover
+ sess = get_session()
+ return novaclient.Client(get_nova_client_version(), session=sess)
+
+
+def get_neutron_client_version(): # pragma: no cover
+ try:
+ api_version = os.environ['OS_NETWORK_API_VERSION']
+ except KeyError:
+ return DEFAULT_API_VERSION
+ else:
+ log.info("OS_NETWORK_API_VERSION is set in env as '%s'", api_version)
+ return api_version
+
+
+def get_neutron_client(): # pragma: no cover
+ sess = get_session()
+ return neutronclient.Client(get_neutron_client_version(), session=sess)
+
+
+def get_glance_client_version(): # pragma: no cover
+ try:
+ api_version = os.environ['OS_IMAGE_API_VERSION']
+ except KeyError:
+ return DEFAULT_API_VERSION
+ else:
+ log.info("OS_IMAGE_API_VERSION is set in env as '%s'", api_version)
+ return api_version
+
+
+def get_glance_client(): # pragma: no cover
+ sess = get_session()
+ return glanceclient.Client(get_glance_client_version(), session=sess)
+
+
+# *********************************************
+# NOVA
+# *********************************************
+def get_instances(nova_client): # pragma: no cover
+ try:
+ return nova_client.servers.list(search_opts={'all_tenants': 1})
+ except Exception:
+ log.exception("Error [get_instances(nova_client)]")
+
+
+def get_instance_status(nova_client, instance): # pragma: no cover
+ try:
+ return nova_client.servers.get(instance.id).status
+ except Exception:
+ log.exception("Error [get_instance_status(nova_client)]")
+
+
+def get_instance_by_name(nova_client, instance_name): # pragma: no cover
+ try:
+ return nova_client.servers.find(name=instance_name)
+ except Exception:
+ log.exception("Error [get_instance_by_name(nova_client, '%s')]",
+ instance_name)
+
+
+def get_aggregates(nova_client): # pragma: no cover
+ try:
+ return nova_client.aggregates.list()
+ except Exception:
+ log.exception("Error [get_aggregates(nova_client)]")
+
+
+def get_availability_zones(nova_client): # pragma: no cover
+ try:
+ return nova_client.availability_zones.list()
+ except Exception:
+ log.exception("Error [get_availability_zones(nova_client)]")
+
+
+def get_availability_zone_names(nova_client): # pragma: no cover
+ try:
+ return [az.zoneName for az in get_availability_zones(nova_client)]
+ except Exception:
+ log.exception("Error [get_availability_zone_names(nova_client)]")
+
+
+def create_aggregate(nova_client, aggregate_name, av_zone): # pragma: no cover
+ try:
+ nova_client.aggregates.create(aggregate_name, av_zone)
+ except Exception:
+ log.exception("Error [create_aggregate(nova_client, %s, %s)]",
+ aggregate_name, av_zone)
+ return False
+ else:
+ return True
+
+
+def get_aggregate_id(nova_client, aggregate_name): # pragma: no cover
+ try:
+ aggregates = get_aggregates(nova_client)
+ _id = next((ag.id for ag in aggregates if ag.name == aggregate_name))
+ except Exception:
+ log.exception("Error [get_aggregate_id(nova_client, %s)]",
+ aggregate_name)
+ else:
+ return _id
+
+
+def add_host_to_aggregate(nova_client, aggregate_name,
+ compute_host): # pragma: no cover
+ try:
+ aggregate_id = get_aggregate_id(nova_client, aggregate_name)
+ nova_client.aggregates.add_host(aggregate_id, compute_host)
+ except Exception:
+ log.exception("Error [add_host_to_aggregate(nova_client, %s, %s)]",
+ aggregate_name, compute_host)
+ return False
+ else:
+ return True
+
+
+def create_aggregate_with_host(nova_client, aggregate_name, av_zone,
+ compute_host): # pragma: no cover
+ try:
+ create_aggregate(nova_client, aggregate_name, av_zone)
+ add_host_to_aggregate(nova_client, aggregate_name, compute_host)
+ except Exception:
+ log.exception("Error [create_aggregate_with_host("
+ "nova_client, %s, %s, %s)]",
+ aggregate_name, av_zone, compute_host)
+ return False
+ else:
+ return True
+
+
+def create_instance(flavor_name,
+ image_id,
+ network_id,
+ instance_name="instance-vm",
+ confdrive=True,
+ userdata=None,
+ av_zone='',
+ fixed_ip=None,
+ files=None): # pragma: no cover
+ nova_client = get_nova_client()
+ try:
+ flavor = nova_client.flavors.find(name=flavor_name)
+ except:
+ flavors = nova_client.flavors.list()
+ log.exception("Error: Flavor '%s' not found. Available flavors are: "
+ "\n%s", flavor_name, flavors)
+ return None
+ if fixed_ip is not None:
+ nics = {"net-id": network_id, "v4-fixed-ip": fixed_ip}
+ else:
+ nics = {"net-id": network_id}
+ if userdata is None:
+ instance = nova_client.servers.create(
+ name=instance_name,
+ flavor=flavor,
+ image=image_id,
+ nics=[nics],
+ availability_zone=av_zone,
+ files=files
+ )
+ else:
+ instance = nova_client.servers.create(
+ name=instance_name,
+ flavor=flavor,
+ image=image_id,
+ nics=[nics],
+ config_drive=confdrive,
+ userdata=userdata,
+ availability_zone=av_zone,
+ files=files
+ )
+ return instance
+
+
+def create_instance_and_wait_for_active(flavor_name,
+ image_id,
+ network_id,
+ instance_name="instance-vm",
+ config_drive=False,
+ userdata="",
+ av_zone='',
+ fixed_ip=None,
+ files=None): # pragma: no cover
+ SLEEP = 3
+ VM_BOOT_TIMEOUT = 180
+ nova_client = get_nova_client()
+ instance = create_instance(flavor_name,
+ image_id,
+ network_id,
+ instance_name,
+ config_drive,
+ userdata,
+ av_zone=av_zone,
+ fixed_ip=fixed_ip,
+ files=files)
+ count = VM_BOOT_TIMEOUT / SLEEP
+ for n in range(count, -1, -1):
+ status = get_instance_status(nova_client, instance)
+ if status.lower() == "active":
+ return instance
+ elif status.lower() == "error":
+ log.error("The instance %s went to ERROR status.", instance_name)
+ return None
+ time.sleep(SLEEP)
+ log.error("Timeout booting the instance %s.", instance_name)
+ return None
+
+
+def delete_instance(nova_client, instance_id): # pragma: no cover
+ try:
+ nova_client.servers.force_delete(instance_id)
+ except Exception:
+ log.exception("Error [delete_instance(nova_client, '%s')]",
+ instance_id)
+ return False
+ else:
+ return True
+
+
+def remove_host_from_aggregate(nova_client, aggregate_name,
+ compute_host): # pragma: no cover
+ try:
+ aggregate_id = get_aggregate_id(nova_client, aggregate_name)
+ nova_client.aggregates.remove_host(aggregate_id, compute_host)
+ except Exception:
+ log.exception("Error remove_host_from_aggregate(nova_client, %s, %s)",
+ aggregate_name, compute_host)
+ return False
+ else:
+ return True
+
+
+def remove_hosts_from_aggregate(nova_client,
+ aggregate_name): # pragma: no cover
+ aggregate_id = get_aggregate_id(nova_client, aggregate_name)
+ hosts = nova_client.aggregates.get(aggregate_id).hosts
+ assert(
+ all(remove_host_from_aggregate(nova_client, aggregate_name, host)
+ for host in hosts))
+
+
+def delete_aggregate(nova_client, aggregate_name): # pragma: no cover
+ try:
+ remove_hosts_from_aggregate(nova_client, aggregate_name)
+ nova_client.aggregates.delete(aggregate_name)
+ except Exception:
+ log.exception("Error [delete_aggregate(nova_client, %s)]",
+ aggregate_name)
+ return False
+ else:
+ return True
+
+
+def get_server_by_name(name): # pragma: no cover
+ try:
+ return get_nova_client().servers.list(search_opts={'name': name})[0]
+ except IndexError:
+ log.exception('Failed to get nova client')
+ raise
+
+
+def get_image_by_name(name): # pragma: no cover
+ images = get_nova_client().images.list()
+ try:
+ return next((a for a in images if a.name == name))
+ except StopIteration:
+ log.exception('No image matched')
+
+
+def get_flavor_by_name(name): # pragma: no cover
+ flavors = get_nova_client().flavors.list()
+ try:
+ return next((a for a in flavors if a.name == name))
+ except StopIteration:
+ log.exception('No flavor matched')
+
+
+def check_status(status, name, iterations, interval): # pragma: no cover
+ for i in range(iterations):
+ try:
+ server = get_server_by_name(name)
+ except IndexError:
+ log.error('Cannot found %s server', name)
+ raise
+
+ if server.status == status:
+ return True
+
+ time.sleep(interval)
+ return False
+
+
+# *********************************************
+# NEUTRON
+# *********************************************
+def get_network_id(neutron_client, network_name): # pragma: no cover
+ networks = neutron_client.list_networks()['networks']
+ return next((n['id'] for n in networks if n['name'] == network_name), None)
+
+
+def get_port_id_by_ip(neutron_client, ip_address): # pragma: no cover
+ ports = neutron_client.list_ports()['ports']
+ return next((i['id'] for i in ports for j in i.get(
+ 'fixed_ips') if j['ip_address'] == ip_address), None)
+
+
+# *********************************************
+# GLANCE
+# *********************************************
+def get_image_id(glance_client, image_name): # pragma: no cover
+ images = glance_client.images.list()
+ return next((i.id for i in images if i.name == image_name), None)
diff --git a/yardstick/common/utils.py b/yardstick/common/utils.py
index 04536190b..e53f4b416 100644
--- a/yardstick/common/utils.py
+++ b/yardstick/common/utils.py
@@ -26,9 +26,7 @@ import sys
from functools import reduce
import yaml
-from keystoneauth1 import identity
-from keystoneauth1 import session
-from neutronclient.v2_0 import client
+from six.moves import configparser
from oslo_utils import importutils
from oslo_serialization import jsonutils
@@ -134,20 +132,6 @@ def source_env(env_file):
return env
-def get_openstack_session():
- auth = identity.Password(auth_url=os.environ.get('OS_AUTH_URL'),
- username=os.environ.get('OS_USERNAME'),
- password=os.environ.get('OS_PASSWORD'),
- tenant_name=os.environ.get('OS_TENANT_NAME'))
- return session.Session(auth=auth)
-
-
-def get_neutron_client():
- sess = get_openstack_session()
- neutron_client = client.Client(session=sess)
- return neutron_client
-
-
def read_json_from_file(path):
with open(path, 'r') as f:
return jsonutils.load(f)
@@ -161,3 +145,19 @@ def write_json_to_file(path, data, mode='w'):
def write_file(path, data, mode='w'):
with open(path, mode) as f:
f.write(data)
+
+
+def parse_ini_file(path):
+ parser = configparser.ConfigParser()
+ parser.read(path)
+
+ try:
+ default = {k: v for k, v in parser.items('DEFAULT')}
+ except configparser.NoSectionError:
+ default = {}
+
+ config = dict(DEFAULT=default,
+ **{s: {k: v for k, v in parser.items(
+ s)} for s in parser.sections()})
+
+ return config
diff --git a/yardstick/definitions.py b/yardstick/definitions.py
index d4afac65d..64a4a80d4 100644
--- a/yardstick/definitions.py
+++ b/yardstick/definitions.py
@@ -1,3 +1,11 @@
+##############################################################################
+# 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
+##############################################################################
from __future__ import absolute_import
import os
diff --git a/yardstick/dispatcher/base.py b/yardstick/dispatcher/base.py
index 09ce8d1e8..a1c858297 100644
--- a/yardstick/dispatcher/base.py
+++ b/yardstick/dispatcher/base.py
@@ -38,10 +38,10 @@ class Base(object):
raise RuntimeError("No such dispatcher_type %s" % dispatcher_type)
@staticmethod
- def get(config):
+ def get(conf, config):
"""Returns instance of a dispatcher for dispatcher type.
"""
- return Base.get_cls(config["type"])(config)
+ return Base.get_cls(conf["type"])(conf, config)
@abc.abstractmethod
def record_result_data(self, data):
diff --git a/yardstick/dispatcher/file.py b/yardstick/dispatcher/file.py
index 6fc81d419..8acd5dfbb 100644
--- a/yardstick/dispatcher/file.py
+++ b/yardstick/dispatcher/file.py
@@ -29,7 +29,7 @@ class FileDispatcher(DispatchBase):
__dispatcher_type__ = "File"
- def __init__(self, conf):
+ def __init__(self, conf, config):
super(FileDispatcher, self).__init__(conf)
self.result = []
diff --git a/yardstick/dispatcher/http.py b/yardstick/dispatcher/http.py
index 790086155..e3bcbc89b 100644
--- a/yardstick/dispatcher/http.py
+++ b/yardstick/dispatcher/http.py
@@ -51,7 +51,7 @@ class HttpDispatcher(DispatchBase):
__dispatcher_type__ = "Http"
- def __init__(self, conf):
+ def __init__(self, conf, config):
super(HttpDispatcher, self).__init__(conf)
self.headers = {'Content-type': 'application/json'}
self.timeout = CONF.dispatcher_http.timeout
diff --git a/yardstick/dispatcher/influxdb.py b/yardstick/dispatcher/influxdb.py
index d388d28a1..53af79c71 100644
--- a/yardstick/dispatcher/influxdb.py
+++ b/yardstick/dispatcher/influxdb.py
@@ -13,9 +13,9 @@ import logging
import os
import time
+import collections
import requests
import six
-from oslo_config import cfg
from oslo_serialization import jsonutils
from third_party.influxdb.influxdb_line_protocol import make_lines
@@ -23,30 +23,6 @@ from yardstick.dispatcher.base import Base as DispatchBase
LOG = logging.getLogger(__name__)
-CONF = cfg.CONF
-influx_dispatcher_opts = [
- cfg.StrOpt('target',
- default='http://127.0.0.1:8086',
- help='The target where the http request will be sent. '
- 'If this is not set, no data will be posted. For '
- 'example: target = http://hostname:1234/path'),
- cfg.StrOpt('db_name',
- default='yardstick',
- help='The database name to store test results.'),
- cfg.StrOpt('username',
- default='root',
- help='The user name to access database.'),
- cfg.StrOpt('password',
- default='root',
- help='The user password to access database.'),
- cfg.IntOpt('timeout',
- default=5,
- help='The max time in seconds to wait for a request to '
- 'timeout.'),
-]
-
-CONF.register_opts(influx_dispatcher_opts, group="dispatcher_influxdb")
-
class InfluxdbDispatcher(DispatchBase):
"""Dispatcher class for posting data into an influxdb target.
@@ -54,13 +30,14 @@ class InfluxdbDispatcher(DispatchBase):
__dispatcher_type__ = "Influxdb"
- def __init__(self, conf):
+ def __init__(self, conf, config):
super(InfluxdbDispatcher, self).__init__(conf)
- self.timeout = CONF.dispatcher_influxdb.timeout
- self.target = CONF.dispatcher_influxdb.target
- self.db_name = CONF.dispatcher_influxdb.db_name
- self.username = CONF.dispatcher_influxdb.username
- self.password = CONF.dispatcher_influxdb.password
+ db_conf = config['yardstick'].get('dispatcher_influxdb', {})
+ self.timeout = int(db_conf.get('timeout', 5))
+ self.target = db_conf.get('target', 'http://127.0.0.1:8086')
+ self.db_name = db_conf.get('db_name', 'yardstick')
+ self.username = db_conf.get('username', 'root')
+ self.password = db_conf.get('password', 'root')
self.influxdb_url = "%s/write?db=%s" % (self.target, self.db_name)
self.raw_result = []
self.case_name = ""
@@ -79,15 +56,17 @@ class InfluxdbDispatcher(DispatchBase):
def _dict_key_flatten(self, data):
next_data = {}
- if not [v for v in data.values()
- if type(v) == dict or type(v) == list]:
+ # use list, because iterable is too generic
+ if not [v for v in data.values() if
+ isinstance(v, (collections.Mapping, list))]:
return data
for k, v in six.iteritems(data):
- if type(v) == dict:
+ if isinstance(v, collections.Mapping):
for n_k, n_v in six.iteritems(v):
next_data["%s.%s" % (k, n_k)] = n_v
- elif type(v) == list:
+ # use list because iterable is too generic
+ elif isinstance(v, list):
for index, item in enumerate(v):
next_data["%s%d" % (k, index)] = item
else:
@@ -119,11 +98,12 @@ class InfluxdbDispatcher(DispatchBase):
def _data_to_line_protocol(self, data):
msg = {}
- point = {}
- point["measurement"] = self.tc
- point["fields"] = self._dict_key_flatten(data["benchmark"]["data"])
- point["time"] = self._get_nano_timestamp(data)
- point["tags"] = self._get_extended_tags(data)
+ point = {
+ "measurement": self.tc,
+ "fields": self._dict_key_flatten(data["benchmark"]["data"]),
+ "time": self._get_nano_timestamp(data),
+ "tags": self._get_extended_tags(data),
+ }
msg["points"] = [point]
msg["tags"] = self.static_tags
diff --git a/yardstick/orchestrator/heat.py b/yardstick/orchestrator/heat.py
index e39c4356c..500776e0e 100644
--- a/yardstick/orchestrator/heat.py
+++ b/yardstick/orchestrator/heat.py
@@ -197,6 +197,16 @@ class HeatTemplate(HeatObject):
'properties': {'name': name}
}
+ def add_server_group(self, name, policies): # pragma: no cover
+ """add to the template a ServerGroup"""
+ log.debug("adding Nova::ServerGroup '%s'", name)
+ policies = policies if isinstance(policies, list) else [policies]
+ self.resources[name] = {
+ 'type': 'OS::Nova::ServerGroup',
+ 'properties': {'name': name,
+ 'policies': policies}
+ }
+
def add_subnet(self, name, network, cidr):
"""add to the template a Neutron Subnet"""
log.debug("adding Neutron::Subnet '%s' in network '%s', cidr '%s'",
diff --git a/yardstick/vTC/apexlake/bin/run_tests.sh b/yardstick/vTC/apexlake/bin/run_tests.sh
index 6707ad75e..402a6d7fe 100755
--- a/yardstick/vTC/apexlake/bin/run_tests.sh
+++ b/yardstick/vTC/apexlake/bin/run_tests.sh
@@ -1,2 +1,16 @@
+#!/bin/bash
+# Copyright (c) 2016-2017 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.
export PYTHONPATH=`pwd`
nosetests --with-coverage --cover-erase --cover-package experimental_framework
diff --git a/yardstick/vTC/apexlake/heat_templates/stress_workload.yaml b/yardstick/vTC/apexlake/heat_templates/stress_workload.yaml
index 9820705a4..559f46d92 100644
--- a/yardstick/vTC/apexlake/heat_templates/stress_workload.yaml
+++ b/yardstick/vTC/apexlake/heat_templates/stress_workload.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
heat_template_version: 2014-10-16
description: HOT template to create a DPI
diff --git a/yardstick/vTC/apexlake/heat_templates/stress_workload_liberty.yaml b/yardstick/vTC/apexlake/heat_templates/stress_workload_liberty.yaml
index bac57014b..07f659063 100644
--- a/yardstick/vTC/apexlake/heat_templates/stress_workload_liberty.yaml
+++ b/yardstick/vTC/apexlake/heat_templates/stress_workload_liberty.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 user@TRAFCLASS-PACKET1.fuel.local 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
+##############################################################################
heat_template_version: 2014-10-16
description: HOT template to create a DPI
diff --git a/yardstick/vTC/apexlake/heat_templates/vTC.yaml b/yardstick/vTC/apexlake/heat_templates/vTC.yaml
index 3493328fe..86692084d 100644
--- a/yardstick/vTC/apexlake/heat_templates/vTC.yaml
+++ b/yardstick/vTC/apexlake/heat_templates/vTC.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
heat_template_version: 2014-10-16
description: HOT template to deploy a virtual Traffic Classifier
diff --git a/yardstick/vTC/apexlake/heat_templates/vTC_liberty.yaml b/yardstick/vTC/apexlake/heat_templates/vTC_liberty.yaml
index 9ae0c265b..715a181a5 100644
--- a/yardstick/vTC/apexlake/heat_templates/vTC_liberty.yaml
+++ b/yardstick/vTC/apexlake/heat_templates/vTC_liberty.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2017 user@TRAFCLASS-PACKET1.fuel.local 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
+##############################################################################
heat_template_version: 2014-10-16
description: HOT template to deploy a virtual Traffic Classifier
diff --git a/yardstick/vTC/apexlake/tests/data/generated_templates/VTC_base_single_vm_wait_1.yaml b/yardstick/vTC/apexlake/tests/data/generated_templates/VTC_base_single_vm_wait_1.yaml
index 5788980b0..20fcb6718 100644
--- a/yardstick/vTC/apexlake/tests/data/generated_templates/VTC_base_single_vm_wait_1.yaml
+++ b/yardstick/vTC/apexlake/tests/data/generated_templates/VTC_base_single_vm_wait_1.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
heat_template_version: 2014-10-16
description: HOT template to create a DPI
diff --git a/yardstick/vTC/apexlake/tests/data/generated_templates/VTC_base_single_vm_wait_2.yaml b/yardstick/vTC/apexlake/tests/data/generated_templates/VTC_base_single_vm_wait_2.yaml
index 44a81d081..493d81b7a 100644
--- a/yardstick/vTC/apexlake/tests/data/generated_templates/VTC_base_single_vm_wait_2.yaml
+++ b/yardstick/vTC/apexlake/tests/data/generated_templates/VTC_base_single_vm_wait_2.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
heat_template_version: 2014-10-16
description: HOT template to create a DPI
diff --git a/yardstick/vTC/apexlake/tests/data/generated_templates/vTC.yaml b/yardstick/vTC/apexlake/tests/data/generated_templates/vTC.yaml
index aa3959fc1..39dc095c1 100644
--- a/yardstick/vTC/apexlake/tests/data/generated_templates/vTC.yaml
+++ b/yardstick/vTC/apexlake/tests/data/generated_templates/vTC.yaml
@@ -1,3 +1,11 @@
+##############################################################################
+# Copyright (c) 2016-2017 Intel Corporation
+#
+# 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
+##############################################################################
heat_template_version: 2014-10-16
description: HOT template to create a DPI
diff --git a/yardstick/vTC/apexlake/tests/data/test_templates/VTC_base_single_vm_wait_1.yaml b/yardstick/vTC/apexlake/tests/data/test_templates/VTC_base_single_vm_wait_1.yaml
index 5788980b0..20fcb6718 100644
--- a/yardstick/vTC/apexlake/tests/data/test_templates/VTC_base_single_vm_wait_1.yaml
+++ b/yardstick/vTC/apexlake/tests/data/test_templates/VTC_base_single_vm_wait_1.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
heat_template_version: 2014-10-16
description: HOT template to create a DPI
diff --git a/yardstick/vTC/apexlake/tests/data/test_templates/VTC_base_single_vm_wait_2.yaml b/yardstick/vTC/apexlake/tests/data/test_templates/VTC_base_single_vm_wait_2.yaml
index 44a81d081..493d81b7a 100644
--- a/yardstick/vTC/apexlake/tests/data/test_templates/VTC_base_single_vm_wait_2.yaml
+++ b/yardstick/vTC/apexlake/tests/data/test_templates/VTC_base_single_vm_wait_2.yaml
@@ -1,3 +1,16 @@
+# Copyright (c) 2016-2017 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.
heat_template_version: 2014-10-16
description: HOT template to create a DPI