summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Deployment] Fix CRS deployment for non-root usersValerii Ponomarov2019-02-221-1/+4
| | | | | | | User's home dir in CRS logic was hardcoded as "root". So, fix it by calculating home dir of the current user. Change-Id: Ib586fa605390126eb3a2efaf8c93856e52676aaf
* Merged HeketiBaseClass to BaseClassvamahaja2019-02-2229-512/+416
| | | | | | | | | | | 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 server package support to the heketi_version.py moduleValerii Ponomarov2019-02-211-13/+103
| | | | | | | | | | | | | Before, 'heketi_version.py' module didn't consider version of the 'heketi server' package on the Heketi POD. But it is more valueable than depend on the client only. So, make all the requested version comparisons be applied to the server's version. Interaction with the module's logic stays the same, just one behavioral thing changes: now, if client version is older than server's one, we raise exception. Change-Id: I317102556d4a5f51607c3b9da93da0d4a3b74f7f
* [Deployment] Add 1min sleep after yum update operationValerii Ponomarov2019-02-181-0/+3
| | | | | | To let system services start up in time. Change-Id: I4b4781119656c9fdc75017a28c80c20bdd0eae21
* Fix pep8 errors in the deployment py filesValerii Ponomarov2019-02-156-357/+361
| | | | Change-Id: I5f25b1dfce5d3298295939f59c3ff435ae7c6d8a
* [Deployment] Remove 'ignore_errors' flag from required stepsValerii Ponomarov2019-02-141-1/+0
| | | | | | | | For the moment, if subscription manager fails, we continue deployment, but it is mistake. We just spend redundant time before we try to install anything. Change-Id: Ib95c00a3c605b98f3cd6b7998d4b482533a5d491
* [Deployment] Fix int-str concatenation in add-node.py fileValerii Ponomarov2019-02-131-2/+2
| | | | Change-Id: I51056965a55f73b0cb4b7dac8f1d4234f2f66528
* Install correct heketi-client version on master nodesValerii Ponomarov2019-02-123-18/+67
| | | | | | | | | | Before, we were installing latest heketi-client version on master nodes. But, in case we install old OCS/CNS we may end up with false impression that we have new features, when it is not so. So, read heketi-client package version from Heketi POD and install exactly the same version on the master nodes. Change-Id: Ic4e9edd7f6ef614d28c061712473aaf9b9f652e2
* Add CRS support to the 'restart gluster services' test casesValerii Ponomarov2019-02-084-250/+205
| | | | Change-Id: I40b7ea79d1f7dbc82db825f6ced4447a157361e6
* Update .gitreview file adding new gerrit referenceValerii Ponomarov2019-02-071-0/+2
| | | | Change-Id: I91f916e31bb23197dd972a17dd3a5ee62ee04b77
* Add two missing deployment filesValerii Ponomarov2019-02-072-0/+204
| | | | | | These two files were missed due to improper .gitignore file data. Change-Id: I49f396c1c1d37fcbd4257bf35aaee75f41b099bc
* Remove couple of deployment files from .gitignore fileValerii Ponomarov2019-02-071-2/+0
| | | | Change-Id: I67a6306fa6cd2b5c5c886efbdbdd5a7134b3225e
* Add end-to-end OCP 'deployment' functionalityValerii Ponomarov2019-02-0775-1/+5672
| | | | | | | | | | | | | | Add end-to-end deployment tool of OpenShift and OpenShift Container Storage on top of VMWare. Added code is modified version of the 'reference-architecture/vmware-ansible' dir from the following repo: https://github.com/vponomaryov/openshift-ansible-contrib Read 'deployment/README.rst' file for more details about the deployment tool. Change-Id: Ic96f252ff786cc1ecf24d27f0ec47e324131e41b
* Add possibility to skip test cases and cleanups after failureValerii Ponomarov2019-02-054-4/+72
| | | | | | | | | | | | | In some cases, it is useful to stop test execution after first failure. Not only stop it, but also skip all the scheduled cleanups. It will allow us to keep a cluster in the best state for a root cause debugging. Just define 'common.stop_on_first_failure' option to True value in the config file. It will make the test runner stop after first failure skipping all the scheduled cleanups and pending test cases. Change-Id: I963eb038a11a8e2088a84f7ba4838870ea3e657a
* Added README.rst document with new detailsvamahaja2019-02-042-86/+177
| | | | | Change-Id: I7f4fea8f197294f2df8bba19c8c0f0422b62892a Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add Heketi version checksnigoyal2019-02-043-0/+34
| | | | | | | | | 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-012-0/+83
| | | | | | | | 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
* Add 'heketi_version.py' moduleValerii Ponomarov2019-01-301-0/+156
| | | | | | To be able to perform safe Heketi client package version comparisons. Change-Id: I64f0a55f988fc1446b133556c395f0640d65ada1
* Add time limit for curl commandsValerii Ponomarov2019-01-251-2/+2
| | | | | | | | In case of network problems, "curl" command may stuck in a retry-loop. So, add explicit time-limit as 10 seconds to avoid endless waiting of the functions which use it. Change-Id: Ia2d94358e8f978cb73360535167c703da2636874
* [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-102-30/+59
|\
| * Fix 'verify_arbiter_brick_able_to_contain_expected_amount_of_files' tcValerii Ponomarov2019-01-082-30/+59
| | | | | | | | | | | | | | | | | | 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
* | | Merge "Removed jenkins scaling code"Valerii Ponomarov2019-01-1013-806/+0
|\ \ \ | |_|/ |/| |
| * | Removed jenkins scaling codevamahaja2019-01-0913-806/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing this code as it is in additional library file, requires to pass config through config file and requires to upload the scripts. Also it contains hardcoded credentials. Will add new function in openshift_ops.py library similar to "oc_create_app_dc_with_io" with new updated template. Change-Id: I7cfce3fe23b222d40bff1c829afa97f2ffcb621d Signed-off-by: vamahaja <vamahaja@redhat.com>
* | | Fix setting of gluster volume options in "heketi_volume_create" funcSri Vignesh2019-01-081-3/+3
|/ / | | | | | | | | | | | | | | "heketi-cli" requires quotes for "--gluster-volume-options" arg. Without it command will fail. So, add missing quotes to make it work. Change-Id: I17fddfe653dceaa3c6b56f2a473ca7798de02698 Signed-off-by: Sri Vignesh <sselvan@redhat.com>
* / 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 "Add events info for 'verify_pvc_status_is_bound' common func"Valerii Ponomarov2019-01-021-5/+9
|\ \
| * | Add events info for 'verify_pvc_status_is_bound' common funcValerii Ponomarov2018-12-261-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the moment, we write events of failed PVC only to glusto logs. And only info of one type of events - 'ProvisioningFailed'. But in case of CI, it is not really suitable. We need to have info in the exception message. So, add all the pvc-related events to the message of raised exception when PVC fails to reach the "Bound" state. Change-Id: I60e3b9a86acdf251d282059cd2e494c70ae07c70
* | | 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-2513-214/+133
|/ | | | | | | | | | | | | | | | | | | 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-2511-270/+80
| | | | | | | | | | | | | | | | | | | | | | | | 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
|\ \