summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-03-01Add ability to reuse existing OpenStack set-upEmma Foley4-4/+129
This change adds two optional flags to the context configuration for heat: * no_setup -- to re-use an existing OpenStack deployment * no_teardown -- to skip undeploying the context, so it is available in other testcases In order to achieve this, resource naming had to be made more predictable. When no_setup or no_teardown are set: * Do not add a suffix to context name * When searching, try with and without a suffix to find a server by name All behaviors remain the same unless these values are set. NOTE: This feature doesn't work with the NSPerf scenario, because the interfaces in the VNFs are bound to DPDK after the first test, so the look-up for missing topology information fails in subsequent test runs, as the interfaces are not visable to the kernel. This can be addressed either by either unbinding the interfaces from DPDK at the end of each test, or modifying the look-up for the missing topology information to query DPDK as well. The change will be made in a future patch. JIRA: YARDSTICK-886 Change-Id: I6df5e86e419c283a2bee41917e4f62179aa9c31a Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-01Add methods to get an existing stackEmma Foley3-5/+118
* Add yardstick/orchestrator/heat.py:HeatStack.get * Add yardstick/benchmark/contexts/heay.py:HeatContext.retrieve_existing_stack JIRA: YARDSTICK-886 Change-Id: I6974b79a25f98066a49b1bc8ccd11383e7962091 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-01Use context name instead of key_uuidEmma Foley3-39/+36
context.key_uuid is only used as a suffix for the key files. There is already a unique ID associated with a the context; the context name includes a task ID, which is a UUID. This patch sets context.key_uuid to to context.name instead of generating a separate UUID As a result, get_short_key_uuid() is not needed. JIRA: YARDSTICK-1028 Change-Id: Id175061d6cfe23a068bb3d12ce176c1f176e8236 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-01Add _create_new_stack methodEmma Foley3-9/+49
The logic for creating a new stack in contexts/heat.py:HeatContext can added to a method to make the code eassier to read and test. This is in preparation for an update to deploy() that would allow an existing stack to be reused, or a new stack created. By having the create_new_stack logic in a new method, deploy() becomes easier to read and test. JIRA: YARDSTICK-886 Change-Id: I7af01e2209a3460658f8db0249b7c620743cced0 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-01Update TaskParser to deal with qualified name in ContextEmma Foley3-72/+154
The context name depends on the defined name in the testcase input file, the task ID and the flags of the context. If the context is going to be undeployed at the end of the test, the task ID is suffixed to the name to avoid interferences with previous deployments. If the context needs to be deployed at the end of the test, the name assigned is kept. This patch makes this process transparent to the developer. This patch modifies how TaskParser determines the correct context name, taking into account that the name might change based on context flags. JIRA: YARDSTICK-886 Change-Id: I44da30dac562c1a4166e084645ae91c17798651d Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-01Add qualified name to ContextEmma Foley14-265/+318
The context name depends on the defined name in the testcase input file, the task ID and the flags of the context. If the context is going to be undeployed at the end of the test, the task ID is suffixed to the name to avoid interferences with previous deployments. If the context needs to be deployed at the end of the test, the name assigned is kept. This patch makes base.Context use Flags when initialising contexts, this sets the name property based on the no_setup and no_teardown flags. Since base.Context is an abstract class, it cannot be instantiated. However, there are some non-abstract methods that need testing. Since DummyContext does not override any of these methods, it can be used for testing. JIRA: YARDSTICK-886 Change-Id: I1447fb5ed447691eaeb0a97f928c0b3333799d07 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-02-28Add Flags class to base.ContextEmma Foley2-1/+67
This patch adds a Flags class to represent the flags passed to the context. Flags will contain a set of attributes (for example no_setup and no_teardown). Those attributes will modify the behaviour of the context. The attributes added initially are: * 'no_setup' (default: False) * 'no_teardown' (default: False) In future patches, they will be used by the context to: * Change the name of the context. * Skip the deploy() and undeploy() methods to keep the VNFs active after the testcases are run. JIRA: YARDSTICK-886 Change-Id: I734b082aa101649eea8991304a8b753ae96aa9de Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-02-27Merge "Addition of NSB Prox developer guide."Abhijit Sinha16-0/+1226
2018-02-27Addition of NSB Prox developer guide.DanielMartinBuckley16-0/+1226
JIRA: YARDSTICK-840 This provides a developer guide to enable the reader to add NSB PROX tests based on existing PROX functionality. This allows the user to configure, run and debug NSB Prox tests for Baremetal and Openstack (both 2 and 4 ports) Change-Id: I2cb9eb6064e501dd9abe0d2cc4ed8ce4b369f174 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-02-26Merge "Testcase to find storage bottlenecks using Yardstick for Multistack"Rex Lee1-0/+77
2018-02-26Testcase to find storage bottlenecks using Yardstick for MultistackAce Lee1-0/+77
JIRA: BOTTLENECK-217 This patch is used to find storage bottlenecks while using yardstick for multistack. Shubham is busy for his exam, I can't change his patch, so I need to resubmit a patch. Change-Id: Ibf8ec3ae7f19b27254eedabb1b95bd89a0993ed7 Signed-off-by: Ace Lee <liyin11@huawei.com>
2018-02-26Bugfix: ci error due to no heat clientrexlee87761-1/+1
JIRA: YARDSTICK-1030 Change-Id: I5d9e135449b2d35f051ecf5fa63a1ce11030de4a Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2018-02-24Merge "Bug Fix: Move heat_timeout variable higher"Jing Lu1-2/+2
2018-02-23Bug Fix: Move heat_timeout variable higherDimitrios Markou1-2/+2
If a heat_template was used by a testcase the heat_timeout variable was not getting initialized and that caused errors in the Shade python module. JIRA: YARDSTICK-1027 Change-Id: Ic0bf15b13cc00595964a97f8150dc5e6f2b7e1d7 Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2018-02-23Add 'ANSIBLE_ROLES_PATH' in ansible_envJingLu52-2/+4
JIRA: YARDSTICK-1024 This work adds the 'ANSIBLE_ROLES_PATH' as one of the Ansible environment variables. This 'ANSIBLE_ROLES_PATH' is set to the roles directory in Yardstick repo. By adding this variable, Ansible will first searches the local project for a role, then searches the roles_path. It will let the users of the plugin projects to able to use a relative role path for any of their own roles in ansible playbook. Change-Id: I0926ab0c0fa5c6cc37c4fe560db5b2aec3fe6eb1 Signed-off-by: JingLu5 <lvjing5@huawei.com>
2018-02-22Merge "Fix error in address input format in "_ip_range_action_partial""Rodolfo Alonso Hernandez3-54/+80
2018-02-22Merge "Make files pep8 compliant"Emma Foley3-79/+61
2018-02-22Merge "Refactor benchmark.core.test_plugin.PluginTestCase"Rodolfo Alonso Hernandez2-82/+169
2018-02-21Merge "Bug fix for Ansible destroy VM script"Emma Foley2-11/+33
2018-02-20Merge "Proposing Abhijit Sinha as a committer in Yardstick"Ross Brattain2-0/+5
2018-02-20Make files pep8 compliantEmma Foley3-79/+61
This change makes files pep8 compliant before adding the reuse context feature JIRA: YARDSTICK-886 Change-Id: Iae7daaa159a9ddbb5809a9a7ac74f8a53683089a Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-02-19Merge "Replace neutron network deletion with shade."Emma Foley4-50/+94
2018-02-19Merge "Make segmentation_id configurable for ↵Emma Foley1-0/+7
tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex"
2018-02-19Make segmentation_id configurable for tc_heat_rfc2544_ipv4_1rule_1flow_64B_trexMytnyk, Volodymyr1-0/+7
Updated vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml TC to be able to configure segmentation_id from commmand line. E.g.: yardstick -d task start --task-args='{"provider": "sriov", \ "segmentation_id": 100}' ... JIRA: YARDSTICK-1004 Change-Id: I53daae3468de2a1f523bd96817143a5f809238a2 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-02-19Replace neutron network deletion with shade.Shobhi Jain4-50/+94
Function delete_neutron_net now uses shade client instead of neutron client. JIRA: YARDSTICK-890 Change-Id: I99b6f3ecd37d6e3b783f7eb3da9f971398fc3bdd Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
2018-02-17Fix error in address input format in "_ip_range_action_partial"Rodolfo Alonso Hernandez3-54/+80
IP address format introduced in [1] should be unicode instead of string. "ipaddress.IPv4Address(min_value)" doesn't parse correctly the input parameter unless the parameter is in unicode format; this is valid both for Python version 2 and 3. Execution error if the parameter is a string: >>> int(ipaddress.IPv4Address('10.0.3.2')) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/dist-packages/ipaddress.py", line 1391, in __init__ self._check_packed_address(address, 4) File "/usr/local/lib/python2.7/dist-packages/ipaddress.py", line 554, in _check_packed_address expected_len, self._version)) ipaddress.AddressValueError: '10.0.3.2' (len 8 != 4) is not permitted as an IPv4 address. Did you pass in a bytes (str in Python 2) instead of a unic [1]https://github.com/opnfv/yardstick/blob/e5775e7efbc55f116b4d4ac11ff87b8d8553247e/yardstick/network_services/traffic_profile/traffic_profile.py#L87-L88 JIRA: YARDSTICK-996 Change-Id: Ic727a79044834b181c99789f0f5efc21c68f0ff2 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-02-17Merge "Workaround to fix Heat stack deletion bug in Shade"Rodolfo Alonso Hernandez2-1/+20
2018-02-16Merge "Bump pip packages installed in "nsb_setup.sh" script"Rodolfo Alonso Hernandez1-1/+1
2018-02-16Merge "Fix "./docker/Dockerfile.aarch64.patch""Rodolfo Alonso Hernandez1-1/+1
2018-02-16Merge "Remove tool provisioning from DpdkVnfSetupEnvHelper._setup_dpdk"Rodolfo Alonso Hernandez3-41/+34
2018-02-16Refactor benchmark.core.test_plugin.PluginTestCaseRodolfo Alonso Hernandez2-82/+169
Tests in benchmark.core.test_plugin.PluginTestCase are not covering correctly the functionality of the tested class. YARDSTICK-851 Change-Id: I0b4cda7dbf109776a202167abfde8c9eb268db12 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-02-15NSB: Ixia remove unused traffic_generator argRoss Brattain3-58/+29
also fix pylint unittest warnings JIRA: YARDSTICK-1014 Change-Id: I4ff9769fdca89c6fc1fb9ca62e9f8ea6b174681e Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-02-15Merge "Update heat RFC2544 based TC to support SRIOV VF ports."Emma Foley1-0/+11
2018-02-15Workaround to fix Heat stack deletion bug in ShadeRodolfo Alonso Hernandez2-1/+20
There is a bug in Shade, in the function "event_utils.poll_for_events". While Shade is waiting for the Heat stack to be deleted, retrieves periodically the status of this Heat stack. When the stack is deleted, the function "get_stack" [1] returns None; then L90 tries to access to a key of this None object. [1]https://github.com/openstack-infra/shade/blob/e5bcb705c5b32334cdc1dd9807126298c87b0622/shade/_heat/event_utils.py#L89-L90 Shade function JIRA: YARDSTICK-1015 Change-Id: I56ea853be41bfd7f63e094d7a3696d97ba078ba4 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-02-14BugFix: Fix to pod context filenameXavier Simonart1-1/+1
The "context:file" of tc_prox_baremetal_lw_aftr has an incorrect path, compaired to all other prox test cases. Change-Id: Id24e74905f36bc84fdf93d1a2966211ecad55c8b Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
2018-02-14Update heat RFC2544 based TC to support SRIOV VF ports.Mytnyk, Volodymyr1-0/+11
Updated vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml TC to be able to run it in heat context with SRIOV VF ports configured in OpenStack. E.g.: yardstick task start --task-args='{"provider": "sriov"}' ... yardstick task start --task-args='{"provider": "sriov"}\ physical_networks: ["physnet1", "physnet2"]}' ... Console log: http://paste.openstack.org/show/666931/ Result output: http://paste.openstack.org/show/666930/ JIRA: YARDSTICK-1004 Change-Id: If0dabd0791e4e295782fee0f3de1536474218876 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-02-14Merge "Fixed document for Grafana Port usage"Rodolfo Alonso Hernandez1-3/+3
2018-02-14NSB: fix test_vpe_vnf.pyRoss Brattain1-1/+1
Change-Id: Ie1da572e2ac00e380b25f8e22f5aa9059dcb5238 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-02-14NSB: fix pylint warnings in test_tg_ixloadRoss Brattain1-2/+9
Change-Id: Ieb58167d8b20e0de32578b3df105a141507869d5 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-02-14NSB traffic_profile: fix pylint warnings and return partialRoss Brattain2-74/+124
also fix unittests Change-Id: Ie3026f5a0df8e690271afb71fe36ac531cbae2a0 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-02-14constants: fix pylint warnings for OSErrorRoss Brattain1-6/+4
IOError and OSError are the same in Python 3? Anyway we want to ignore ENOENT, not EEXIST JIRA: YARDSTICK-1012 Change-Id: Ia75e41fecce505685745e0099669e45f3e82a1be Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-02-13Merge "Move tests: unit/benchmark"Rodolfo Alonso Hernandez146-928/+832
2018-02-13Bug fix for Ansible destroy VM scriptJohn O Loughlin2-11/+33
Modified the destroy script to ignore errors as 2 possible problems can cause a play to fail. 1. A VM can be running but undefined. 2. A VM can be destroyed but still running. JIRA: YARDSTICK-1006 Change-Id: Ib66f48401bfefb598f553cfef31bfa2682f5a584 Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
2018-02-12Bump pip packages installed in "nsb_setup.sh" scriptRodolfo Alonso Hernandez1-1/+1
Bump pip package versions installed in "nsb_setup.sh" script to match "./requirements.txt" versions. JIRA: YARDSTICK-1008 Change-Id: Icb0f7e99c1be38848ee7122735ace7c1c715ef5b Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-02-12Fix "./docker/Dockerfile.aarch64.patch"Rodolfo Alonso Hernandez1-1/+1
Patch "./docker/Dockerfile.aarch64.patch" doesn't apply on "./docker/Dockerfile" due to the latest modification done in the original file The original reference lines must be changed. JIRA: YARDSTICK-1007 Change-Id: I5cfc349fbaf34e8da59608e5b803818e2cd9d295 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-02-12Move tests: unit/benchmarkEmma Foley146-928/+832
* Fix pylint errors * Add TODOs Some errors are ignored locally, as they were a symptom of other problems. These issues have been flagged with a TODO, and should be fixed later. Change-Id: I30eb4b0aafe0575d0cddbc946108291f21a98ed8 Jira: YARDSTICK-837 Signed-off-by: Emma Foley <emma.l.foley@intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-02-12Merge "Create host VMs configuration"Emma Foley5-2/+438
2018-02-12Merge "Heatstack create: fix str/bytes error in NamedTemporaryFile.write()"Emma Foley2-2/+2
2018-02-12Merge "Replace neutron get network id with shade."Emma Foley4-115/+142
2018-02-12Remove tool provisioning from DpdkVnfSetupEnvHelper._setup_dpdkRodolfo Alonso Hernandez3-41/+34
Both "uio" and "igb_uio" drivers are present in the VM image generated using "./nsb_setup.sh" script. "igb_uio" driver is compiled along with the DPDK library compilation. Tool "nsb_setup.sh" provisioning and execution should be removed from this function because there is not needed anymore. In case "igb_uio" driver is not loaded, an exception should be raised. JIRA: YARDSTICK-999 Change-Id: I89174f84ac36d8231587402c96751746cb18e290 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>