summaryrefslogtreecommitdiffstats
path: root/tests/functional
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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
* | | Cleanup base classesValerii Ponomarov2018-12-1517-49/+33
| |/ |/| | | | | | | | | Remove unused/dead code from base classes. Change-Id: Ib355e0282541c60297c1b240f7ff8df3f06d9d69
* | Merge "Delete unused files and dirs"Valerii Ponomarov2018-12-147-0/+0
|\ \
| * | Delete unused files and dirsValerii Ponomarov2018-12-107-0/+0
| |/ | | | | | | | | | | | | | | This project has lots of empty files and dirs in addition to not usef files. So, remove all of it to improve navigation through the project. Change-Id: Ib8df2165640e0c59fcee9bb6909ec8c74cb9623f
* | [CNS-954] arbiter expand test casenigoyal2018-12-131-0/+25
| | | | | | | | | | | | | | this test case is verifying that arbiter pvc expand is working properly Change-Id: I52c52c9f299ef53c6c8618677d4f3425b5ba2051
* | Fix error message substituions in 'test_arbiter' modulenigoyal2018-12-121-65/+52
|/ | | | | | | | | | Several existing arbiter test cases have common bug, where we substitute incorrect value in error messages and do it in duplicated code. So, move that code to separate method, reusing it in test cases and fix substitution error. Change-Id: I7787515a4e0cd50c688034dbb41649d96605b2ae
* [CNS-1314][CNS-1285] Restart gluster block volumes and validatevamahaja2018-12-101-7/+130
| | | | | Change-Id: Ib7e3125e5120a91fe431816b33be4d4e6f15078e Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add cmd-runner function which is gluster deployment type agnosticValerii Ponomarov2018-12-071-3/+0
| | | | | | | | | | | | | | For the moment, most of the test cases and lib functions in 'openshift_ops' python module support only containerized Gluster clusters. So, to be able to support standalone Gluster clusters in addition to the containerized ones, add special function which allows us to run shell commands on both types of Gluster clusters autodetecting the type. As an example, update one of the existing lib functions making all the existing 'arbiter' test cases work in both cases. Change-Id: Iad69d7dc692c87eb70ed5caf780cb688f274bf02
* Merge "Move functions with creation of SC, PVC and POD objects to common place"Valerii Ponomarov2018-12-074-342/+90
|\
| * Move functions with creation of SC, PVC and POD objects to common placeValerii Ponomarov2018-12-054-342/+90
| | | | | | | | | | | | | | Removing duplication of code. Also, reuse it in places where it is already duplicated. Change-Id: I2f88b4921cb7bec01d17e1ddeaeda16e0d198493
* | Merge "[CNS-1246] [CNS-1247] test-cases for heketi metrics"Valerii Ponomarov2018-12-051-0/+36
|\ \ | |/ |/|
| * [CNS-1246] [CNS-1247] test-cases for heketi metricsnigoyal2018-12-031-0/+36
| | | | | | | | | | | | | | CNS-1246 - test case for veryfying cluster count of heketi metrics CNS-1247 - test case for veryfying nodes count of heketi metrics Change-Id: Id6c6bdb9bf212b4c302ff56e2f68b5e6e4348143
* | Merge "[CNS-778] Refactor and fix 'test_to_check_entry_in_fstab_file' TC"Valerii Ponomarov2018-12-032-132/+54
|\ \
| * | [CNS-778] Refactor and fix 'test_to_check_entry_in_fstab_file' TCValerii Ponomarov2018-11-202-132/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | List of changes: - Fixed bug, where test didn't fail in case volume brick was not found in fstab file. It was only logging message related to it. - Fixed bug, where we searched for all the brick paths in one single Gluser POD, such thing should have been failing always. Above mentioned bug has hidden this one. - Fixed bug, where test was failing in case we didn't have passwordless SSH connection between test-runner and heketi-client nodes. - Added Heketi volume cleanup for case our test fails before the step with Heketi volume deletion. - Removed redundant copy operations of fstab files. Instead, used 'cat' shell command for getting inner data of fstab files. Change-Id: I76c6a59ab9f40cc5e94923fcc82e5e15f640714a