summaryrefslogtreecommitdiffstats
path: root/openshift-storage-libs
Commit message (Collapse)AuthorAgeFilesLines
* [LibFix] Fix 'heketi_ops' libraries return statement docstringsArun Kumar2020-06-041-13/+13
| | | | | Change-Id: I123fbf1b6ff8794454d61a57493e0bdfbcd217fe Signed-off-by: Arun Kumar <aanand01762@gmail.com>
* [LibFix] Add parameter 'overwrite' in 'oc_label' librarySri Vignesh2020-06-012-3/+8
| | | | | Change-Id: I7f765605ae032f9054937ca9ed5a5db06bc73464 Signed-off-by: Sri Vignesh <sselvan@redhat.com>
* [Lib] Add library to valiadte heketi device uuid and vgArun Kumar2020-05-271-0/+34
| | | | | Change-Id: If583d912d6c24862f8b26424abf62f8e0942dc45 Signed-off-by: Arun Kumar <aanand01762@gmail.com>
* [LibFix] Add command output validation in lib 'validate_multipath_pod'Sri Vignesh2020-05-271-2/+8
| | | | | | | | | Library 'validate_multipath_pod' execute command to get host name by providing pod name, in case it returns blank next steps will fail due to blank hostname. Change-Id: Iac329204bd9ea17b019fb40edca43db72e8c3bb8 Signed-off-by: Sri Vignesh <sselvan@redhat.com>
* [LibFix] Fix library 'get_openshift_storage_version'vamahaja2020-05-081-10/+20
| | | | | | | | | Fix consists of - Add regular expression to get Openshift Storage Version based on environment variable 'ocsVersion' set in Dockerfile Change-Id: Iefed53a7af5b2867b68a4a8b72861047edcf1e4d Signed-off-by: vamahaja <vamahaja@redhat.com>
* [Lib] Add Scaleup Base Class and libsNitin Goyal2020-04-221-0/+211
| | | | | Change-Id: I8ab1ec2dd28169722c07a5bbfabeffc5240ce8f9 Signed-off-by: Nitin Goyal <nigoyal@redhat.com>
* [LibFix] Fix 'node_reboot_by_command' libraryvamahaja2020-04-131-41/+27
| | | | | | | | | | | | Fix consists of - 1. Currently waiter in 'node_reboot_by_command' function uses 'g.rpyc_get_connection' method to check for conection, which causing issue. Use 'wait_for_ssh_connection' method in same library which uses 'g.run' method. 2. Add parameter 'wait_for_connection' Change-Id: I81aecb126b1e4914a2dfb6dc8901da0a3a4329d0 Signed-off-by: vamahaja <vamahaja@redhat.com>
* [LibFix] Add parameter raise_on_error to the heketi librariesArun Kumar2020-04-071-95/+212
| | | | | Change-Id: I7f317d6e6c8f86dc0c5e8bbe0a42a4586751d2e1 Signed-off-by: Arun Kumar <aanand01762@gmail.com>
* [LibFix] Fix 'g.rpyc_get_connection' library issuevamahaja2020-03-261-36/+48
| | | | | | | | | | 'g.rpyc_get_connection' library fails to set connection. Instead of using 'g.rpyc_get_connection' libray for modifying file remotely, create file locally and upload to remote location using 'g.upload' library. Change-Id: I85564ee5b7c28a9d866be033d18bd018f648cd5b Signed-off-by: vamahaja <vamahaja@redhat.com>
* [LibFix] Fix PVC create/status library timeoutsvamahaja2020-03-252-5/+6
| | | | | Change-Id: I8e027ff71429cd73eea892c6e27d53f638badc42 Signed-off-by: vamahaja <vamahaja@redhat.com>
* [Lib] Add _create_storage_class helper methodNitin Goyal2020-03-231-14/+42
| | | | | | | | Add helper method for passing provisioner argument. Which will allow to pass provisioner argument from other BaseClasses. Change-Id: I475717ac5d4575d96aff82148cf2c98e035df1d5 Signed-off-by: Nitin Goyal <nigoyal@redhat.com>
* [Config] Change setup.py fileNitin Goyal2020-03-181-2/+5
| | | | | | | Add Python versions and dependencies in the setup.py file. Change-Id: I2d012852542c496a56bdd34a5a5659b4b2c0020a Signed-off-by: Nitin Goyal <nigoyal@redhat.com>
* [Lib] Add lib to get the memory of running processNitin Goyal2020-03-181-0/+33
| | | | | | | | Add lib 'get_process_memory_on_gluster_pod_or_node' to get the memory of running proces inside gluster pod or node. Change-Id: Ide2b09569407e8cf09c72af638d741d5926431c4 Signed-off-by: Nitin Goyal <nigoyal@redhat.com>
* [Lib] Add arg label for labeling the DCNitin Goyal2020-02-252-6/+18
| | | | Change-Id: I28af35fdcc27e30957e02d83e19f0a7d4211f18b
* [Lib] Add paramter for custom prefix in lib create_dcs_with_pvcNitin Goyal2020-02-201-4/+9
| | | | Change-Id: Ifb9c582c18d9e7a8bfd01d3b6a45e105c9ad8db4
* [Test] Add tc to validate cassandra pod when BHV brick process is downArun Kumar2020-02-202-4/+24
| | | | Change-Id: If0024c4b99eee0d0971077556b033ace5104c982
* [Lib] Add functionality to skip cleanup in BaseClassNitin Goyal2020-02-141-23/+39
| | | | | | Add cleanup arg in libs to skip the cleanup part. Change-Id: I115b33604414c0ecef2cdd57a880684cc7166766
* [lib] Add lib to match PV, Heketi and get gluster vols by name prefixSushilG962020-01-243-0/+83
| | | | | | | | | | | | This contains libraries - 1. match_pv_and_heketi_volumes - library for matching heketi volumes and PVCs. 2. heketi_volume_list_by_name_prefix - library to getvolume id and cluster id. 3. match_heketi_and_gluster_volumes_by_prefix - library for matching heketi and gluster volumes. Change-Id: I02af31405a9836000d758a2ffac932be13e52a03
* Fix 'yaml.load' which gives warningsvamahaja2020-01-162-3/+4
| | | | | | | | | | | | As per documenton [1], 'yaml.load(raw_data)' is deprecated and suggested to use parameter 'Loader=yaml.FullLoader'. Fix such instances of yaml.load in functions - oc_get_yaml, get_events and enable_pvc_resize [1] 'https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation' Change-Id: I1fc5544f6f7f12b55e420486b4460f26db214139 Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add check for 'json' param in function 'get_block_hosting_volume_list'vamahaja2020-01-141-6/+7
| | | | | | | | | | 'get_block_hosting_volume_list' will get failed in case user pass 'json=True' value as this function works on raw output of 'heketi_volume_list'. Add code to pop 'json' param in case user pass 'json=True' value. Change-Id: Iad053762fd1fa0c25bc4d01c038d20450e29676c Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add TC and config data for metricsArun Kumar2019-12-262-15/+41
| | | | | | | | Test case to validate metrics add config data for metrics add config data of registry namespace to validate metrics Change-Id: I4886482ee33847f506ad898d4a313df866d0348c
* Fix provisioner name for gluster block stroage classkasturiNarra2019-12-131-1/+1
| | | | | | | | | | Provisioner name has been changed in "get_gluster_host_ips_by_pvc_name" of openshift-storage-libs/openshiftstoragelibs/openshift_ops.py module, since from OCS3.11.4 glusterblock storage class provisioner name has been changed from gluster.org/glusterblock to gluster.org/ glusterblock-glusterfs Change-Id: I2549b44e91a0f08384693cd55aea751acda458dd
* Delete duplicate test "test_to_create_distribute_replicated_vol"kasturiNarra2019-12-121-2/+4
| | | | | | | | | which completely duplicates "test_to_create_and_delete_dist_rep_vol" in 'test_create_distributed_replica_heketi_volume.py' test module & fix cleanup code for create_heketi_volume_with_name_and_wait in openshift-storage-libs/openshiftstoragelibs/baseclass.py module. Change-Id: I9b3dea28e6330e52caab09311e20b65dd48491b9
* [py2to3] Fix various py3 incompatibilitiesValerii Ponomarov2019-12-112-16/+19
| | | | Change-Id: I6c517278c3f8bf6f374ab60bc27768e503161278
* Add new TCs remove or delete heketi nodeNitin Goyal2019-12-053-5/+52
| | | | | | | Add new TC remove or delete node from heketi, and verify gluster peer status, bricks on the new node and heal info. Change-Id: If4b6006a4a58fd581ac9851b377a82f69ce0f30f
* Add TC heketi vol creation of size greater than device sizeNitin Goyal2019-12-021-0/+35
| | | | | | | Add new TC heketi volume creation of size greater than the device size and verify backup-volfile-servers, replicacount, brickscount etc. Change-Id: I87cbf0e1d8326ad077f02cf465105aca3f8bdde7
* Fix str/list/tuple distinguishing in library functions to support py3Valerii Ponomarov2019-11-282-8/+12
| | | | | | | | | | We try to distinguish strings from other iterable object types in several our library functions and now it is not compatible with py3. The problem is that in py2 strings don't have "__iter__" method, but it exists in case of py3. So, fix it by using py2/3 compatible check for string types. Change-Id: I3f833b5e79f1563a3ae6a2bb9ae43d8919d82c30
* Add test for creation of PVC when one node downadityaramteke2019-11-271-1/+1
| | | | | | | The purpose of this test case is to confirm that provisioning succeeds if at least 3 nodes are UP in a CNS cluster with nodes >3. Change-Id: I7fc1f851114d921f65e819db23502776526e6827
* Add TC deleting bunch of PVC's during network failureArun Kumar2019-11-261-5/+11
| | | | | | | | Create network failure while deleting PVC's Network side failure is introduced by opening and closing the ports related to gluster-blockd. Change-Id: Id3a749aa1a051bbce99b85046fa0a79831e85dd5
* Fix library 'power_off_gluster_node_vm'Nitin Goyal2019-11-221-0/+1
| | | | | | | Fix the library via adding cleanup power_on_vm which was missed during library creation. Change-Id: I6b2fe78378cac61cee5d630562c0ba7201bbaa4e
* Add TC restart initiator node when gluster node is downNitin Goyal2019-11-223-5/+140
| | | | | | | Add new TC where we verify iscsi rediscovery is happening properly on restart of initiator nodes when one gluster node is down. Change-Id: I515bb27d43843f7c19c4a12b6531a212e9c3285a
* Add new TC verify PID's of gluster volumeNitin Goyal2019-11-211-1/+7
| | | | | | | Add new TC where it will verify PID's of gluster volumes are same when volume options value is different. Change-Id: Ie0cae1ad3fdfd35e4c0e7f01e3a048b62b185369
* Modify and move 'topology_volumes_with_bricks' func to 'heketi_ops.py'Sri Vignesh2019-11-211-0/+32
| | | | | | | | Move 'topology_volumes_with_bricks' func to the "heketi_ops" module to be able to use it in other test cases. Change-Id: I7cca884a4f3fb34ec15bb947d3c39d9226e294d0 Signed-off-by: Sri Vignesh <sselvan@redhat.com>
* Add test for inconsistencies in targetcli when BHV is downAditya Ramteke2019-11-191-2/+3
| | | | | | | Confirm no inconsistencies occur in targetcli when block devices are created with one block hosting volume down. Change-Id: I2a755ef2a88c6e6ca5326be3787ac07c0fb7db26
* Fix test case "test_heketi_node_add_with_valid_cluster"vamahaja2019-11-192-0/+69
| | | | | | | | | | Fix consists of - - Remove steps for add device validation. - Add steps for gluser peer status validation. - Add steps for endpoints validation. Change-Id: I773a883b1ea8bb2bc93660db3459fd864fcd1317 Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add new oc librarieskasturiNarra2019-11-151-0/+138
| | | | Change-Id: I78eb0975c60d1c16b05914bed74b6f942dd0335e
* Add test case to automate heketi add node into valid clustervamahaja2019-11-141-0/+6
| | | | | Change-Id: I4a2ac7b819929c2de6c8ea5520257800d2e134cc Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add TC creating bunch of PVCs during network failureArun Kumar2019-11-081-6/+30
| | | | | | | | Create network side failure by opening and closing the ports related to gluster-blockd during creation of the PVC's, Verify PVC's are bound and validate multipath. Change-Id: Ibc53a13e2abb8674661da83d5881a13bbb2ad7fb
* Make 'provisioner' be autocalculated for storage classesValerii Ponomarov2019-10-312-8/+29
| | | | | | | | | | | | | | | In OCS 3.11.4 was changed the approach for 'provisioners' in storage classes due to the BugZilla bugs [1] and [2]. So, change the approach for getting 'provisioner' value in this project making it be autocalculated based on the data taken from the block provisioner pod, which is located in the working namespace. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1732787 [2] https://bugzilla.redhat.com/show_bug.cgi?id=1738394 Change-Id: Ic1037038e39abba2b2a1ad6dc3ddbfe42473cb88 Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add possibility to check Heketi DB inconsistencies after each tcValerii Ponomarov2019-10-251-0/+33
| | | | | | | | | Define 'check_heketi_db_inconsistencies' config option setting there 'False' or 'True' values. Default value is 'True'. If heketi client doesn't support the 'heketi db check' feature, then 'heketi db check' just won't be performed. Change-Id: I7faff35b15e40d864c0377ae7fee154e217d8eae
* Add library to get heketi block volumes by name prefixvamahaja2019-10-171-0/+32
| | | | | | | | | | | | | | This change required due to - 1. Get block volume by prefix is common step which is used in two places for now and will be used in other places too. 2. Hence add library "heketi_blockvolume_list_by_name_prefix" in heketi_ops.py. 3. And use added library and update code from class "GlusterStabilityTestSetup" and "TestGlusterBlockStability". Change-Id: I9e60d58d5c84380104081335745270b3d21ff071 Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add test cases to perform heketi cluster operations with nodesvamahaja2019-10-173-0/+164
| | | | | Change-Id: I22410ad8c81ca71ac9c2cbaddd66f086abcdf3c5 Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add library to add/remove iptables rule on hostvamahaja2019-10-171-0/+50
| | | | | Change-Id: I1055b232711c95fdbf89ba9fe8b9d61a561fbcd5 Signed-off-by: vamahaja <vamahaja@redhat.com>
* Add new library heketi_node_removeNitin Goyal2019-10-101-0/+34
| | | | Change-Id: I96759bbcd74cad7755c99255b4b96261133d5adc
* Add support for new resource typekasturiNarra2019-10-101-4/+11
| | | | | | | | | As of now user can only pass dc name as argument to validate iscsi and multipath session, with this support user can also pass pod name by specifying rtype=pod Change-Id: Iecc86edc2a2239fc05535f0e4f7e9ae93d5e76f5
* Add TC Fail tcmu-runner service while creating and deleting pvcArun Kumar2019-09-251-0/+30
| | | | | | | | | | Create 8 Block PVC and wait for them to get bound. Delete created PVC's and create 8 more PVC's simultaneously. Kill the tcmu-runner service while PVC creation and deletion is in the progress. Restart all the services related to block volumes and verify all pending operations are completed sucessfully. Change-Id: I0cb4cd29b92233a65be93f4b96f1a9a0cb8bed9f
* [Lib+tc]Add testcase and library to validate total count of volumesSri Vignesh2019-09-251-0/+33
| | | | | | | | Add library to check db results Validate count of volumes of heketi and db are same Change-Id: I6e75f2d8d5f19a94c1dced5a07f9c948b4de9ef4 Signed-off-by: Sri Vignesh <sselvan@redhat.com>
* Fix typos in verify_volume_name_prefix function's descriptionadityaramteke2019-09-231-1/+1
| | | | Change-Id: I46ad6aefd3c699b4ce7807db89c2016791a48e05
* Add multiple PVCs states waiterValerii Ponomarov2019-09-232-49/+64
| | | | | | | | Add new function called 'wait_for_pvcs_be_bound', which allows us to wait for 'Bound' state of multiple PVCs using single timeout. Also, reuse this new function in the baseclass.py Change-Id: Ia3809d322925b90fdef984db59b3e9e83a82abc7
* Fix heketi_blockvolume_create lib descriptionNitin Goyal2019-09-191-1/+1
| | | | | | Change the 'cluster' to 'clusters' in kwargs description. Change-Id: Iac9170d0549adc6bb5b76f5772de47d1db083951