aboutsummaryrefslogtreecommitdiffstats
path: root/functest/opnfv_tests/openstack/vping
AgeCommit message (Collapse)AuthorFilesLines
2018-02-16Get properly env vars or their default valuesCédric Ollivier1-1/+2
It defines env.get() as an unique way to get Functest env vars or their default values. It can be considered as a wrapper above os.environ. It enforces backward compatibility via CONST which mustn't be used for that purpose. It should be noted that it also stops using CONST for getting OpenStack env vars. Change-Id: I333dc1afbc0123166a7eaff8b551370098efa341 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-01-30Remove duplicated code related to snaps credsJuha Kosonen1-10/+1
Add support for providing credentials in snaps_utils. JIRA: FUNCTEST-916 Change-Id: I3e027229d213d3791a115920f7012309cc027712 Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
2018-01-28Fix warnings in all snaps-related modulesCédric Ollivier3-45/+31
It also adds vping/__init__.py to stop skipping vping unit tests. It removes the useless import os which is not required for mock (here the mock patch was simply false). It should be noted that the code is partially duplicated between snaps_test_runner.py and vping_base_base.py. A small part of code has been rewritten to fix that without multi inheritance. Change-Id: I2e3e181ad7dab8aa41afb1e63d0b6795ff0d1610 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-12-11Set the ram of flavor 1024Linda Wang1-2/+4
The setting of hw:mem_page_size=large indicates larger page sizes for guest RAM, eg., either 2MB or 1GB on x86. When tested on compass, 1GB is required. Change-Id: Iefd2e8ff30e0a496157e0bd118e63ab3c402abab Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-12-06Fix the yamllint errors in functest/ciLinda Wang1-4/+2
And also, remove the params "tempest_use_custom_images" and "unique_names" of vping, rally and tempest. Change-Id: Ic4243ef2f5e965910e5befa87db8d585cad34fa2 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-12-05Fix pylint errors of vpingLinda Wang3-22/+25
Change-Id: I272f0eb6fb0f2a274484a3dcfacd8ed65e4a5b23 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-11-21Removal of deprecated SNAPS-OO classes.spisarski3-40/+39
JIRA: SNAPS-202 Change-Id: I115b4927b287a5525f4c1b95128d91f5229c7856 Signed-off-by: spisarski <s.pisarski@cablelabs.com>
2017-10-03Report duration and result when vping failsCédric Ollivier1-1/+3
It completes "Bug fix: vping_userdata test status was not properly reported" [1]. [1] https://gerrit.opnfv.org/gerrit/#/c/43911/ Change-Id: I7e8be6cd564a24ca174e63cfc295861c51cae8ed Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-10-03Create a router in both vping scenariiCédric Ollivier2-19/+17
It fixes vping_userdata as it allows getting metadata due to the gateway defined for the subnet. It could be noted that DHCP can add the route needed if no gateway is defined and if force_metadata is set in dhcp_agent.ini. Change-Id: Ia62e0f00e3d2caee6262dd9cd9966d1f21fe40d5 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-10-02Bug fix: vping_userdata test status was not properly reportedMorgan Richomme1-1/+1
vping_base is calling vping_userdata vping_user data could return only EX_TESTCASE_FAILED or EX_OK by default vping_base always returns EX_OK (based on self.result=100..) it returned EX_RUN_ERROR only if upper class report EX_RUN_ERROR that is why vping_userdata was always PASS even if the trace "Ping OK" cannot be retrieved from the Nova console it seems that when running the vping_userdata, we systematically got Failed to read iid from metadata Change-Id: If72441dd93bffada5c7a5399c87db68d7ebeebed Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
2017-09-30Fix userdata issue for vping and orchestraLinda Wang2-4/+4
1. When creating VM, the type of the param userdata should be str, to conform with that in snaps [1]. 2. Remove the infinite loop for vping in userdata 3. Fix the criteria for vping_userdata and vping_ssh [1]: https://git.opnfv.org/snaps/tree/snaps/openstack/utils/nova_utils.py#n92 Change-Id: I262a7ebb93ec90bb6f8f3acb5d564f210abcfc4b Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-08-28Obtain scenario by CONST instead of get functionLinda Wang1-2/+1
JIRA: FUNCTEST-763 Change-Id: Ic9fa3243b50a09de8a5e531fed8298997367dd84 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-08-25Fix the config of vping netLinda Wang1-3/+3
Change-Id: I71cea850985c67cf4c4e42a29600f9d63291fc94 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-08-24Merge "Added means to override the RC file credentials."Linda Wang1-1/+7
2017-08-22Specify physical_network when creating networkLinda Wang1-4/+23
When the network_type is vlan, it is necessary to specify physical_network and segmentation_id. JIRA: FUNCTEST-863 Change-Id: Ia1acb0181e4f78654ecf5500c4c0366b143a91f5 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-08-21Added means to override the RC file credentials.spisarski1-1/+7
This has been done primarily to support tests using SNAPS-OO JIRA: FUNCTEST-847 Change-Id: Icf02c085a95c20d4088e5aafd6380c70689a4ee0 Signed-off-by: spisarski <s.pisarski@cablelabs.com>
2017-07-29Restrict ping only once in ping.shLinda Wang1-11/+8
Otherwise, it makes no sense to configure ping_timeout as 200 times. Change-Id: I6e15f5149f24a4316f6d5b70bcda9a46418d1522 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2017-07-18Merge "Change calls to SNAPS library exposing OpenStack instance objects."Jose Lausuch1-1/+1
2017-07-14Change calls to SNAPS library exposing OpenStack instance objects.spisarski1-1/+1
Openstack object structures can change when new API versions are released and SNAPS no longer is exposing OpenStack object implementations as this makes the library brittle. The only two SNAPS method calls affected are when functest needs to query for external networks and when vPing Userdata needs to obtain the console logs. JIRA: SNAPS-125 Change-Id: If6000e50eaa274713d9a6c964eabd1f73ded684e Signed-off-by: spisarski <s.pisarski@cablelabs.com>
2017-07-11Add decorators in testcases for energy recording.Benoit HERARD1-29/+49
Test cases are: - rally (sanity and full) - refstack - cloudify_ims - vping_ssh It also fix a bug on "energy_recording" decorator of energy module. Change-Id: I625c214552ad1b89eaf7e196e706d7c69b37da33 Signed-off-by: Benoit HERARD <benoit.herard@orange.com>
2017-07-06Fix logger name in vping_base.pyCédric Ollivier1-1/+1
It conforms with logging.ini which requires qualnames. Change-Id: Ic2f849009c31a3a7bc406fc44c4917d19ccf2424 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-07-05bugfix: vping support not_hugepage_configured podSerenaFeng1-1/+1
this bug was fixed in https://gerrit.opnfv.org/gerrit/#/c/35181/ but was reverted in https://gerrit.opnfv.org/gerrit/#/c/35671/ Change-Id: I5cbbd61ac196dc39c073ffc69254d987e4807130 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-07-02Apply restrictive file permissionsCédric Ollivier1-0/+0
It conforms with [1] by creating a new venv which checks the unix permissions. As jjobs call Functest console scripts [2], all perms can be 644. Dockerfiles are updated as well. [1] https://security.openstack.org/guidelines/dg_apply-restrictive-file-permissions.html [2] https://gerrit.opnfv.org/gerrit/#/c/36805/ Depends-On: I9209e6efa1b493e24135402a46df72aaa14115d1 Change-Id: I31bc7f12b775928845e23b6b40288b0a50b87219 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-06-30Define console_scriptsCédric Ollivier2-16/+3
Only prepare_env.py and run_tests.py remain executable to avoid breaking the gate. As soon as the jenkins jobs are updated to run them from $PATH, tox will be updated to protect against chmod a+x py files. Dockerfile will be simplified as well. Change-Id: Iac1a7ceb6b344e800177226ea39919826f6d3735 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-06-27Added unit tests for vping.spisarski2-100/+56
Also removed some instance variables and unnecessary methods. JIRA: FUNCTEST-813 Change-Id: I13895674a9fd3de16c6a19410661440c5380c2f8 Signed-off-by: spisarski <s.pisarski@cablelabs.com>
2017-06-26Fixed problem to vping userdata introducted by SNAPS-OO patch.spisarski1-1/+1
Changed get_vm_inst() to return a domain object forgot to change the call in vping_userdata.py. JIRA: SNAPS-92 Change-Id: I7585dcde483c39fa850e5184686f42bbf2e8f3c5 Signed-off-by: spisarski <s.pisarski@cablelabs.com>
2017-06-20Remove all references to /home/opnfv/repos/functestCédric Ollivier2-6/+6
It also removes relative (and incomplete) references which could be defined in modules instead of this global configuration. Change-Id: Ie20dc3547e49b6224aa8100cd380d37b87ece5a9 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-30Merge "Define create_snapshot() and clean() in TestCase"Cedric Ollivier1-5/+5
2017-05-30Merge "vping&snaps_xxx support not_hugepage_supported pod"Serena Feng1-1/+1
2017-05-30Define create_snapshot() and clean() in TestCaseCédric Ollivier1-5/+5
They replace the former calls in run_tests which are not suitable for all test cases. Now any test case can define how to clean its resources. If the snapshot cannot be created, the test case is considered as failed. Only a message is printed if any failure during cleaning. It also defines a new class called OSGCTestCase useful for test cases which don't clean their OpenStack resources. All test cases located in opnfv_tests/openstack inherit from it to keep the global behavior unchanged. It also deletes exit instructions in openstack_clean and openstack_snapshot, removes clean flags in testcases.yaml and updates the related utils. All Docs are modified as well. JIRA: FUNCTEST-438 Change-Id: I8938e6255708012380389763a24059ace4ce45d8 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-28Switch shebangs to /usr/bin/env pythonCédric Ollivier3-3/+3
It modified the shebang to /usr/bin/env which is considered as more flexible. Change-Id: I9c8cdb4243d41a83d524499cc91060d3700e008b Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-05-25vping&snaps_xxx support not_hugepage_supported podSerenaFeng1-1/+1
if flavor_metadata is set to {'hw:mem_page_size': 'any'}, it means hugepage must be support by pod. but actually hugepage is not supported by all pods Change-Id: Ib0b716ecedacf7eeba2c0d0080be2707b1a87e73 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2017-05-17Update self.result value to INTjose.lausuch1-1/+3
So far, the test cases are storing a string "PASS" "FAIL" in the self.result variable. The way the new framework works is with INT Values. Change-Id: I45e8693327740faadd8254b21569adfb2cefa6c8 Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
2017-05-16Converted vPing to leverage the object-oriented SNAPS library.spisarski3-385/+436
JIRA: FUNCTEST-577 1. Replaced procedural openstack_utils with the object-oriented SNAPS library 2. Tests now clean themselves up. 3. Improved code documentation. 4. Removed dependency on file-based Cirros image and now leveraging the download URL. 5. Removed hardcoded location to the testcases.yaml file to leverage the value in config_functest.yaml 6. Included optional flavor metadata based on the scenario being tested 7. Included support for multi-part images. 8. Added enhanced support for configurable images. see SNAPS-76 Fixed line length verification problem with the previous submission Fixed retrieval of external network name to be dynamic. Changed external network name retrieval to leverage the newly merged snap_util.get_ext_net_name() function Added the creation and deletion of flavors. SNAPS now has the ability to add/remove security groups from running instances. Changed VMInstance constructor by moving userdata to configuration object. Change-Id: I0ef5e268eb153d696bb4d9a7533f780e5c603d26 Signed-off-by: spisarski <s.pisarski@cablelabs.com>
2017-05-04Delete functest.utils.functest_loggerCédric Ollivier2-4/+6
It deletes functest.utils.functest_logger and the related unit tests. Then it modifies all functest modules to get all loggers via logging.getLogger(). __name__ is mainly used as getLogger arg as proposed by logging [1]. All loggers and handlers are now defined via functest/ci/logging.ini instead of a dict loaded by an external json file. Now only warn messages and info messages from ci and core packages are printed in console. [1] https://docs.python.org/2/library/logging.html Change-Id: Ic192855e0f9bf94825d8f7ec73549a0f3b8d44c5 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-26Switch TestCase attribute criteria to resultCédric Ollivier1-1/+1
It mainly avoids mixing input and output. Criteria is now an input set in functest/ci/testcases.yaml and then must be passed as __init__() args (which will be proposed in an additional change). Then it also renames the related TestCase method to check_result(). Change-Id: Ifc3c8e3ea6cde7e3edf7174bed4bf2bf0894e8e3 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-11Modify TestCase constructor attributesCédric Ollivier3-6/+10
Every feature/testcase now allows receiving the data defined in testcases.yaml as args (name is renamed to case_name). From the time being, only project and case names are handled. Next pending patches will add criteria, cmd and repo to this list. It keeps the default values for case names except for features which will be aggregated into Feature. Change-Id: Id742d100b8183d7f10894c24ae6879d1b2b60ac9 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-04-04Add case_name as constructor argCédric Ollivier3-8/+6
It allows managing multiple TestCase names with only one TestCase module. It is mainly required by odl which implements: - odl, - odl_netvirt, - fds. It also renames case to case_name in Features to conform with TestCases. JIRA: FUNCTEST-762 Change-Id: Ie254f754a0ea3077a8afda1c470528d38c79478f Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-03-27Rename testcase_base to testcaseCédric Ollivier2-15/+15
It simply removes the useless suffix. Change-Id: Ib9a682b57d8f33518359d817a593bb3786577390 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-03-27Switch TestcaseBase to TestCaseCédric Ollivier2-13/+13
It partially reverts "Rename TestCasesBase into TestcaseBase" [1] and removes the useless suffix too. [1] https://gerrit.opnfv.org/gerrit/#/c/25391/ Change-Id: Iddf2ec8d6c1dafe6e4c6713c2e69969613317471 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-02-23WIP: Cirros TestVM: Allow config of username/passwordAlexandru Avadanii2-4/+4
With the recent changes in Cirros image default password, we need to support configuring these credentials. JIRA: ARMBAND-218 Change-Id: I5962ec2aeee4ffecefdd8b7e70bdb7ed88457553 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-02-13Revert "write test results to a local file"Cédric Ollivier1-1/+1
This reverts commit ee21af78fbfc93e888acda121f08d2b216dd0159. Change-Id: If7c8d3b645073574862eb67225b1e11b0dd7a021 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2017-01-22Merge "Reverted the file permission"Helen Yao1-0/+0
2017-01-17write test results to a local filewu.zhihui1-1/+1
Write test result to a file or push it to DB depends on the value format of test_db_url which is defined in config_functest.yaml. Meanwhile, test_db_url can be set by os envrion value "RESULT_STORE". If test_db_url is a url, e.g. http:// or https://, then push result to DB. If test_db_url is a file location, e.g. file:///, then write results to a file with json data. One result record, one line. JIRA: FUNCTEST-657 Change-Id: I579087cd2c24d61a79142b5d67003fb486b6c723 Signed-off-by: wu.zhihui <wu.zhihui1@zte.com.cn>
2017-01-04Reverted the file permissionhelenyao1-0/+0
There are some files whose permissions are changed unintendedly. Revert all of them. mode change 100644 <= 100755 functest/core/pytest_suite_runner.py mode change 100644 <= 100755 functest/opnfv_tests/openstack/vping/vping_base.py mode change 100644 <= 100755 functest/utils/openstack_tacker.py mode change 100644 <= 100755 functest/tests/unit/odl/test_odl.py mode change 100644 <= 100755 requirements.txt mode change 100644 <= 100755 test-requirements.txt Historical comments that changed the permission for reference changeID: Ia02760fd98aaab59a6cf0a90a2020b76e0c92df6 changeID: Id6815f96a11f2918bc2c7bc1c33f38c3f5754e11 changeID: Ic8c01b9b7ed86d3bdd9f5125504bc47f46a37700 changeID: I9f1a408f0e43bff4499575fa57cabd1a83d99b3a Change-Id: I1deadd77cc78f2186f82de79233aabe97ac21b26 Signed-off-by: helenyao <yaohelan@huawei.com>
2016-12-21refactor vping using new constants providerSerenaFeng1-24/+19
JIRA: FUNCTEST-673 Change-Id: I56ac66662b53593257609fa87c16df52440f7458 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
2016-12-20Remove backslash to meet PEP8 requirementhelenyao2-6/+6
JIRA: FUNCTEST-630 Change-Id: Ia02760fd98aaab59a6cf0a90a2020b76e0c92df6 Signed-off-by: helenyao <yaohelan@huawei.com>
2016-12-15Fix file permissionsCédric Ollivier2-0/+0
It has been fixed by calling [1] [1] find ${FUNCTEST_REPO_DIR} -name "*.py" \ -not -path "*tests/unit*" |xargs grep __main__ \ |cut -d\: -f 1 |xargs chmod -c 755 && find ${FUNCTEST_REPO_DIR} -name "*.sh" \ |xargs grep \#\! |cut -d\: -f 1 |xargs chmod -c 755 Change-Id: I654d9221179e60ea45d1db83157c4a9aa9497b69 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2016-12-02Rename TestCasesBase into TestcaseBasehelenyao2-15/+15
JIRA: FUNCTEST-628 1. rename the TestCasesBase into TestcaseBase 2. updated the module name to testcase_base.py Change-Id: Ic6b5d8209098c136613a2419c3790668fdbd493e Signed-off-by: helenyao <yaohelan@huawei.com>
2016-12-02remove functest_repo from TestBase, move it to vPingBaseMorgan Richomme1-0/+2
Change-Id: I6e9ebc7280b24ced9b62bfa4fa38b08128febb42 Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>