aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick
AgeCommit message (Collapse)AuthorFilesLines
2018-03-09Make Sample VNF hugepages size configurableRodolfo Alonso Hernandez1-2/+2
The amount of hugepages claimed for a Sample VNF is always 16GB. This value is excesive for most of the Sample VNF applications (except for vPE). Making this parameter configurable we allow to spawn smaller VMs by using less hugepages (in case of StandAlone and OpenStack deployments). Because this parameter depends on the Scenario and the type of VNF executed, the parameter is located in: scenarios: {options: hugepages_gb} # number of GB of hugepages claimed PENDING: document this new parameter. A new userguide section should be created to document all "scenario" sections and parameters. JIRA: YARDSTICK-1061 Change-Id: I6f082e105289bd01781be18f2fecbe0ba2fdfdee Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-09[Bug Fix] Support nova create instance operationDimitrios Markou2-0/+50
Add the ability to create a nova instance through the operation perspective JIRA: YARDSTICK-1038 Change-Id: Idac141958d65cc6c53b6bd27df83ac74ae8804ec Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2018-03-08Reduce the log level if TRex client is no connectedRodolfo Alonso Hernandez1-1/+1
If the TRex client is no connected, the testcase will write an exception log that will be thrown to the CLI. There is no need to show the traceback in the CLI in this case. The log level is reduced to "error". JIRA: YARDSTICK-1059 Change-Id: I22a52cedd6479f4cf692ba16a8415f7b8f574ab1 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-08Fetch Nova instance's private IPDimitrios Markou2-0/+28
Add the capability to fetch the private IP of a Nova instance through the operation perspective. JIRA: YARDSTICK-1040 Change-Id: Idc3d62bcd3f477a03a89f7dcc8d8616f3cfa2742 Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2018-03-08Assign nova instance to security groupDimitrios Markou3-0/+55
Support the assigning of a nova instance to an existing security group through the operation perspective Change-Id: Ic1c26031c25d400fede2ecb298a66aec42dcfbc5 Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2018-03-08[bugfix] report generate command print errorrexlee87761-1/+1
JIRA: YARDSTICK-1056 Change-Id: I32ab9ae7482f6b81e00d6d3e7e858d980a2dd95f Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2018-03-07Merge "NFVi Test stops after one hour even if configured context duration is ↵Ross Brattain1-2/+4
longer"
2018-03-07NFVi Test stops after one hour even if configured context duration is longerDanielMartinBuckley1-2/+4
JIRA: YARDSTICK-1021 If the Test is to take longer than the Default Duration timer use defined test time. If not use Default Duration time Change-Id: Idacc188e199ff031310b9826238b63ed3f2ea409 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-03-07Merge "Add l2fwd module in Tgen mode"Jack Chan3-0/+793
2018-03-07Merge "[bugfix]tc006 failed due to volume attached to different location ↵Rex Lee2-6/+26
"/dev/vdc""
2018-03-06Merge "Add start service operation"Ross Brattain1-0/+3
2018-03-06Merge "Move SSH key generation from "init" to "deploy""Emma Foley2-37/+91
2018-03-06Move SSH key generation from "init" to "deploy"Rodolfo Alonso Hernandez2-37/+91
In [1], the Context SSH key generation was modified; the SSH now has a name matching the name context (which depends on the given name and the task ID). In a test suite, the task ID is the same for all test cases executed in the same batch. If the context name of different test cases is the same (there is no impediment, e.g.: "demo", "yardstick"), the SSH key filename will be the same. Currently the SSH key generation is done during the initialization process, at the begining of the test suite executing. If, by coincidence, two test cases have the same context name, the first one will remove the SSH key file during the "undeploy" process; then the second one will rise an exception because the SSH key file is deleted. This patch moves the SSH key file generation from the initialization process to the context deploy process: TEST SUITE: - init: parse all test cases - test case 1: - deploy (generate SSH keys) - run - undeploy (delete SSH keys) - test case 2: ... [1] Id175061d6cfe23a068bb3d12ce176c1f176e8236 JIRA: YARDSTICK-1045 Change-Id: I05dc46db20d2a0cba3092c415ce9b248513406fb Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-06Add start service operationDimitrios Markou1-0/+3
Support the capability to start a service through the operation perspective. JIRA: YARDSTICK-1041 Change-Id: If817f4a522546de2e4a826c1e85b3545e6f3efed Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2018-03-06Replace assert statements in testsEmma Foley2-20/+20
JIRA: YARDSTICK-966 Change-Id: Ic98711fa1a31d27fcb60bd96b1b3e22b5cca86b3 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-06Merge "Enable heat context to support existing network"Jack Chan7-34/+97
2018-03-05Merge "Error in string format in HeatTemplateError message"Ross Brattain1-1/+1
2018-03-05Error in string format in HeatTemplateError messageRodolfo Alonso Hernandez1-1/+1
There is a missing "s" in HeatTemplateError message [1]. [1]https://github.com/opnfv/yardstick/blob/8400c1895c49cb0c7802692f75d820fb5b8b7dc4/yardstick/common/exceptions.py#L70 JIRA: YARDSTICK-1047 Change-Id: Ieb6fbf0af35d624015dbf34f34de7c7cc9145dd5 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-05Merge "Fix report generation"Ross Brattain1-3/+5
2018-03-05assertTrue(mock.called) -> mock.assert_calledEmma Foley33-92/+92
When checking whether a mocked method has been called, mock.assert_called or mock.assert_called_once should be used, and not unittest.assertTrue(mock.called) This change does this update. It can be verified with: grep -irn "self.assertTrue(.*called)" --exclude-dir=.tox And the replacement was done with: sed -i 's/self.assertTrue(\(.*\).called)/\1.assert_called_once()/g' <list_of_files> Change-Id: I4f26e0c736bf33e0b2413c8e8c33dbdb91f090e2 JIRA: YARDSTICK-865 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-05Fix report generationXavier Simonart1-3/+5
The command "yardstick report generate task_id yaml_name" was returning some errors and failing to generate a html report. With this fix an html report will be generated with all data from influx. JIRA: YARDSTICK-1023 Change-Id: If9aab4b85cfb2b5809f608568e1adb2ddeec8b78 Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
2018-03-02heat: replace neutronclient with shadeRoss Brattain1-7/+6
neutronclient is deprecated and also has bunches of issues with SSL and such. JIRA: YARDSTICK-890 JIRA: YARDSTICK-1032 Change-Id: I41c9aac0ea69e1307560a001f7dc34178fcd7e71 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-03-02Merge "VNF interfaces are sorted by "vpci" address before being populated"Ross Brattain2-19/+15
2018-03-02Merge "Prohibit the importation of a list of libraries"Ross Brattain8-3/+127
2018-03-02Merge "Remove main() and __main__ from tests."Ross Brattain92-632/+0
2018-03-02Add yardstick.benchmark.contexts.heat.HeatContext._delete_key_file()Emma Foley2-7/+13
* Move logic for removing key file into its own method * Update the log message to be more useful JIRA: YARDSTICK-1026 Change-Id: I8c131720ed91c939698c41ad63d586396fcce1fe Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-02VNF interfaces are sorted by "vpci" address before being populatedRodolfo Alonso Hernandez2-19/+15
In [1], VNF interfaces in TG PROX are sorted by "vpci" address, before this value is populated in "vnfd_helper". "vpci_if_name_ascending" is only used in TP ProxPofile [2] to generate the stats. This patch delays this sorting process until the stats generation. [1]https://github.com/opnfv/yardstick/blob/a74ad5a1ec1a73389c5983440b2031b0bc72cea1/yardstick/network_services/vnf_generic/vnf/tg_prox.py#L62-L64 [2]https://github.com/opnfv/yardstick/blob/a74ad5a1ec1a73389c5983440b2031b0bc72cea1/yardstick/network_services/traffic_profile/prox_profile.py#L33 JIRA: YARDSTICK-1044 Change-Id: I988dc48f9a82baa1c64f728d9e6d54f2f4bae010 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-02Remove main() and __main__ from tests.Emma Foley92-632/+0
Removes the unnecessary main() functions from tests. Also removes shebang (#!) where it appears at the top of files. JIRA: YARDSTICK-861 Change-Id: I79180d1eb9c5bce640142dd62ce28c7437c1b210 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-02Replace assertEqual(None, xx) with assertIsNone(xx)Emma Foley6-9/+9
Change-Id: Ie956d8064a8fbcbd3d56c5a79c4c613d35184af4 JIRA: YARDSTICK-942 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-02Make files pep8 compliant before replacing assertEqual(None, xx)Emma Foley1-1/+1
* tests/unit/network_services/helpers/test_samplevnf_helper.py * tests/unit/network_services/traffic_profile/test_rfc2544.py * yardstick/tests/unit/common/test_ansible_common.py JIRA: YARDSTICK-942 Signed-off-by: Emma Foley <emma.l.foley@intel.com> Change-Id: Ib3c71db5f5774d2bfb3a9cbd260b838eb5501448
2018-03-02Merge "Add "render-only" option to "task" command"Rodolfo Alonso Hernandez5-54/+235
2018-03-01Merge "Add ability to reuse existing OpenStack set-up"Ross Brattain4-4/+129
2018-03-01Add "render-only" option to "task" commandRodolfo Alonso Hernandez5-54/+235
This new option provides to the user the ability to output the rendered input files. This option could be useful in case the input files are Jinja2 templates, depending on input arguments. The user can preview the rendered input tasks files without executing them. JIRA: YARDSTICK-1020 Change-Id: Ib15ade7e1adcb29beae5e635fb5d02045c4432bb Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
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-01NSB: move interface probe to VNF, and attempt driver-only probe firstRoss Brattain14-449/+651
If no devices are present we can't detect MAC address so we can't match Heat ports to interfaces. If only the driver is missing we can try to probe the driver using lspci. We can use lspci to ask the kernel what driver it should use for the PCI device. If we can't probe at all because the device is already bound, we can use dpkd-devind to find all the PCI address we care about and create a map with PCI device and real kernel driver. Then we can dpdk force rebind to the kernel driver. Once we have rebound to the kernel driver we can detect MAC address and all the other attributes that are required. Fix VnfSshHelper to allow override of wait timeout And a bunch of other refactors that got swept up in this JIRA: YARDSTICK-835 Change-Id: I14cb657ed289a77941d048345d06ced5b5d5da52 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-03-01Merge "Add methods to get an existing stack"Ross Brattain3-5/+118
2018-03-01Merge "Use context name instead of key_uuid"Ross Brattain3-39/+36
2018-03-01Merge changes from topics 'feat/keep_vnf', 'YARDSTICK-886'Ross Brattain17-345/+520
* changes: Add _create_new_stack method Update TaskParser to deal with qualified name in Context Add qualified name to Context
2018-03-01Merge "vFW scale-up template."Ross Brattain4-16/+142
2018-03-01Merge "Add arguments to the traffic profile render"Ross Brattain8-91/+242
2018-03-01Merge "Import "traffic_profile" modules only once"Ross Brattain15-174/+232
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-01vFW scale-up template.Mytnyk, Volodymyr4-16/+142
Added topology and traffic profile templates Added support for using JinJa2 templates in topology definition Added support for static pipeline configs for SampleVNFs JIRA: YARDSTICK-1043 Change-Id: Iab99fd5b5ad69ca32ee70b9fe47779387ad27e7f Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com> Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-03-01Merge "Module to manage pip packages"Rodolfo Alonso Hernandez14-4/+413
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-03-01Add arguments to the traffic profile renderRodolfo Alonso Hernandez8-91/+242
In order to render configurable traffic profiles in NSB test cases, a new variable is introduced: "extra_arg". The content of this variable is added to the VNFD render data, under a key called "extra_args". This will allow the user to define Jinja templates for traffic profiles. E.g.: $ cat test_case_definition.yml scenarios: - type: NSPerf traffic_profile: traffic_profile.yml extra_args: vports: 10 $ cat traffic_profile.yml {% set vports = get(extra_args, 'vports', '0') or 4 %} {% for vport in range(vports|int) %} uplink_{{vport}}: data... {% endfor %} JIRA: YARDSTICK-946 Change-Id: Ib3c1f2d89efa012772edf2156e97d5f4742a6b80 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-01Import "traffic_profile" modules only onceRodolfo Alonso Hernandez15-174/+232
"traffic_profile" modules should be imported only once. Every time TrafficProfile.get is called, the modules under "yardstick.network_services.traffic_profiles" are loaded [1]. Instead of this, the modules should be registered only once the first time "yardstick.network_services.traffic_profiles.base" is loaded. This will reduce the execution time and will avoid unnecessary calls. [1] https://github.com/opnfv/yardstick/blob/d2c7cc4e9768ed003257a95c92cdb278d516761b/yardstick/network_services/traffic_profile/base.py#L36-L37 JIRA: YARDSTICK-951 Change-Id: Ia3565378ba3a1377fcb0aea8bda50ef8189414fd Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>