diff options
Diffstat (limited to 'tests/distaf/distaf_libs/distaflibs-gluster/distaflibs/gluster/brick_ops.py')
| -rw-r--r-- | tests/distaf/distaf_libs/distaflibs-gluster/distaflibs/gluster/brick_ops.py | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/tests/distaf/distaf_libs/distaflibs-gluster/distaflibs/gluster/brick_ops.py b/tests/distaf/distaf_libs/distaflibs-gluster/distaflibs/gluster/brick_ops.py deleted file mode 100644 index 3c363c2bfed..00000000000 --- a/tests/distaf/distaf_libs/distaflibs-gluster/distaflibs/gluster/brick_ops.py +++ /dev/null @@ -1,90 +0,0 @@ -# This file is part of DiSTAF -# Copyright (C) 2015-2016 Red Hat, Inc. <http://www.redhat.com> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - -import re -from distaf.util import tc - -""" - This file contains the gluster brick operations like - add-brick, bring_down_brick replace/remove brick -""" - - -def add_brick(volname, nbricks, replica=1, stripe=1, peers='', mnode=''): - """ - Does the gluster add-brick. If peer is '', peers from the config - is taken. And replica/stripe will not be used by default. - Returns the output of add-brick command, which would be a tuple of - (retcode, stdout, sstderr) from gluster add-brick command. - """ - global tc - if peers == '': - peers = tc.peers[:] - if mnode == '': - mnode = tc.nodes[0] - replica = int(replica) - stripe = int(stripe) - volinfo = tc.run(mnode, "gluster volume info | egrep \"^Brick[0-9]+\"", \ - verbose=False) - if volinfo[0] != 0: - tc.logger.error("Unable to get volinfo for add-brick") - return (-1, -1, -1) - bi = int(re.findall(r"%s_brick([0-9]+)" % volname, volinfo[1])[-1]) + 1 - tempn = 0 - n = 0 - add_bricks = '' - brick_root = "/bricks" - for i in range(bi, bi + nbricks): - sn = len(re.findall(r"%s" % peers[n], volinfo[1])) + tempn - add_bricks = "%s %s:%s/brick%d/%s_brick%d" % (add_bricks, peers[n], \ - brick_root, sn, volname, i) - if n < len(peers[:]) - 1: - n = n + 1 - else: - n = 0 - tempn = tempn + 1 - repc = strc = '' - if replica != 1: - repc = "replica %d" % replica - if stripe != 1: - strc = "stripe %d" % stripe - ret = tc.run(mnode, "gluster volume add-brick %s %s %s %s" % \ - (volname, repc, strc, add_bricks)) - return ret - - -def bring_down_brick(volname, bindex, node=''): - """ - Kills the glusterfsd process of the particular brick - Returns True on success and False on failure - """ - global tc - if node == '': - node = tc.nodes[0] - ret, rnode, _ = tc.run(node, "gluster volume info %s | egrep \"^Brick%d:\"" - " | awk '{print $2}' | awk -F : '{print $1}'" - % (volname, bindex)) - if ret != 0: - return False - ret, _, _ = tc.run(rnode.rstrip(), \ - "pid=`cat /var/lib/glusterd/vols/%s/run/*%s_brick%d.pid` && kill -15 $pid \ - || kill -9 $pid" % (volname, volname, bindex - 1)) - if ret != 0: - return False - else: - return True |
