summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Fix] Removing additonal underscore(_) from testcase name.kshithijiyer2020-01-161-2/+2
| | | | | Change-Id: Idcc40442869cb3e44873625887409592d9e0710d Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [Quota] Verify quota is honored during rebalanceVinayak Papnoi2020-01-161-0/+207
| | | | | | | | | | | | When quota limit is reached, if an add-brick followed by rebalance is performed, then the previous quota limits should be honoured. No new files should be created because the quota limits have reached. Change-Id: I37da02ce292e6a7bc614cf888aac69ea109f84f5 Signed-off-by: Sanoj Unnikrishnan <sunnikri@redhat.com> Co-authored-by: Sanoj Unnikrishnan <sunnikri@redhat.com> Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* [Shared storage] Fix library functionVinayak Papnoi2020-01-161-32/+6
| | | | | | | | | | | | | | | | | | The library shared_storage_ops.py contains two functions which are similar and do not serve a completely unique purpose. These functions are "is_shared_volume_mounted" and "is_shared_volume_unmounted". Here, the function "is_shared_volume_unmounted" needs to be removed because any test case can be validated using assertion for the function "is_shared_volume_mounted". The function "disable_shared_storage" has an incorrect description. This description has been changed with the fix. There are minor cosmetic changes as well which have been fixed to make the code lightweight. Change-Id: I796831a95c205fef49a841eb14f5a15079f9a6b0 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* [TC] Snapshot + glusterd: Status of snapshot after glusterd restartkshithijiyer2020-01-162-52/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checking the status of snapshot informations before and after restarting glusterd. Test case: 1. Create volume 2. Create two snapshots with description 3. Check snapshot status informations with snapname, volume name and without snap name/volname. 4. Restart glusterd on all nodes 5. Follow step3 again and validate snapshot History of the patch: The testcase was failing in CentOS-ci due to bug [1], However this bug was defered for fix. Post updating the code with the workaround mentioned below, it was observed that glusterd restart was failing due to bug [2]. And now as the both the bugs are fixed this patch is safe to merge. Workaround: Now the only possible workaround for this is to modify the function get_snap_info_by_volname() to not use --xml option and directly run the command which will dump the output as string which can be directly used in the testcase. This modification in the library function will not impact any other testcase. Links: [1] https://bugzilla.redhat.com/show_bug.cgi?id=1590797 [2] https://bugzilla.redhat.com/show_bug.cgi?id=1782200 Change-Id: I26ac0aaa5f6c8849fd9de41f506d6d13fc55e166 Co-authored-by: srivickynesh <sselvan@redhat.com> Signed-off-by: srivickynesh <sselvan@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [py2to3] Change str to list in isinstance()kshithijiyer2020-01-0911-31/+31
| | | | | | | | | | | | Use 'list' object type in comparisons instead of 'str' Because it is differently treated in py2 and py3. Example: In py2 isinstance(u'foo', str) is False In py3 isinstance(u'foo', str) is True Change-Id: I7663d42494bf59d74550ff4897379d35cc357db4 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [Doc] Updating changes for py2to3 in developer-guide.rstkshithijiyer2020-01-091-4/+4
| | | | | Change-Id: I08fd627df3c099bc0c87d592c3f78bdc0ec9c7cc Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* TC to check if EC version and size updates when another brick is downubansal2020-01-081-0/+258
| | | | | Change-Id: I33e75fe773ee26a2d205f5ebd29198968bfe6c59 Signed-off-by: ubansal <ubansal@redhat.com>
* [Doc] Changing all text files to markdown fileskshithijiyer2020-01-085-56/+65
| | | | | Change-Id: I36949296607b09e66ce0a56029359481c0b76b8b Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [TC] Validation of brick status after node rebootBala Konda Reddy M2020-01-071-0/+178
| | | | | Change-Id: I0c20652d598c198b58871724e354f2fe803c1243 Signed-off-by: Bala Konda Reddy M <bmekala@redhat.com>
* [py2to3] Fix file gluster_init.pySri Vignesh2020-01-071-8/+8
| | | | | | | | | | - Use 'list' object type in comparisons instead of 'str'. Because it is differently treated in py2 and py3. Example: # In py2 isinstance(u'foo', str) is False # In py3 isinstance(u'foo', str) is True Change-Id: Ic0a5c1469e9951ee9b2472714004b05e2c5fdc94 Signed-off-by: Sri Vignesh <sselvan@redhat.com>
* [Fix] Remove variable script_local_path/script_abs_path(Part 4)kshithijiyer2020-01-0718-52/+26
| | | | | | | | Please refer to the commit message of the below patch: https://review.gluster.org/#/c/glusto-tests/+/23902/ Change-Id: I1df0324dac2da5aad4064cc72ef77dcb5bf67e4f Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [Fix] Remove variable script_local_path(Part 3)kshithijiyer2020-01-0729-89/+29
| | | | | | | | Please refer to the commit message of the below patch: https://review.gluster.org/#/c/glusto-tests/+/23902/ Change-Id: Icf32bb20b7eaf2eabb07b59be813997a28872565 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [Fix] Remove variable script_local_path(Part 2)kshithijiyer2020-01-0732-96/+32
| | | | | | | | Please refer to the commit message of the below patch: https://review.gluster.org/#/c/glusto-tests/+/23902/ Change-Id: I0d2eeb978c6757d6d910ebfe21b07811bf74b80a Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [Fix] Remove variable script_local_path(Part 1)kshithijiyer2020-01-0730-93/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing script_local_path as both script_local_path and cls.script_upload_path hold the same values which makes each script slow. This will help decrease the execution time of the test suite. PoC: $cat test.py a = ("/usr/share/glustolibs/io/scripts/" "file_dir_ops.py") b = ("/usr/share/glustolibs/io/scripts/" "file_dir_ops.py") $time python test.py real 0m0.063s user 0m0.039s sys 0m0.019s $cat test.py a = ("/usr/share/glustolibs/io/scripts/" "file_dir_ops.py") $time python test.py real 0m0.013s user 0m0.009s sys 0m0.003s Code changes needed: From: script_local_path = ("/usr/share/glustolibs/io/scripts/" "file_dir_ops.py") cls.script_upload_path = ("/usr/share/glustolibs/io/scripts/" "file_dir_ops.py") ret = upload_scripts(cls.clients, script_local_path) To: cls.script_upload_path = ("/usr/share/glustolibs/io/scripts/" "file_dir_ops.py") ret = upload_scripts(cls.clients, cls.script_upload_path) Change-Id: I7908b3b418bbc929b7cc3ff81e3675310eecdbeb Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [lib] Adding function upload_file_dir_ops() to io/utils.pykshithijiyer2020-01-071-0/+28
| | | | | | | | | | | | | | | | | | | | | Adding a function upload_file_dir_ops() to upload file_dir_ops.py to all clients. This is to remove the redundant code given below: ``` g.log.info("Upload io scripts to clients %s for running IO on " "mounts", cls.clients) cls.script_upload_path = ("/usr/share/glustolibs/io/scripts/" "file_dir_ops.py") ret = upload_scripts(cls.clients, cls.script_upload_path) if not ret: raise ExecutionError("Failed to upload IO scripts to clients %s" % cls.clients) g.log.info("Successfully uploaded IO scripts to clients %s", cls.clients) ``` Change-Id: I28ca528bfbaea20139808b7af812559715a27022 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [lib] Adding more check functions and tarssh supportkshithijiyer2020-01-033-54/+198
| | | | | | | | | | | | | | | | | | | | | | - Adding the following check functions: 1. is_passwordless_ssh_configured() - To check if passwordless ssh is configured or not between given nodes with a given user. 2. is_group_exists() - To check if group is present on servers or not. 3. is_user_exists() - To check if a given user is present on servers or not. - Adding functionality to support both sync methods. - Adding nonrootpass parameter to georep_prerequisites() as in the previous logic the password for the non-root and the root user were the same which might not always be the case. - Fixing georep_config_get() and georep_config_set() to take non-root user as well. Change-Id: I8a42d48d56690040dd7f78d1fb919029c0d6e61d Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [py2to3] Fix bunch of py3 incompatibilitiesValerii Ponomarov2020-01-027-42/+66
| | | | | Change-Id: I2e85670e50e3dab8727295c34aa6ec4f1326c19d Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [Fix] Fix for variable type check in lib_utils.pykshithijiyer2019-12-311-3/+3
| | | | | | | | | | | | isinstance() was missing at some places due to which variable type check for string was failing in the following functions: 1.set_passwd() 2.group_add() 3.add_user() Change-Id: Iafe47967f8d6df686c9ecdd6d87dac3c81bdb5db Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [Fix] Changing tab to space in nfs_ganesha_client_setup.ymlkshithijiyer2019-12-301-2/+2
| | | | | | | | Changing tab to space in nfs_ganesha_client_setup.yml playbook. Change-Id: I87c8cacc87173b6b50ffc9b8e2927f0d04032d32 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Fix python files in the 'examples' directoryValerii Ponomarov2019-12-234-32/+69
| | | | | | | | | | | | Fix consists of following things: - Add py2/3 compatibility - Place imports into 3 different groups and reorder them alphabetically. As it is written in the "pep8" [1]. [1] https://www.python.org/dev/peps/pep-0008/ Change-Id: Iad1c6c409d2711f8c9b2d929d29072953fd49d8e Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [TC] Gluster cli reset commands behaviour with brick muxkshithijiyer2019-12-232-7/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test case steps: 1. Set cluster.brick-multiplex to enabled. 2. Create and start 2 volumes of type 1x3 and 2x3. 3. Check if cluster.brick-multiplex is enabled. 4. Reset the cluster using "gluster v reset all". 5. Check if cluster.brick-multiplex is disabled. 6. Create a new volume of type 2x3. 7. Set cluster.brick-multiplex to enabled. 8. Stop and start all three volumes. 9. Check the if pids match and check if more than one pids of glusterfsd is present. Additional library fix: Changing the command in check_brick_pid_matches_glusterfsd_pid() as it won't work when brick-mux is enabled. From: cmd = ("ps -eaf | grep glusterfsd | " "grep %s.%s | grep -v 'grep %s.%s'" % (volname, brick_node, volname, brick_node)) To: cmd = "pidof glusterfsd" Change-Id: If7bdde13071732b176a0a2289635319571872e47 Co-authored-by: Vitalii Koriakov <vkoriako@redhat.com> Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/glusterd'. Part 2Valerii Ponomarov2019-12-1830-109/+125
| | | | | Change-Id: I1395e14d8d0aa0cc6097e51c64262fb481f36f05 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/glusterd'. Part 1Valerii Ponomarov2019-12-1832-95/+94
| | | | | Change-Id: Ib414b8496ca65a48bbe42936e32a863c9c1072e4 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/dht'Valerii Ponomarov2019-12-1824-109/+134
| | | | | Change-Id: I44fe85519c8fd381064670e54dac8736107b0928 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support for tests in 'tests/functional/afr'Valerii Ponomarov2019-12-1831-284/+408
| | | | | Change-Id: Ic14be81f1cd42c470d2bb5c15505fc1bc168a393 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support in 'glusterdir.py' and 'ssl_ops.py' librariesValerii Ponomarov2019-12-182-2/+3
| | | | | Change-Id: Ifad7d7f8e2e97bf327483b90dbf5a1cb855bc0dd Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/nfs_ganesha'Valerii Ponomarov2019-12-1810-85/+93
| | | | | Change-Id: I7a76e0c2e491caffd7ba1b648b47c4c6a687c89a Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* Fix typo in README.md file.kshithijiyer2019-12-181-1/+1
| | | | | Change-Id: If31b790d04ecc4ed880c8b4c97fa4e4891079036 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [Tool] Support for rsync, append, overwrite and truncate in file_dir_opskshithijiyer2019-12-182-3/+193
| | | | | | | | | | | | | | | | | Adding support for the below IO in file_dir_ops: 1. rsync 2. append 3. overwrite 4. truncate Changes required in CentOS-CI are submitted through the below pull request: https://github.com/gluster/centosci/pull/79 Change-Id: I0e5bc33894414ec885b2b6728a08e811b7982082 Co-authored-by: Ambarish Soman <asoman@redhat.com> Signed-off-by: Ambarish Soman <asoman@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Fix volume cleanup in 'gluster_base_class' moduleValerii Ponomarov2019-12-171-1/+1
| | | | | | | | | | | | | One of the recent changes [1] broke volume cleanup logic which is located in base class. Fix it by proper handling of the cleanup function results where '0' return code is 'success' and not 'failure' as it was considered in that change. [1] 6cd137615aec29dade5b41975fcbdae06852cf53 Change-Id: I674493369202ceabc6983fae0b3834e3b0708bf1 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/arbiter'Valerii Ponomarov2019-12-1716-124/+171
| | | | | Change-Id: I5a60646b984557ed024cb4b3a8088ce7dfb7622c Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [TC] Adding tc to verify data corruption during full heal with reboot.kshithijiyer2019-12-171-0/+250
| | | | | | | | | | | | | | | | | | | | | This test case verifies that disruption during full heal doesn't result in data corruption. Testcase steps: 1.Create IO from mountpoint. 2.Calculate arequal from mount. 3.Delete data from backend from the EC volume. 4.Trigger heal full. 5.Disable Heal. 6.Again Enable and do Heal full. 7.Reboot a Node. 8.Calculate arequal checksum and compare it. Change-Id: I1fac53df30106ff98fdd270b210aca90a53a1ac5 Co-authored-by: Sunil Kumar Acharya <sheggodu@redhat.com> Signed-off-by: Sunil Kumar Acharya <sheggodu@redhat.com> Signed-off-by: Karan Sandha <ksandha@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/snapshot'Valerii Ponomarov2019-12-1735-157/+231
| | | | | Change-Id: Ie408d7972452123b63eb5cc17c61bc319a99e304 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/samba'Valerii Ponomarov2019-12-172-5/+9
| | | | | Change-Id: Iae0f6e729c26e466d82c4133439bdd7021485e7f Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/arbiter/brick_cases'Valerii Ponomarov2019-12-175-33/+43
| | | | | Change-Id: Ieecf4707ee6cb7b3c58380306bf105e282986b1b Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* Add steps to stablize the existing contents in cleanupSri Vignesh2019-12-131-7/+18
| | | | | Change-Id: I0d405afb3ed84ae8a67f7c2e6a303063096f490c Signed-off-by: Sri Vignesh <sselvan@redhat.com>
* This test case verifies reset of brick for an EC volumeubansal2019-12-121-0/+596
| | | | | Change-Id: Iafa09988617e2e29942aa6ceb003eac2ddf2b561 Signed-off-by: ubansal <ubansal@redhat.com>
* [py2to3] Add py3 support for tests in 'tests/functional/afr/heal'Valerii Ponomarov2019-12-127-42/+60
| | | | | Change-Id: Id4df838565ec3f9ad765cf223bb5115e43dac1c5 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/fuse_subdir'Valerii Ponomarov2019-12-1214-32/+56
| | | | | Change-Id: I56194047ac6105cddb43d3f413b03bcdbbcde587 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support for tests in 'tests/functional/quota'Valerii Ponomarov2019-12-1218-61/+74
| | | | | Change-Id: I39ed09ee91a345daae7bb675184a8a30d48575fa Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/disperse'Valerii Ponomarov2019-12-125-27/+44
| | | | | Change-Id: I308f95d16ac18ec80c5c78aac9152d9ae41449bb Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support in 'tests/functional/glusterfind'Valerii Ponomarov2019-12-127-25/+25
| | | | | Change-Id: I5b36fe5144ebca05d17fb14e05b5dc75c63f7a29 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [py2to3] Add py3 support for tests in 'tests/functional/authentication'Valerii Ponomarov2019-12-127-9/+9
| | | | | Change-Id: I1c568a43bb635720a4aedc75ba844a4f499130fe Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* This TC is to check FOP in a EC volume with redundant bricks downubansal2019-12-101-0/+350
| | | | | Change-Id: I97bcbc3f9b75129be833ffa7def1b00cfd32a474 Signed-off-by: ubansal <ubansal@redhat.com>
* [Fix] Changing license to GPLv3+ in setup.py files.kshithijiyer2019-12-103-11/+11
| | | | | | | | | | The license details of the project needs to be updated for all the files in the project. Fixing all setup.py files in the project and submitting a patch. Change-Id: I7b53330a65891969403c6267e934606ea9b76352 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [py2to3] Add py3 support for tests in 'tests/functional/bvt'Valerii Ponomarov2019-12-094-14/+12
| | | | | Change-Id: I8b8aad4c3e4a2ad924478f1842498289323b7098 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
* [Fix] Rename testcase test_enabling_brix_mux.py to test_enabling_brick_mux.pykshithijiyer2019-12-091-1/+1
| | | | | Change-Id: I5c9693008d0f26dda2a51916ee9a637b310f4d5d Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [TC] CLI Check for brick multiplexingVitalii Koriakov2019-12-092-0/+127
| | | | | | | | | | | | | | | | Test case: - check if brick multiplex is disable by default - check for warning message triggering by setting brick-multiplex and choosing 'n' in y/n - check if brick multiplex is disabled after triggering warning message - check brick multiplex for all possible statuses (positive and negative) - check for brick multiplex status in /var/lib/glusterd/options file Change-Id: If1f2cba0b932837716f577bd6c4d113659975f91 Co-authored-by: Vitalii Koriakov <vkoriako@redhat.com> Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [DHT] : Changing the arguments passed to a function.sayaleeraut2019-12-091-2/+2
| | | | | | | | | | | | Earlier arguments passed to function log_volume_info_and_status in the code were (self.mnode, self.volume), which is incorrect. The function takes arguments as (mnode, volname). Changing the second incorrect argument self.volume to self.volname for the function log_volume_info_and_status at all its occurances in the code. Change-Id: If9bca96679f37c2d7cbcf0f34a16df8549110e21 Signed-off-by: sayaleeraut <saraut@redhat.com>
* [py2to3] Fix files in the 'glustolibs-misc' directoryValerii Ponomarov2019-12-092-54/+52
| | | | | | | | | | | | | | | | | Do following updates: - Use 'list' object type in comparisons instead of 'str'. Because it is differently treated in py2 and py3. Example: # In py2 isinstance(u'foo', str) is False # In py3 isinstance(u'foo', str) is True - Add comma separators in the setup.py for it's classifiers. Before it was mistakenly made as one long line. - Fix pep8 errors. - Place 'misc_libs.py' module's imports in alphabetical order. - Update bunch of docstrings of 'misc_libs.py' module's functions to make them look similar. Change-Id: I2ea2d70746c49c9130a31fb97dec76ad38a50f62 Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>