| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The existing method does not have an option to use the volume name
to get the list of snapshots. Without the option to provide the
volume name, it is not possible to get the snapshots specific to a
volume.
With this fix, there is an addition of a kwarg 'volname' for the
method 'get_snap_list' with which the snapshots of a particular
volume can be listed. This option is necessary in some test cases
where the user needs to get the list of snapshots specific to a
particular volume.
This fix also includes a small typo error in the description of
a method.
Change-Id: Ib0aeaf417a37142ebe36847e27bcd60683f325e7
Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
|
|
|
|
|
|
|
|
| |
Added library to cleanup lv created after snapshot clone and made
modifications with cleanup.
Change-Id: I71a437bf99eac1170895510475ddb30748771672
Signed-off-by: Sri Vignesh <sselvan@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The method wait_for_peers_to_connect checks whether it's Arg
'servers' is a string. It should rather be checking if the arg is
a list and accordingly make the changes if required.
Changed the Arg 'servers' validation type from 'str' to 'list'.
Change-Id: I74ddb489cd286c1f2531af478f8811759173f01e
Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
|
|
|
|
|
|
|
|
| |
The function will return the gluster version in float for the host
it is called on. It accepts the host IP as a parameter.
Change-Id: Icf48cf41031f0fa06cf3864e9215c5a960bb7c64
Signed-off-by: sayaleeraut <saraut@redhat.com>
|
|
|
|
|
|
|
|
|
| |
library files
Moving waiters from testcase and adding it as function in library in gluster_init and peer_ops.
Change-Id: I5ab1e42a5a0366fadb399789da1c156d8d96ec18
Signed-off-by: Sri Vignesh <sselvan@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This addition is to aid the test cases which validate the existence
of snapshots under the '.snaps' directory. The existing method i.e.
'uss_list_snap' does not help in getting the list of snapshots
and instead just recursively performs 'ls' under the .snaps
directory.
This method will return a list of directory names present under
the '.snaps' directory.
Change-Id: I808131788df975ca243ac5721713492422af0ab8
Signed-off-by: Vinayak Papnoi <vpapnoi@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding function is_broken_symlinks_present_on_bricks()
to brick_libs for checking if backend bricks have
broken symlinks or not.
Function added based on reviews on patch [1].
[1] https://review.gluster.org/#/c/glusto-tests/+/20460/8/tests/functional/bvt/test_verify_volume_sanity.py
Change-Id: I1b512702ab6bc629bcd967ff34ad7ecfddfc1af1
Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
|
|
|
|
|
|
|
|
| |
Fixing keyerror introduced in the patch:
https://review.gluster.org/#/c/glusto-tests/+/23967/
Change-Id: Ib44678fe46df5090b1586b09b47d3046c4dc6f9b
Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding params in gluster_base_class.py to store value
of root user's password and non-root user's name, group
and password. sync_method will be mentioned inside the
testcase as there are testcases which are only specific
to one of the sync type and it doesn't make sense to add
it in the config file. Instead we'll write testcase as shown
below:
```
class georeptestcase(baseclass):
run_chmod_with_changelog_crawl(sync_type):
# Steps of the testcase
test_chmod_with_changelog_crawl_rsync():
# Calling function with rsync as sync_type.
run_chmod_with_changelog_crawl('rsync')
test_chmod_with_changelog_crawl_tarssh():
# Calling function with tarssh as sync_type.
run_chmod_with_changelog_crawl('tarssh')
```
Change-Id: Ie65f542e76bfbee89ac2914bdcd086e1bd08dfdb
Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Ifad7d7f8e2e97bf327483b90dbf5a1cb855bc0dd
Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
|
|
|
|
|
| |
Change-Id: I7a76e0c2e491caffd7ba1b648b47c4c6a687c89a
Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Ie408d7972452123b63eb5cc17c61bc319a99e304
Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
|
|
|
|
|
| |
Change-Id: Iae0f6e729c26e466d82c4133439bdd7021485e7f
Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
|
|
|
|
|
| |
Change-Id: I0d405afb3ed84ae8a67f7c2e6a303063096f490c
Signed-off-by: Sri Vignesh <sselvan@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I8b8aad4c3e4a2ad924478f1842498289323b7098
Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Adding the default configurations for arbiter and
distributed- arbiter volume types, as it was missing from the
gluster_base_class.py.
Adding Arbiter and Distributed arbiter configuration in the
glusto_tests_config.yml
Change-Id: Ic078505975ff1a1171a4bc6ee6ad2c67f0fb45f1
Signed-off-by: sayaleeraut <saraut@redhat.com>
|
|
|
|
|
|
|
|
| |
Adding support for arbiter and distributed-arbiter volume types
as it was not present earlier in setup_volume().
Change-Id: I836e4865bb2066478d5f08254f37f115b3a1aac5
Signed-off-by: sayaleeraut <saraut@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following changes were implemented:
- Delete unused imports and place used ones in the alphabetical order.
Imports are splitted into 3 groups: built-ins, third-parties and
local modules/libs.
- Make changes to support py3 in addition to py2.
- Minimize number of code lines keeping the same behaviour and improving
readability.
- Add possibility to get 'bound' (cls) methods using 'get_super_method'
staticmethod from base class. Before it was possible to call only
unbound (self) methods.
- Update 'test_add_brick.py' module as PoC for running base class bound
methods in both - py2 and py3. Now this module py2/3 compatible.
Change-Id: I1b66b3a91084b2487c26bec8763ab2b4e12ac482
Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
|
|
|
|
|
|
|
|
|
| |
For following reasons:
- It is unused.
- It is not compatible with py3.
Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
Change-Id: Ied6373c398406ffd08d7673892fde89ec6e04fe2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lots of test classes are wrapped by the 'runs_on' decorator.
This decorator replaces original test class with it's copy where
parent class is original test class if we use py3.
Such situation leads to the impossibility to use following approach in
py3:
super(SomeClass, some_class_instance).some_method()
And, the above approach is py2/3 compatible approach for calling
parent class's methods.
The problem we face is that we fall into the unexpected recursion here.
So, add 'get_super_method' to the base class, which detects such
situation and returns proper method of a proper parent class.
Also, fix test class located at 'glusterd/test_peer_status.py' module
to have proof of concept.
With this change 'test_peer_probe_status' test case becomes completely
py2/3 compatible.
Example of new method usage:
@runs_on([['distributed'], ['glusterfs']])
class TestDecoratedClass(GlusterBaseClass):
...
def setUp(self):
self.get_super_method(self, 'setUp')()
...
This approach must be used instead of existing calls of 'im_func'
function if we want to support both at once - python2 and python3.
Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
Change-Id: I23f4462b64f9d4dd90812273f08fb756d073ab76
|
|
|
|
|
|
|
|
| |
Dict attribute called "iteritems()" is not supported in the py3.
So, replace it's usage with another similar attr called "items()".
Change-Id: I130b7f67f0a2d5da5ed6c3d792f5ff024ba148f4
Signed-off-by: Valerii Ponomarov <kiparis.kh@gmail.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
NfsGaneshaVolumeBaseClass and NfsGaneshaIOBaseClass are
essentially not needed and act as redundant.
Change-Id: I45f95e018daa4bf9575f4e831111f91615085bdc
Signed-off-by: Arjun Sharma <arjsharm@redhat.com>
|
|
|
|
|
|
|
| |
The method 'refresh_config' can be used instead of 'run_refresh_config'
Change-Id: I6c70b4dff1fd4531fdf6eaa4f044d2d1992d8151
Signed-off-by: Jilju Joy <jijoy@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Change-Id: I0f32dc73d960f8bfeb662643e736291ffb74cb81
Signed-off-by: Roch-elle <rallan@redhat.com>
Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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() 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>
|
|
|
|
|
|
|
|
|
|
|
| |
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 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 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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Change-Id: Ib557ce211f1616ef261bf414a2c0b3864a5be24e
Signed-off-by: Ambarish Soman <asoman@redhat.com>
Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
|
|
|
|
|
| |
Change-Id: Ib8a832901430da30f5f49686ba78b8fb2b76b8e7
Signed-off-by: Jilju Joy <jijoy@redhat.com>
|
|
|
|
|
|
|
|
| |
* 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>
|