summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Doc] Adding numpy requirement for client.HEADmasterkshithijiyer3 hours1-1/+2
| | | | | | | | | | After modifying file_dir_ops.py as per patch [1] we would need to install numpy on clients. Hence making the changes to the Readme.md. [1]https://review.gluster.org/#/c/glusto-tests/+/23143/ Change-Id: Id3d6f4972e24317e470a8c68ed7172c516f53fc8 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [lib] Merging functions to make generic library.kshithijiyer26 hours1-184/+181
| | | | | | | | | | | | | | | | | | | | | At present there are 2 different functions for prerequisites and create session merging them and adding checks to make the functions more effective when called from a conftest.py file. By doing so we also avoid the possibility of running the same function twice which might lead to problems. For example when commands like: $ gluster system:: execute gsec_create it would make 2 entries in authorized keys files leading to workers getting into faulty state. Note: This patch should only be merged after merging the below mentioned patches: [1] https://review.gluster.org/#/c/glusto-tests/+/23291/ [2] https://review.gluster.org/#/c/glusto-tests/+/23293/ Change-Id: I3f8cda7b589c86de4dab8c66d033b364dd495b9b Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [lib] Modifying georep libraries as per changes in lib_utils.kshithijiyer26 hours2-191/+66
| | | | | | | | | | | | | | | | | | | | THIS PATCH IS DEPENDENT ON THE BELOW PATCH: https://review.gluster.org/#/c/glusto-tests/+/23291/ Removing the below functions as a more generic function is added in lib_utils: georep_ssh_keygen georep_ssh_copyid georep_groupadd georep_geoaccount georep_geoaccount_setpasswd Adding georep_mountbroker_remove_user to remove users from mountbroker which will be needed in teardown. Change-Id: I5b484b93cbc1660cdf223cfa4bac2a32acc8fc77 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [lib] Adding group_add,ssh_keygen,ssh_copy_id, set_passwd to lib_utils.kshithijiyer29 hours1-12/+130
| | | | | | | | | | | | | | | | Adding the following functions tot lib_utils.py: 1.ssh_keygen(): Creates a pair of ssh private and public key if not present. 2.set_passwd(): Sets password for a given username. 3.ssh_copy_id(): Copies the default ssh public key. 4.group_add(): Creates a group in all the servers. Modifying add_user() to create and add user to a specific group. Also modifying the code in add_user() to take list of servers. Change-Id: I58cdef967293204073aa912fa98adb9606f6885d Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Cthon test case for NFS GaneshaArjun Sharma6 days4-1/+201
| | | | | Change-Id: I3fb826bd0ecbe46bee4b9f8594b23f16921adbec Signed-off-by: Arjun Sharma <arjsharm@redhat.com>
* Add 7 negative scenarios for EC volume createubansal7 days1-1/+73
| | | | | | | | | With redundancy count as negative or disperse count with negative(different permutations) and disperse data count equal to disperse count Change-Id: I761851c64833256532464f56a9a78e20ceb8a4e1 Signed-off-by: ubansal <ubansal@redhat.com>
* Fix AFR test case tearDown and library importVinayak Papnoi7 days1-3/+16
| | | | | | | | | | | | | The test case 'test_client_side_quorum_with_fixed_validate_max_bricks' does not have a tearDown part where the volume options which have been set inside the test case have not been reset to default. The library function 'set_volume_options' was being imported from a wrong library. This fix includes this change along with the tearDown steps. Change-Id: Ic57494e7a7e8a25303b7979f98cc2dfbc9a7d7b6 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Checking quota daemon and self heal daemon process after rebootkshithijiyer7 days1-0/+167
| | | | | | | | | | | | | For each node should have one self heal daemon and one quota daemon should be up running that means total number of self heal daemon and quota daemon to be up and ruuning is (number of nodes *2), in code i am checking that count should be equalent to (number of nodes * 2) Change-Id: I79d40467edc255a479a369f19a6fd1fec9111f53 Signed-off-by: Rajesh Madaka <rmadaka@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [DHT] : Modifying the messages in g.log.info and ExecutionErrorsayaleeraut7 days1-4/+4
| | | | | | | | | | | | The ExecutionError msg at line 66 should be "failed to clean-up volume" because it is under tearDownClass. The g.log.info msg at line 123 should be "Checking if gfid xattr of directories is displayed and is same on all the bricks on the server node" as the code below it checks for the gfid xattr on the bricks on server node and not if it is displayed on mount point. Change-Id: If4e20e3487a44c1cc7047504d19cc9859424ccd4 Signed-off-by: sayaleeraut <saraut@redhat.com>
* do getfattr in brick_path rather than m_pointyinkui7 days1-2/+3
| | | | | Change-Id: I240ecb0b4a9c99134b7a5cd237a59c2857d0fb7b Signed-off-by: yinkui <13965432176@163.com>
* glusto-test:generate_io.py code not correctyinkui13 days1-2/+1
| | | | | | | | | | According to generate_io.py the function "def check_if_percent_to_fill_or_timeout_is_met" will never return false, the "flag" empty or not empty also return true. Change-Id: I2d70b2987112bd3a6404e5f13f0c6d320d01e7fc Signed-off-by: yinkui <13965432176@163.com>
* access self.mnod so we must get layout in mount_point/dirpath, and change ↵yinkui14 days1-2/+2
| | | | | | | the log. Change-Id: I361b2c59108b19480906f6dfd49b023ed1eb05cd Signed-off-by: yinkui <13965432176@163.com>
* Added a library for daemon reload and fixing testcaseBala Konda Reddy M2019-09-042-8/+53
| | | | | | | | | | | | | | After changing the type of unit file from INFO to DEBUG. Performing daemon reload. Earlier using running commands continuosly to generated debug messages instead of running continuosly, restarted glusterd in one of the nodes so that while handshake the logs will be in Debug mode. After validating reverting back the unit file to INFO and daemon reload Change-Id: I8c99407eff2ea98a836f37fc2d89bb99f7eeccb7 Signed-off-by: Bala Konda Reddy M <bmekala@redhat.com>
* Fixes: changed triggering heal by getting md5sumkshithijiyer2019-09-041-8/+7
| | | | | | Change-Id: I4d056b94b4ea59beee7eb24e7e5d5f65d7256b4a Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Optimized glustolibs-io/shared_files/scripts/file_dir_ops.py.hadarsharon2019-08-281-46/+66
| | | | | | | | | Made the IO process more efficient for better performance, as lots of randomizations and conditionals within loops made the whole process very slow. Change-Id: Ie99340d6e5fae7ee88198a646f5b46f868c816ae Signed-off-by: hadarsharon <hsharon@redhat.com>
* Adding library to run_crefi() to glustolibs-IO.kshithijiyer2019-08-272-1/+136
| | | | | | | | | | | | | | | | | | | | | | | What is crefi? Crefi is a Python command-line tool to create multi threaded workload on a filesystem and do file operations on created data. It provides basic operations to create files of different sizes, different types, in different directory structures, along with creating symlinks, hardlinks to files, and also rename, truncate, chmod, chown, chgrp and setxattr on the created files. Typical use involves creating large number of files of different sizes, over different layout, and do different operations on the created files. Which components need this tool? - Geo-rep - AFR Changes needed in infrastructure: https://github.com/gluster/centosci/commit/1fe330d34a62b56438f6eb86538286962b1abd90 Change-Id: I1e579f6f1f2c6ef0d018c055234abbf0f147e621 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [glusterfind] Test case to verify file renamesVinayak Papnoi2019-08-201-0/+231
| | | | | | | | | | | | | | | | | | Verifying the glusterfind functionality with renames of files. * Create a session on the volume * Create various files from mount point * Perform glusterfind pre * Perform glusterfind post * Check the contents of outfile * Rename the files created from mount point * Perform glusterfind pre * Perform glusterfind post * Check the contents of outfile Files renamed must be listed Change-Id: Ib7682e86d59f0519b267ec01cda999920a30de86 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* [glusterfind] Test case to verify file deletesVinayak Papnoi2019-08-201-0/+239
| | | | | | | | | | | | | | | | | | Verifying the glusterfind functionality with deletion of files. * Create a session on the volume * Create various files from mount point * Perform glusterfind pre * Perform glusterfind post * Check the contents of outfile * Delete the files created from mount point * Perform glusterfind pre * Perform glusterfind post * Check the contents of outfile Files deleted must be listed Change-Id: I2ee05a2c97983fb521648e372db21c8361a2c835 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Fixing issues in deploy-glusto.yaml playbook.kshithijiyer2019-08-191-33/+17
| | | | | | | | | | | There were a large number of mistakes due to which if we try to run the above playbook it failed on the first task itself. As well as the format of the playbook is as per a older version of ansible. Fixing and submitting a patch for the same. Change-Id: Ia8bd3264c290ff7abd12a9fa325d40673791ea11 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* glusterd test cases: Enabling and disabling shared storagekshithijiyer2019-08-191-0/+192
| | | | | | | | | | | | | | | | | | | | Steps: -> Enable a shared storage -> Disable a shared storage -> Create volume of any type with name gluster_shared_storage -> Disable the shared storage -> Check, volume created in step-3 is not deleted -> Delete the volume -> Enable the shared storage -> Check volume with name gluster_shared_storage is created -> Disable the shared storage Change-Id: I1fd29d51e32cadd7978771f4a37ac87176d90372 Signed-off-by: Gaurav Yadav <gyadav@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [Snapshot] Change shared volume mount validation functionVinayak Papnoi2019-08-081-65/+51
| | | | | | | | | | | The test case makes use of 'is_shared_volume_unmounted' function which is redundant as the purpose can be solved via a very similar function 'is_shared_volume_mounted'. This change has been implemented. There are various cosmetic changes that have been implemented as well. Change-Id: I560b464b4bcc436658db49c0a5ed8c7aadacfb6a Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Fix AFR test case tearDownVinayak Papnoi2019-08-081-6/+18
| | | | | | | | | | | | The test case 'test_client_side_quorum_with_fixed_for_cross3' does not include the tearDown part where the volume options which have been set inside the test case have to be reset to default. This fix includes the necessary tearDown steps along with a few cosmetic changes. Change-Id: I86187cef4523492ec97707ff93d0eca365293008 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Corrections to geo-rep libskshithijiyer2019-08-071-27/+23
| | | | | | Change-Id: I0f32dc73d960f8bfeb662643e736291ffb74cb81 Signed-off-by: Roch-elle <rallan@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Fix TypeError caused in heal_libs.pyVinayak Papnoi2019-08-071-1/+1
| | | | | | | | | | | | | | | | The line 316 of heal_libs.py library contains a function called 'wait_for_self_heal_daemons_to_be_online' which makes use of the 'volname' and 'timeout' arguements for string formatting. The method used for the string formatting was wrong which causes an error 'TypeError: not enough arguments for format string'. Due to this, all the test cases which make use of heal_libs.py will result in a TypeError scenario. This patch will fix the TypeError for the string formatting. Change-Id: I73abe573d2ccb60b74ccd6ae268b950640d75600 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Adding test case to mount volume, remove /var/log/glusterfs/ and remount the ↵kshithijiyer2019-08-061-0/+60
| | | | | | | | | | | | | | | volume. Test case: 1. Create all types of volumes and start them. 2. Mount all volumes on clients. 3. Delete /var/log/glusterfs folder on client. 4. Run IO on all the mount points. 5. Unmount and remount all volumes. 6. Check if logs are regenerated or not. Change-Id: I4f90d709c4da6e1c73cf95f4075c50aa44cdd811 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Enable client-side heal as client-side healing is diabled in RHGS 3.5Anees Patel2019-08-051-0/+10
| | | | | Change-Id: I0992b1b9af4e12f4e20d7a5dc184048de104d89d Signed-off-by: Anees Patel <anepatel@redhat.com>
* Optimized test case: tests/functional/glusterd/test_remove_brick_scenarios.pyhadarsharon2019-08-051-16/+28
| | | | | | | | | | Worked on the following: Improved I/O performance of test (writing 100k files to a mounted volume) by applying the following changes: 1. Modified the touch command to write as many files as possible per process, thus requiring less processes to write the 100k files 2. Using Threads to parallelize the touch processes from within the test, for better efficiency Change-Id: Id969f387f4b7b8e88daf688f7bada950cff2c412 Signed-off-by: hadarsharon <hsharon@redhat.com>
* Fix brickmux_ops libraryVinayak Papnoi2019-08-021-1/+1
| | | | | | | | | The function 'is_brick_mux_enabled' has an incorrect check for the ValueError. The format specifier was incorrect and missing. It has been added with this fix. Change-Id: Idac536de8b9916207ebdda1ba6c981837f01a220 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Moving check_gluster_shared_volume to library.kshithijiyer2019-08-011-4/+57
| | | | | | | | Adding function check_gluster_shared_volume() to check if gluster_shared_storage is present or absent. Change-Id: Ifa646187a0ef351f3dd37b54bb0a3a8a7c8b2500 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Add library to reset particular volume optionVinayak Papnoi2019-07-311-0/+35
| | | | | | | | | | | | | Currently there is a library to reset the volume entirely. There needs to be a library to reset a particular volume option because if a user has set a lot of other volume options then it becomes a tedious job to reset and set the other options explicitly. The library function 'reset_volume_option' takes particular volume options as a string and resets it. Change-Id: I2049ea4a49d321d921d940f34e124d1f34bfa068 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Adding test case to enable brickmux, create start and stop 3 volumes.kshithijiyer2019-07-291-0/+115
| | | | | | | | | | | Test Case: 1.Set cluster.brick-multiplex to enabled. 2.Create three 1x3 replica volumes. 3.Start all the three volumes. 4.Stop three volumes one by one. Change-Id: Ibf3e81e7424d6a429da0aa12efeae7fffd3338f2 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Add the contributor guideVinayak Papnoi2019-07-291-0/+202
| | | | | | | | | | | | | This guide provides extensive steps to get the developer started with the development for the project. There needs to be a contributor guide for every project. Things like git and gerrit setup which are essential for the development systems have been included in this guide along with some good practices where applicable. Change-Id: Ie1ad6e08680f2c30f9361a20c2ba68493abfb054 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* [EC]Fix a script issue to change permission of the directoryubansal2019-07-291-2/+7
| | | | | | | | Added a line to change permission of the directory so that client side healing happens for the directory also Change-Id: If4a24f2dbd6c9c85d4cb2944d1ad4795dbc39adb Signed-off-by: ubansal <ubansal@redhat.com>
* Enable client-side heal as client-side healing is disabled by default in ↵Anees Patel2019-07-291-0/+10
| | | | | | | RHGS 3.5 Change-Id: I500912b5217b675f9fdff4fe1cb518b465de245c Signed-off-by: Anees Patel <anepatel@redhat.com>
* [glusterfind] Addition of 'Test' in the class name of glusterfind create testVinayak Papnoi2019-07-291-32/+24
| | | | | | | | | | | | | | The class name was missing 'Test' at the beginning. Changing the name of the class to 'TestGlusterFindCreateCLI' from 'GlusterFindCreateCLI'. Removing the setUpClass and tearDownClass and replacing them with setUp and tearDown. Changing the variable names to be intelligible. Change-Id: Ibb5d9c6ef75ef11960aad35d65c343fa08fc9de1 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Ansiblize NFS Client Setupkshithijiyer2019-07-231-0/+9
| | | | | | Change-Id: Id2ebcacfb375a6fe92ae299ac0058eca827d1022 Signed-off-by: Ambarish Soman <asoman@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Adding get_brick_processes_count() to brickmux_ops.kshithijiyer2019-07-231-0/+18
| | | | | | | | | | | Adding get_brick_processes_count() which can be used to get the number of brick processes running on a given node would be needed for brickmux testcases to check if brickmux is honored or not. Change-Id: I6ec608b8f9d715d0f21e95fc3c0293eed287b16c Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [geo-rep] Removing 'create_shared_storage' function as separate libraries existVinayak Papnoi2019-07-231-23/+0
| | | | | | | | | | | The function 'create_shared_storage' is redundant as the same function is available as part of the shared-storage library. This part will be removed from the geo-rep library with this fix. To create/enable shared storage, make use of the shared_storage_ops.py library. Change-Id: Ibefca73140e1218f0aa9331f061ef4fc8d9360e3 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Adding testcase to remove /var/log/glusterfs and mounting volume.kshithijiyer2019-07-231-0/+125
| | | | | | | | | | | | | Test Case: 1. Create all types of volumes. 2. Start all volumes. 3. Delete /var/log/glusterfs folder on the client. 4. Mount all the volumes one by one. 5. Run IO on all the mount points. 6. Check if logs are generated in /var/log/glusterfs/. Change-Id: I7a3275aad940116c3506b22b13a670e455d9ef00 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Added more checking mechanism for crashesnchilaka2019-07-171-6/+16
| | | | | | | | | Added more checking mechanism for crashes, as sometimes coredumps may not get collected by systems due to settings and hence can miss out on any crashes hit Change-Id: Id45a844bd0d7877d335c06287d4db873776e89db Signed-off-by: nchilaka <nchilaka@redhat.com>
* Adding License section to README.md file.kshithijiyer2019-07-161-0/+3
| | | | | Change-Id: Ic4f90298472adfa83b8cdce9f523c6ba4d0fe75e Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Adding code to not stop glusterd on mnode.kshithijiyer2019-07-081-6/+28
| | | | | | | | | | | | | This test case was failing in a test run as the mnode was not removed from the list self.servers because of which there were runs where glusterd was stoppped instead and command was executed on mnod.As well as adding code to check and start glusterd on the node in instances where the test case fails. Change-Id: Id203102d3f0ec82af0ac215f0ecaf7ae22b630f5 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Updating developer-guideVinayak Papnoi2019-07-031-2/+2
| | | | | | | Changing the class method to reflect 'cls' instead of 'self' Change-Id: Idaa78714ddd3a3638036c1506b1e38f410fdc259 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Modifying test_enabling_gluster_debug_mode to do more operations.kshithijiyer2019-07-021-3/+7
| | | | | | | | | | | | While running test_enabling_gluster_debug_mode through jenkins it was observed that running volume operation once wasn't generating enough of logs by the time the logs were checked which lead to failure of the test case in the jenkins run. So modifying the logic which generates logs to run operation in a loop to generated a good amount of logs. Change-Id: Id7a12c86a04dc86d4856dbe30d945e70e64ea4f7 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Converting text files to markdown files.kshithijiyer2019-06-304-47/+54
| | | | | | | | | It's better to use markdown files instead of text files for readme files. Hence converting readme files to readme.md files. Change-Id: I41c1b2f065895d885f4b1fabdc9b9e4051810e80 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* [glusterfind] Test case to verify the 'glusterfind pre' functionalityVinayak Papnoi2019-06-301-0/+204
| | | | | | | | | | | | | | | | | | | | | | | Verifying the 'glusterfind pre' command functionality with valid and invalid values for the required and optional parameters. * Create a session on the volume * Perform some I/O from the mount point * Perform glusterfind pre with the following combinations: - Valid values for required parameters - Invalid values for required parameters - Valid values for optional parameters - Invalid values for optional parameters * Perform glusterfind post Where Required parameters: volname, sessname and outfile Optional parameters: full, debug, gftype, tagforfullfind, namespace, noencode, disablepartial, regenoutfile, outprefix, fieldsep Change-Id: Id795d632ebb8f43f49a9d15d83aced87670007b6 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* [glusterfind] Test case to verify the 'glusterfind post' functionalityVinayak Papnoi2019-06-301-0/+199
| | | | | | | | | | | | | | | | | | | | | Verifying the 'glusterfind post' command functionality with valid and invalid values for the required and optional parameters. * Create a session on the volume * Perform some I/O from the mount point * Perform glusterfind pre - Perform glusterfind post with the following combinations: - Valid values for required parameters - Invalid values for required parameters - Valid values for optional parameters - Invalid values for optional parameters Where Required parameters: volname and sessname Optional parameters: debug Change-Id: Ia4c59b5ea3626d83bd6cedfda44e04ddbfa1567d Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* [glusterfind] Test case to verify the 'glusterfind query' functionalityVinayak Papnoi2019-06-301-0/+164
| | | | | | | | | | | | | | | | | | | | | | | Verifying the 'glusterfind query' command functionality with valid and invalid values for the required and optional parameters. *** glusterfind query command does not require a session to be created *** * Perform some I/O from the mount point * Perform glusterfind query with the following combinations: - Valid values for required parameters - Invalid values for required parameters - Valid values for optional parameters - Invalid values for optional parameters Where Required parameters: volname and outfile Optional parameters: full, debug, gftype, tagforfullfind, since, namespace, noencode, disablepartial, end, regenoutfile, outprefix, fieldsep Change-Id: I5b9dbc987cec0f4ff9e460f875da72de7c9fe1c5 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* [glusterfind] Test case to verify the glusterfind delete functionalityVinayak Papnoi2019-06-301-0/+145
| | | | | | | | | | | | | | | | | | | | | | Verifying the glusterfind delete command functionality with valid and invalid values for the required and optional parameters. * Create a volume * Create a session on the volume * Perform glusterfind list to check if session is created * Delete the glusterfind session with the following combinations: - Valid values for required parameters - Invalid values for required parameters - Valid values for optional parameters - Invalid values for optional parameters * Perform glusterfind list to check if session is deleted Where: Required parameters: volname and sessname Optional parameters: debug Change-Id: I8240ccfd728cd7aa138103ffe1c24a705aa1b51c Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Adding missing LICENSE file to the project.kshithijiyer2019-06-211-0/+674
| | | | | | | | | | | | | For all opensouce projects it's a must to have a LICENSE file in the root directory of the project. The LICENSE file describes the terms and conditions under which the project is open sourced. glusto-tests follows GNU GPL LICENSE which is missing this file in it's root directory. Hence adding GNU GPL LICENSE file to the project. Change-Id: I7e3675d1b7540c42cc0549aa501f15585887ed12 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>