summaryrefslogtreecommitdiffstats
path: root/glustolibs-gluster/glustolibs/gluster/brickdir.py
diff options
context:
space:
mode:
authorkshithijiyer <kshithij.ki@gmail.com>2020-07-23 16:48:06 +0530
committerBala Konda Reddy M <bala12352@gmail.com>2020-07-27 05:28:16 +0000
commit2c1c3111fd2eb39175a3f36122527ec154e85dd8 (patch)
tree0e0e988094951e3e724f15f26e89a449d64e8eab /glustolibs-gluster/glustolibs/gluster/brickdir.py
parent5727e6a8e11e894fce2bf7814a84077a4f95c5b0 (diff)
[Libfix] Remove get_gluster_version() checks
Problem: When run for nightly gluster builds dht cases fails with below traceback: ``` def get_gluster_version(host): """Checks the gluster version on the nodes Args: host(str): IP of the host whose gluster version has to be checked. Returns: (float): The gluster version value. """ command = 'gluster --version' _, out, _ = g.run(host, command) g.log.info("The Gluster verion of the cluster under test is %s", out) > return float(out.split(' ')[1]) E ValueError: could not convert string to float: '20200719.9334a8d\nRepository ``` This is due to nightly builds returning the below output: ``` $ gluster --version glusterfs 20200708.cdf01cc Repository revision: git://git.gluster.org/glusterfs.git Copyright (c) 2006-2016 Red Hat, Inc. <https://www.gluster.org/> GlusterFS comes with ABSOLUTELY NO WARRANTY. It is licensed to you under your choice of the GNU Lesser General Public License, version 3 or any later version (LGPLv3 or later), or the GNU General Public License, version 2 (GPLv2), in all cases as published by the Free Software Foundation. ``` Instead of: ``` $ gluster --version glusterfs 6.0 ``` This is caused as while building the we use `VERSION="${GIT_DATE}.${GIT_HASH}` which causes the version API to return new output. Solution: Remove the checks and modify the function to return string instead of float. Fixes: https://github.com/gluster/glusto-tests/issues/22 Change-Id: I2e889bd0354a1aa75de25aedf8b14eb5ff5ecbe6 Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
Diffstat (limited to 'glustolibs-gluster/glustolibs/gluster/brickdir.py')
-rw-r--r--glustolibs-gluster/glustolibs/gluster/brickdir.py58
1 files changed, 15 insertions, 43 deletions
diff --git a/glustolibs-gluster/glustolibs/gluster/brickdir.py b/glustolibs-gluster/glustolibs/gluster/brickdir.py
index ffc868b93..e864e8247 100644
--- a/glustolibs-gluster/glustolibs/gluster/brickdir.py
+++ b/glustolibs-gluster/glustolibs/gluster/brickdir.py
@@ -20,7 +20,6 @@
import os
from glusto.core import Glusto as g
-from glustolibs.gluster.gluster_init import get_gluster_version
from glustolibs.gluster.volume_libs import get_volume_type
@@ -81,11 +80,12 @@ def get_hashrange(brickdir_path):
"""
(host, _) = brickdir_path.split(':')
- gluster_version = get_gluster_version(host)
- # Check for the Gluster version and then volume type
- """If the GLuster version is lower than 6.0, the hash range
- can be calculated for all volume types"""
- if gluster_version < 6.0:
+ ret = get_volume_type(brickdir_path)
+ if ret in ('Replicate', 'Disperse', 'Arbiter'):
+ g.log.info("Cannot find hash-range for Replicate/Disperse/Arbiter"
+ " volume type on Gluster 6.0 and higher.")
+ return "Skipping for Replicate/Disperse/Arbiter volume type"
+ else:
ret = check_hashrange(brickdir_path)
hash_range_low = ret[0]
hash_range_high = ret[1]
@@ -94,24 +94,6 @@ def get_hashrange(brickdir_path):
else:
g.log.error("Could not get hashrange")
return None
- elif gluster_version >= 6.0:
- ret = get_volume_type(brickdir_path)
- if ret in ('Replicate', 'Disperse', 'Arbiter'):
- g.log.info("Cannot find hash-range for Replicate/Disperse/Arbiter"
- " volume type on Gluster 6.0 and higher.")
- return "Skipping for Replicate/Disperse/Arbiter volume type"
- else:
- ret = check_hashrange(brickdir_path)
- hash_range_low = ret[0]
- hash_range_high = ret[1]
- if ret is not None:
- return (hash_range_low, hash_range_high)
- else:
- g.log.error("Could not get hashrange")
- return None
- else:
- g.log.info("Failed to get hash range")
- return None
def file_exists(host, filename):
@@ -149,22 +131,14 @@ class BrickDir(object):
def _get_hashrange(self):
"""get the hash range for a brick from a remote system"""
- gluster_version = get_gluster_version(self._host)
- if gluster_version < 6.0:
+ ret = get_volume_type(self._path)
+ if ret in ('Replicate', 'Disperse', 'Arbiter'):
+ g.log.info("Cannot find hash-range as the volume type under"
+ " test is Replicate/Disperse/Arbiter")
+ else:
self._hashrange = get_hashrange(self._path)
self._hashrange_low = self._hashrange[0]
self._hashrange_high = self._hashrange[1]
- elif gluster_version >= 6.0:
- ret = get_volume_type(self._path)
- if ret in ('Replicate', 'Disperse', 'Arbiter'):
- g.log.info("Cannot find hash-range as the volume type under"
- " test is Replicate/Disperse/Arbiter")
- else:
- self._hashrange = get_hashrange(self._path)
- self._hashrange_low = self._hashrange[0]
- self._hashrange_high = self._hashrange[1]
- else:
- g.log.info("Failed to get hashrange")
@property
def path(self):
@@ -207,12 +181,10 @@ class BrickDir(object):
if self.hashrange is None or self._hashrange_high is None:
self._get_hashrange()
if self._get_hashrange() is None:
- gluster_version = get_gluster_version(self._host)
- if gluster_version >= 6.0:
- ret = get_volume_type(self._path)
- if ret in ('Replicate', 'Disperse', 'Arbiter'):
- g.log.info("Cannot find hash-range as the volume type"
- " under test is Replicate/Disperse/Arbiter")
+ ret = get_volume_type(self._path)
+ if ret in ('Replicate', 'Disperse', 'Arbiter'):
+ g.log.info("Cannot find hash-range as the volume type"
+ " under test is Replicate/Disperse/Arbiter")
else:
return self._hashrange_high