summaryrefslogtreecommitdiffstats
path: root/glustolibs-gluster
Commit message (Collapse)AuthorAgeFilesLines
* Using egrep instead of grepArjun Sharma2019-09-261-1/+1
| | | | | | | | | Since egrep treats a pattern as extended regular expression it is more suited to be used in this case. The current usage of grep fails to identify the expression after the first pipe. Change-Id: Id02f884356048c56066a406937f8d86456ee8bd7 Signed-off-by: Arjun Sharma <arjsharm@redhat.com>
* Added AD integration, winbind services nmb services ctdb servicesvivek das2019-09-261-5/+410
| | | | | | | Change-Id: I5c9c6ce48a973c6c902186f4e62afda196faf442 Signed-off-by: vivek das <vdas@redhat.com> Signed-off-by: srivickynesh <sselvan@redhat.com> Signed-off-by: vivek das <vdas@redhat.com>
* Removing redundant classes:Arjun Sharma2019-09-251-247/+1
| | | | | | | | NfsGaneshaVolumeBaseClass and NfsGaneshaIOBaseClass are essentially not needed and act as redundant. Change-Id: I45f95e018daa4bf9575f4e831111f91615085bdc Signed-off-by: Arjun Sharma <arjsharm@redhat.com>
* Removing redundant method 'run_refresh_config'Jilju Joy2019-09-201-51/+0
| | | | | | | The method 'refresh_config' can be used instead of 'run_refresh_config' Change-Id: I6c70b4dff1fd4531fdf6eaa4f044d2d1992d8151 Signed-off-by: Jilju Joy <jijoy@redhat.com>
* [lib] Merging functions to make generic library.kshithijiyer2019-09-171-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.kshithijiyer2019-09-172-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.kshithijiyer2019-09-171-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>
* 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>
* 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 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>
* 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>
* Library: GlusterfindVinayak Papnoi2019-06-071-0/+536
| | | | | | | | | | | | | | Adding library for the glusterfind operations such as: * glusterfind create * glusterfind delete * glusterfind pre * glusterfind post * glusterfind query * glusterfind list Change-Id: I94372f8c4a14cc94d68451dec1763401d9d66d90 Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
* Adding find_and_replace_in_file & check_if_pattern_in_file to library.kshithijiyer2019-05-281-0/+46
| | | | | | | | | | | The function do the following in a nutshell: 1. find_and_replace_in_file: Find and replace a given pattern in a specific file. 2. check_if_pattern_in_file: Check if a give pattern is in seen in file or not. Change-Id: Ib035f54490592f2be32a30f0e8a10e7847812990 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Adding is_ganesha_installed & is_ganesha_running to nfs_ganesha_ops.pykshithijiyer2019-05-231-0/+33
| | | | | | Change-Id: Ib557ce211f1616ef261bf414a2c0b3864a5be24e Signed-off-by: Ambarish Soman <asoman@redhat.com> Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Removing non-ASCII character from the fileJilju Joy2019-05-101-1/+1
| | | | | Change-Id: Ib8a832901430da30f5f49686ba78b8fb2b76b8e7 Signed-off-by: Jilju Joy <jijoy@redhat.com>
* Enhancement in ganesha cluster setupJilju Joy2019-05-091-26/+55
| | | | | | | | * Code change to do peer probe if not already done * Changes to avoid prerequeste of password less ssh between nodes Change-Id: I8260a80ad8c75a6b3d569cc7ee652e569ec9153a Signed-off-by: Jilju Joy <jijoy@redhat.com>
* Avoid using gdeploy for nfs-ganesha setup, teardown, acl and root-squash libsJilju Joy2019-04-152-320/+589
| | | | | | | | | | * Removed dependency on gdeploy for setup and teardown of ganesha cluster * Correction of pylint errors * Added new method to set acl * Added new method to set root-squash * Added new method for refresh-config * Removed setUp and tearDown methods from NfsGaneshaClusterSetupClass Change-Id: I1266fe7c09e1fed148ca222712e15932a5ad928c
* Modificatons to base class to include slave infoRoch-elle2019-04-121-0/+14
| | | | | | | Added new config file for georep Change-Id: I544ee35f8cd6a2f2ed744f72caa28fa4fd63e5b3 Signed-off-by: Roch-elle <rallan@redhat.com>
* Modifying get_online_bricks_list() to give brick list with node downkshithijiyer2019-04-041-1/+5
| | | | | | | | | | get_online_bricks_list() used to fail in case of node down secnarios with KeyError exception adding code to catch the exception and provide brick list with bricks from gluster v status. Signed-off-by: kshithijiyer <kshithij.ki@gmail.com> Change-Id: Ia26208a52e4197050421bc34b9b8cdaf74ac4da6
* Adding get_dir_contents() to glusterdir library.kshithijiyer2019-03-201-0/+18
| | | | | Change-Id: I7a043753b8ae2ae46ee944e04ddd9137f177960f Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Adding library for profile operationskshithijiyer2019-02-211-0/+265
| | | | | Change-Id: I6db42f6762fe323e8ea0af6b7a9ecbe9af9f5b59 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
* Delete quorum method from old file. Added fixes for flake8Vitalii Koriakov2019-01-302-75/+75
| | | | | Change-Id: I2acf835a4cf7301c64c4c8a9423f78672cdf9aa4 Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com>
* fixng lib according to functinality changenagpavanchilakam2019-01-031-2/+2
| | | | Change-Id: I1525d783c223dd3bb3099419bcd9a5efcf0f0085
* setting user.cifs to on for all cifs volumesVijay Avuthu2018-12-271-0/+8
| | | | Change-Id: I4c0b5c9e39d1e7903a64ad9fe91c2feb6ecf7f8e
* Fixed: servers with no bricks are not icluded in servers_unused_bricks_dictVitalii Koriakov2018-12-191-1/+2
| | | | | Change-Id: I953975d66c333c141b03b4eaa7118a93859be878 Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com>
* Correction in volume export scenarioJilju Joy2018-12-061-7/+7
| | | | | | | | | Either nfs-ganesha or gnfs can be enabled. Both cannot co-exist. If 'nfs_ganesha' enable option is set to True in the configuration file, volume will be exported through nfs-ganesha, else it will be exported through gnfs Change-Id: I26e5aa8b29d54fc5d41d77fea7951df66e4de1e7
* Convert bitrot_ops to python3Vitalii Koriakov2018-11-191-2/+2
| | | | | Change-Id: I2183252ee881b5f9c8c74af62c7d8fd2cafb8fc9 Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com>
* Convert auth_ops.py and lib_utils.py to python3Vitalii Koriakov2018-11-082-15/+16
| | | | | Change-Id: I8baf97066c5ae47e2a298581eeb74374fc09a21e Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com>
* Convert geo_rep_ops to python3Vitalii Koriakov2018-11-081-3/+3
| | | | | Change-Id: I2f491f7cadd92846730c6528920c9fa8c2c9edce Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com>
* Using a raw strings for fixing flake warningsVitalii Koriakov2018-10-298-20/+17
| | | | | Change-Id: Ie134790ea05919a4b396657c11cbc3fc7a7fc529 Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com>
* glustolibs: Add GlusterBlockBaseClassbhumikagoyal2018-10-251-2/+647
| | | | | | | | | | | | | | | | | | | | | | | | | | Add the base class for gluster-block which includes functions that helps in automating the test cases on client and target side. These functions will help in block creation, block discovery, login on the client, getting mpath, mounting the block, logout. The teardown function will take care of unmounting blocks, logging out and block deletion and volume cleanup. The .yml file for block should be like: Example gluster_block_args_info: volname: testvol #Should be same as volume name in glusterfs config fle servers: #Server names should be same as names in glusterfs config file - 192.168.100.163 - 192.168.100.192 size: 2GiB ha: 3 auth: enable prealloc: num_of_blocks: 2 #Number of blocks to be created with this configuration ring-buffer: 16 blockname: block_testing #Base name of the blocks to be created. Change-Id: I8cd354fc991cd21c542cfd7f03399cc23c9f7917 Signed-off-by: Bhumika Goyal <bgoyal@redhat.com>
* Revert "Raise Exceptions in setup_volume and mount_volume"Jonathan Holloway2018-09-141-77/+96
| | | | | | This reverts commit 2d425798657a725e02d63ff631c5b87187ea4ca4. Change-Id: I388fe7ff11e28e027fe9006512e35ec57ff10d9c
* Raise Exceptions in setup_volume and mount_volumeNigel Babu2018-09-121-96/+77
| | | | Change-Id: I1310b9da1262b06e77a621831d599cd4077c31ed
* is_brick_mux_enabled misspelling fixesVitalii Koriakov2018-09-051-2/+1
| | | | | Change-Id: I61da7bbe3f5b64f7c93b291a5ada52cde37997d9 Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com>
* Added methods and fixed importVitalii Koriakov2018-09-051-29/+50
| | | | | Change-Id: Id8f86e027e1109b0351dd45e073b68bf31fe1de6 Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com>
* Changed disabled to disableVitalii Koriakov2018-08-301-1/+1
| | | | | Change-Id: I616ffab2a797330778781a8245de87a0f5775df3 Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com>
* Adding is_brick_mux_disabled methodVitalii Koriakov2018-08-301-1/+18
| | | | | Change-Id: I2b5e8cb9d02967736f18ed80c1aaff48ac684716 Signed-off-by: Vitalii Koriakov <vkoriako@redhat.com>
* glustolibs: add functions for gluster-block operationsbhumikagoyal2018-08-292-0/+480
| | | | | | | | | | | | | | | | | | | block_libs.py: Module for some gluster-block related helper functions like block info validation, checking if block exists etc. This module will call the functions in block_ops and the result will be used for further operations. These functions are either called from GlusterBlockBaseClass or can be called directly from testcases. block_ops.py: Module for gluster-block helper functions like block_create, block_delete, block_modify, block_info, block_list. The functions here will either be called from GlusterBlockBaseClass or block_libs.py or can be called directly from the testcases. Change-Id: I5d82ac32bbf27a2a6597ad275ff09b3601615f2b Signed-off-by: Bhumika Goyal <bgoyal@redhat.com>
* Fix spelling mistake across the codebaseNigel Babu2018-08-0710-32/+32
| | | | Change-Id: I46fc2feffe6443af6913785d67bf310838532421
* Adding a function which gets all files and directories on a bricksPrasad Desala2018-07-271-0/+53
| | | | | Change-Id: I0a439b8defeb6b8e72694f1d97e1309a7ba988fa Signed-off-by: Prasad Desala <tdesala@redhat.com>
* Tests: ensure volume deletion works when intended.Yaniv Kaul2018-07-171-13/+46
| | | | | | | | | | | It could have failed without anyone noticing. Added 'xfail' - do we expect to fail in deletion (and changed tests accordingly) On the way, ensure stdout and stderr are logged in case of such failures. Change-Id: Ibdf7a43cadb0393707a6c68c19a664453a971eb1 Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
* Library: modification in quota_fetch_listsrivickynesh2018-07-031-0/+2
| | | | | Change-Id: I524db04636de4afb9cd6ab79c8b60a8607f8b553 Signed-off-by: srivickynesh <sselvan@redhat.com>
* Adding test case for change owner, group, permission for directoryMohit Agrawal2018-06-291-0/+35
| | | | | | | | | | | | | | | | | 1) Create Dir with some file inside dir 2) Verify dir exists on all bricks as well as mount point 3) Compare dir stat with mount-point and brick location path 4) Change the ownership of directory 5) Compare dir stats with mount-point and brick path 6) Try to change pemission with different user for directory 7) Compare dir stat with mount-point and brick path 8) Try to change permission with different user for directory 9) change permission of directory 10) Compare dir stat with mount-point and brick path 11) Try to change permission with different user for same directory Change-Id: I284842be8c7562d4618d4e69e202c4d80945f1c5 Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
* Adding dht function is_layout_completePrasad Desala2018-06-281-0/+70
| | | | | | | | | | | | | | | | | | | | | | | def is_layout_complete(mnode, volname): """This function reads the subvols in the given volume and checks whether layout is complete or not. Layout starts at zero, ends at 32-bits high, and has no holes or overlaps Args: volname (str): volume name mnode (str): Node on which cmd has to be executed. Returns (bool): True if layout is complete False if layout has any holes or overlaps Example: is_layout_complete("abc.xyz.com", "testvol") """ Change-Id: I46b20bf71c0dd3ac7d2dd393fa209744c4eebb3c Signed-off-by: Prasad Desala <tdesala@redhat.com>
* glusto/dht-lib: Adding new function find_new_hashedSusant Palai2018-06-281-1/+165
| | | | | | | | | | | Added functions to search for a hashed/nonhashed subvol for a file/dir. Adding function find_new_hashed. This is written for rename case so that the new name will hash to a different subvol than that of the the old name. Change-Id: I8dc0b40ab517071096b704966e680c61d8bcc516 Signed-off-by: Susant Palai <spalai@redhat.com>
* Quota : Validate limit on deep directoriesharigowtham2018-06-261-1/+1
| | | | | | | | | | | | | | | The below operations are performed on various types of volumes and mount. * Enable Quota * Create 10 directories one inside the other and set limit of 1GB on each directory * Perform a quota list operation * Create some random amount of data inside each directory * Perform a quota list operation * Remove the quota limit and delete the data Change-Id: I2a706eba5c23909e2e6996f485b3f4ead9d5dbca Signed-off-by: harigowtham <hgowtham@redhat.com>