summaryrefslogtreecommitdiffstats
path: root/tests/functional
Commit message (Collapse)AuthorAgeFilesLines
* Reorder test files removing redundant dirsValerii Ponomarov2019-03-0631-0/+0
| | | | | | | | | | Move all the files of 'tests/functional/common/' dir to the 'tests/functional/', because 'common' is the only dir there, which doesn't really makes sense. Do the same about 'tests/functional/common/heketi/heketi_tests' and 'tests/functional/common/heketi/'. Change-Id: I1fa55e2e7bf09e9b9115629b06e1fd160e291a36
* Add TCs creating block-PVCs and app pods changing node scheduling policynigoyal2019-03-061-1/+147
| | | | | | | Add 2 test cases, where one verifies creation of an app pod on the Gluster node and another on the separate node Change-Id: I99dfc5db7fa74d0f69115cfed470f72e66b1a256
* Add tc creating and verifying pvc with volname prefix on an app podroot2019-03-051-0/+14
| | | | Change-Id: I519ce5c26f7bd6480a48512744626ba812524413
* Add CRS support for 'test_glusterblock_logs_presence_verification' tcValerii Ponomarov2019-03-041-20/+17
| | | | Change-Id: I95154066af3e574059199ced18239f7e34c95335
* Add CRS support to 'test_to_check_entry_in_fstab_file' tc and rename itValerii Ponomarov2019-02-281-18/+17
| | | | | | | Changing assertion logic. Now, instead of checking fstab file, we check brick paths presence on Gluster PODs and nodes. Change-Id: I00ed0cb5ef18b67ad0f112276120624c0c0b0763
* Use unique prefixes for test cases in 'test_gluster_services_restart.py'Valerii Ponomarov2019-02-261-5/+2
| | | | | | | | | | | | Right now, we use single prefix for all the test cases of 'test_gluster_services_restart' python test module. It is fragile approach, because if first test fails to delete heketi or gluster volume, then all other test cases fail too, but should not do it. So, use unique prefixes for each of the test cases in this module, to make failure be unique per test. Change-Id: I1cc68ffc0553f79d0b0623335a2aaf985feabade
* Merged HeketiBaseClass to BaseClassvamahaja2019-02-2225-139/+161
| | | | | | | | | | | Renamed cns_baseclass.py to baseclass.py with updated BaseClass. Merged HeketiBaseClass to BaseClass with appropriate changes. Updated delete_volumes and delete_block_volumes methods used in test case method with heketi_delete_volume and heketi_blockvolume- delete. Change-Id: I8f623f1692cd863dc8ff041f7e8525ee0dc84f7b Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add CRS support to the 'restart gluster services' test casesValerii Ponomarov2019-02-082-52/+46
| | | | Change-Id: I40b7ea79d1f7dbc82db825f6ced4447a157361e6
* Add Heketi version checksnigoyal2019-02-042-0/+13
| | | | | | | | | Add Heketi version checks to the test cases and Heketi libraries. In case of incompatible Heketi version in a setup, test cases will be skipped and direct usage of Heketi libraries will cause them to raise the NotImplementedError exceptions. Change-Id: I462e76f615165140f2a8c7e796c1c582b8f4dc91
* adding library and test case for examine glusternigoyal2019-02-011-0/+45
| | | | | | | | This library is helpfull for diagnosing output of gluster and heketi and it compare both the outputs and the test case verify this feature is working properly. Change-Id: Ice607003f32db2bce2f540a7651024b66b071634
* [RHGSQE-108] Removed polarion test case ID's and updated descriptionvamahaja2019-01-1118-105/+104
| | | | | Change-Id: I9ab3c6bea56a02f76ce818ee095ffe4afc0e64c0 Signed-off-by: vamahaja <vamahaja@redhat.com>
* arbiter volume expand with avg file sizenigoyal2019-01-111-0/+74
| | | | | | | | Trying to create pvc with defined arbiter file size and verifying that when we are expanding volume it is expanding according to avg file size Change-Id: I5c39339f70702bf685c237ae16e21f54384e51db
* Merge "Fix 'verify_arbiter_brick_able_to_contain_expected_amount_of_files' tc"Valerii Ponomarov2019-01-101-22/+19
|\
| * Fix 'verify_arbiter_brick_able_to_contain_expected_amount_of_files' tcValerii Ponomarov2019-01-081-22/+19
| | | | | | | | | | | | | | | | | | This test case talks to the Gluster PODs directly. It is not compatible with Standalone Gluster clusters. So, fix this test by reusing special common function, which allows us to abstract from Gluster cluster deployment type. Change-Id: Ib131984ac0a4623d1d847f9961be26da573d8513
* | Merge "Fix 'test_volume_create_and_list_volume'"Valerii Ponomarov2019-01-101-21/+29
|\ \
| * | Fix 'test_volume_create_and_list_volume'Valerii Ponomarov2019-01-081-21/+29
| |/ | | | | | | | | | | | | | | | | | | | | This test case expects that Gluster cluster has the same amount of volumes as Heketi does. But, it is wrong expectation. We may either create gluster volumes without Heketi or have mismatches after some other Heketi failures. So, fix this test case by comparing starting and resulting amount of volumes in Gluster and Heketi. Change-Id: I322c922fbdf102ccc5fb9f2145eef7b3f1d1a80a
* | Merge "Properly skip TCs when 'additional gluster devices' not configured"Valerii Ponomarov2019-01-102-7/+27
|\ \ | |/ |/|
| * Properly skip TCs when 'additional gluster devices' not configuredValerii Ponomarov2019-01-022-7/+27
| | | | | | | | | | | | | | | | | | | | For the moment, we have 3 different test cases which use 'additional_devices' config option. All of them will fail in case of specific structure of config. So, make those test cases be smart enough to understand absence of such option data and skip test cases with useful info about it. Change-Id: Id31de7e20188041d2148edf37b3f8c95645c5e52
* | Fix 'test_glusterblock_logs_presence_verification' tcValerii Ponomarov2019-01-021-2/+3
|/ | | | | | | | In this tc we filter pod by dc name with hard-coded project name. It is completely incorrect approach. So, fix it by getting project name from config. Change-Id: I062bc22c9cbf22bbb101a48bad94d0540a3c4bb8
* Merge "[CNS-433][CNS-436] Fix for failed test cases"Valerii Ponomarov2019-01-022-25/+21
|\
| * [CNS-433][CNS-436] Fix for failed test casesvamahaja2019-01-022-25/+21
| | | | | | | | | | Change-Id: I2379043b771cc654eb227d457223b3a24434fd21 Signed-off-by: vamahaja <vamahaja@redhat.com>
* | Merge "Fix CNS-550 test case"Valerii Ponomarov2019-01-021-21/+22
|\ \
| * | Fix CNS-550 test caseValerii Ponomarov2018-12-261-21/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test case has fragile logic. It doesn't assume we expect new block hosting volumes to be created when we calculate the size for block volume. So, fix it by doing 2 things: - Use total block hosting volume size, not it's 'free space'. - Get info of block hosting vol if block vol gets created unexpectedly, and read it's size. If the size is bigger than block vol's size, then pass the test. Here, we assume that existing, during calculation, block hosting volumes were not the biggest possible and autocreation is enabled in addition to the presence of the available size on the Heketi devices. Change-Id: Ic7d5325b1144dce0e56999617f3c6d7c0829e42d
* | | Merge "Completely rewrite 'heketi_with_device_removal_insuff_space' tc"Valerii Ponomarov2019-01-022-169/+90
|\ \ \
| * | | Completely rewrite 'heketi_with_device_removal_insuff_space' tcValerii Ponomarov2018-12-282-169/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because it was very fragile and skipped due to bug. So, after bug was fixed we need to enable it back. But, also, considering it's stability, it required complete change of logic. So, it is rewritten completely and moved to more appropriate module where we have other test cases which perform device operations. Change-Id: I1b8c18c8ea883f83861e81e97c534459d7588175
* | | | Merge "Refactor and enable 'test_device_remove_basic_validation' tc"Valerii Ponomarov2019-01-022-105/+43
|\| | |
| * | | Refactor and enable 'test_device_remove_basic_validation' tcValerii Ponomarov2018-12-272-105/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was skipped some time ago due to the bug. Now this bug is fixed. So, we need to unskip it. So, do it, in addition to the required refactor. Change-Id: I7c426e9cd3dc38ed48e5b91870bc10bd63998694
* | | | Merge "Delete 'test_add_device_heketi_cli' tc as duplicate"Valerii Ponomarov2019-01-021-105/+0
|\| | | | |_|/ |/| |
| * | Delete 'test_add_device_heketi_cli' tc as duplicateValerii Ponomarov2018-12-271-105/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current 'test_add_device_heketi_cli' [CNS-877] tc completely duplicates another existing tc - 'test_device_remove_operation' [CNS-766]. Being, on it's turn, very fragile and requiring refactor. So, remove this test as it makes no sense neither to keep it skipped nor to refactor it. Change-Id: I40cf7b3d015d1345f0ac2a89569dd64cd67711d3
* | | Merge "Fix CNS-797 and CNS-798 test cases"Valerii Ponomarov2019-01-021-4/+22
|\ \ \ | |/ / |/| |
| * | Fix CNS-797 and CNS-798 test casesValerii Ponomarov2018-12-261-4/+22
| |/ | | | | | | | | | | | | | | | | | | | | | | In some rare cases we get following error trying to create distributed volume: - Insufficient suitable allocatable extents for logical volume tp_foo: 25344 more required. So, fix such situation by catching exception with such message and retrying with smaller volume size. Change-Id: I015a4547347858cd8aff9e566e3dc662a94b6b83
* / Refactor config optionsValerii Ponomarov2018-12-258-38/+32
|/ | | | | | | | | | | | | | | | | | | Doing following: - Rename top-level config option group called 'cns' to the 'openshift'. - Rename 'cns.setup.cns_project_name' option to the 'openshift.storage_project_name'. - Rename 'scale' option to the 'openshift.scale'. - Delete ''devices' and 'zone' options from 'gluster_servers' config group. - Delete 'cns.setup.cnd_username' option as unneeded. - Delete 'cns.setup.cnd_password' option as unneeded. - Delete 'oc_login' common function as unneeded after deletion of 'cns.setup.cnd_username' and 'cns.setup.cnd_password' options. - Remove 'Cns' word from base classes. - Keep backwards compatibility for old options to make transition be smooth. Change-Id: I04ddbbad5f64ffeac79a6744480d33a263d63001
* Add abstraction between deployment types and gluster commandsValerii Ponomarov2018-12-256-149/+50
| | | | | | | | | | | | | | | | | | | | | | | | Now, it is possible to run glustolibs commands on both deployment types: containerized and standalone. It is possible using 'auto_get_gluster_endpoint' as target for lib function in addition to the '@podcmd.GlustoPod()' decorator. Example: """ from glustolibs.gluster.volume_ops import get_volume_list from cnslibs.common import heketi_libs from cnslibs.common import podcmd class TestExample(heketi_libs.HeketiBaseClass): @podcmd.GlustoPod() def test_get_vol_list_either_on_node_or_on_pod(self): volumes = get_volume_list('auto_get_gluster_endpoint') """ Also, delete all the current usages of 'deployment_type' config option, and delete the option as unneeded anymore. Change-Id: I281f287c432a5a9efefda588be436ee285188697
* Merge "Fix 'test_volume_expansion_no_free_space' test case"Valerii Ponomarov2018-12-211-121/+93
|\
| * Fix 'test_volume_expansion_no_free_space' test caseValerii Ponomarov2018-12-191-121/+93
| | | | | | | | | | | | | | This test is broken in several places. So, fix it and also remove redundant steps. Change-Id: I7a9f2c077dda35a8a477fa27882cddf79ec69ac5
* | Merge "changing test function name"Valerii Ponomarov2018-12-211-1/+2
|\ \
| * | changing test function namenigoyal2018-12-211-1/+2
| | | | | | | | | | | | | | | | | | | | | The function name was confusing because now we are verifying functionality of node tags and device tags. So changing the name Change-Id: I00a2a12cc8b74e5bf9b76018698738550ea0c613
* | | Merge "Cleanup heketi config options"Valerii Ponomarov2018-12-212-31/+26
|\ \ \
| * | | Cleanup heketi config optionsValerii Ponomarov2018-12-192-31/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing several unused options and replacing couple of them with built-in values. Change-Id: I458f0eae6a68ddcb2711d454c81cdcee8142673a
* | | | Merge "Fix bug in 'test_volume_creation_no_free_devices' test case"Valerii Ponomarov2018-12-211-5/+4
|\ \ \ \ | |_|/ / |/| | |
| * | | Fix bug in 'test_volume_creation_no_free_devices' test caseValerii Ponomarov2018-12-191-5/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Which uses improper vars in block of code where we disable redundant nodes. It is just not executed in case we use 3-node Gluster cluster. So, fix var usages making this test be compatible with 4+ node GLuster clusters. Change-Id: Id9ac9ae9b614c492c0f39573c0224378f887fee5
* | | Merge "[CNS-1523][CNS-1524] arbiter expand test case"Valerii Ponomarov2018-12-201-0/+81
|\ \ \ | |/ / |/| |
| * | [CNS-1523][CNS-1524] arbiter expand test casenigoyal2018-12-201-0/+81
| | | | | | | | | | | | | | | | | | | | | this test case is verifying that arbiter pvc expand is working properly when tags are set on nodes and devices Change-Id: I7118e5dd94856e36cdfa438f159a39604c50e7c0
* | | Merge "Add 'openshift_version.py' module"Valerii Ponomarov2018-12-191-3/+2
|\ \ \
| * | | Add 'openshift_version.py' moduleValerii Ponomarov2018-12-171-3/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With growth of amount of test cases and supported OpenShift versions we need to perform more and more version comparisons. So, this module is designed to ease such operations. Usage example: from cnslibs.common import openshift_version version = openshift_version.get_openshift_version() if '3.9' < version <= '3.11': # Do stuff for OpenShift 3.11 or 3.10 elif version <= '3.9': # Do stuff for OpenShift 3.9 or lower else: # Do stuff for higher versions than 3.11 Also, reuse it in all the existing places with version comparisons. Change-Id: Ibc27eff20ed0dff80deca73d5d156e23bda57439
* / | [CNS-451]: Test to verify volumes post node rebootSaravanakumar Arumugam2018-12-191-0/+150
|/ / | | | | | | | | | | Change-Id: I2fc6f2ee9dd0c38519ab560e9d1c1a9672940843 Signed-off-by: Saravanakumar Arumugam <sarumuga@redhat.com> Signed-off-by: vamahaja <vamahaja@redhat.com>
* | Merge "Make 'test_storage_class_cases' module support standalone Gluster"Valerii Ponomarov2018-12-171-3/+3
|\ \
| * | Make 'test_storage_class_cases' module support standalone GlusterValerii Ponomarov2018-12-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By doing following updates: - Add and reuse lib function which calculates amount of Gluster PODs or Gluster nodes. - Make 'get_gluster_blockvol_info_by_pvc_name' lib func support standalonge Gluster clusters in addition to the 'containerized' ones. Change-Id: I6a12bb4c30b1e6f8698a614abefc248149773302
* | | Add test case CNS-766: Test device removal functionalityValerii Ponomarov2018-12-172-245/+287
| | | | | | | | | | | | Change-Id: I7d05c73f468634300ad8571fd9b1b4855adac632
* | | Rework 'heketi_ops' moduleValerii Ponomarov2018-12-164-28/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing following: - Remove dead code with usage of Heketi python lib. Because it is not used and not tested. - Remove unused functions in general. - Make existing functions raise exceptions with CLI error message instead of returning 'False' boolean value hiding info about original errors. Change-Id: I1f0def567dd77425397ff2c8ba13f9c0640af5bc