geo-rep: Fix gluster binary invocation while running as cron
When scheduler script was executed as cron, it was unable to detect the Gluster binaries. BUG: 1331658 Change-Id: Ic9c533586ed9a472765f69aa2f87d004c46d4340 Signed-off-by: Aravinda VK <avishwan@redhat.com> Reviewed-on: http://review.gluster.org/14111 CentOS-regression: Gluster Build System <jenkins@build.gluster.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> Smoke: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
This commit is contained in:
parent
ae9d39890f
commit
80e3832ec1
1
.gitignore
vendored
1
.gitignore
vendored
@ -46,6 +46,7 @@ contrib/argp-standalone/libargp.a
|
||||
contrib/fuse-util/fusermount-glusterfs
|
||||
contrib/uuid/uuid_types.h
|
||||
extras/geo-rep/gsync-sync-gfid
|
||||
extras/geo-rep/schedule_georep.py
|
||||
extras/init.d/glusterd-Debian
|
||||
extras/init.d/glusterd-FreeBSD
|
||||
extras/init.d/glusterd-Redhat
|
||||
|
17
configure.ac
17
configure.ac
@ -223,6 +223,7 @@ AC_CONFIG_FILES([Makefile
|
||||
extras/ocf/volume
|
||||
extras/LinuxRPM/Makefile
|
||||
extras/geo-rep/Makefile
|
||||
extras/geo-rep/schedule_georep.py
|
||||
extras/firewalld/Makefile
|
||||
extras/hook-scripts/add-brick/Makefile
|
||||
extras/hook-scripts/add-brick/pre/Makefile
|
||||
@ -1075,6 +1076,22 @@ case $host_os in
|
||||
;;
|
||||
esac
|
||||
|
||||
# Default value for sbindir
|
||||
prefix_temp=$prefix
|
||||
exec_prefix_temp=$exec_prefix
|
||||
|
||||
test "${prefix}" = "NONE" && prefix="${ac_default_prefix}"
|
||||
test "${exec_prefix}" = "NONE" && exec_prefix='${prefix}'
|
||||
sbintemp="${sbindir}"
|
||||
eval sbintemp=\"${sbintemp}\"
|
||||
eval sbintemp=\"${sbintemp}\"
|
||||
SBIN_DIR=${sbintemp}
|
||||
|
||||
prefix=$prefix_temp
|
||||
exec_prefix=$exec_prefix_temp
|
||||
|
||||
AC_SUBST(SBIN_DIR)
|
||||
|
||||
# lazy umount emulation
|
||||
UMOUNTD_SUBDIR=""
|
||||
if test "x${GF_HOST_OS}" != "xGF_LINUX_HOST_OS" ; then
|
||||
|
@ -10,4 +10,6 @@ gsync_sync_gfid_SOURCES = gsync-sync-gfid.c
|
||||
gsync_sync_gfid_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src
|
||||
|
||||
EXTRA_DIST = gsync-sync-gfid.c gsync-upgrade.sh generate-gfid-file.sh \
|
||||
get-gfid.sh slave-upgrade.sh schedule_georep.py
|
||||
get-gfid.sh slave-upgrade.sh schedule_georep.py.in
|
||||
|
||||
CLEANFILES = schedule_georep.py
|
||||
|
@ -130,7 +130,7 @@ def glustermount(hostname, volname):
|
||||
Automatically unmounts it in case of Exceptions/out of context
|
||||
"""
|
||||
mnt = tempfile.mkdtemp(prefix="georepsetup_")
|
||||
execute(["glusterfs",
|
||||
execute(["@SBIN_DIR@/glusterfs",
|
||||
"--volfile-server", hostname,
|
||||
"--volfile-id", volname,
|
||||
"-l", SESSION_MOUNT_LOG_FILE,
|
||||
@ -152,7 +152,7 @@ def get_bricks(volname):
|
||||
parsed.
|
||||
"""
|
||||
value = []
|
||||
cmd = ["gluster", "volume", "info", volname, "--xml"]
|
||||
cmd = ["@SBIN_DIR@/gluster", "volume", "info", volname, "--xml"]
|
||||
info = execute(cmd)
|
||||
try:
|
||||
tree = etree.fromstring(info)
|
||||
@ -169,7 +169,7 @@ def get_bricks(volname):
|
||||
def get_georep_status(mastervol, slave):
|
||||
session_keys = set()
|
||||
out = {}
|
||||
cmd = ["gluster", "volume", "geo-replication"]
|
||||
cmd = ["@SBIN_DIR@/gluster", "volume", "geo-replication"]
|
||||
if mastervol is not None:
|
||||
cmd += [mastervol]
|
||||
if slave:
|
||||
@ -357,20 +357,20 @@ def main(args):
|
||||
turns = 1
|
||||
|
||||
# Stop Force
|
||||
cmd = ["gluster", "volume", "geo-replication", args.mastervol,
|
||||
cmd = ["@SBIN_DIR@/gluster", "volume", "geo-replication", args.mastervol,
|
||||
"%s::%s" % (args.slave, args.slavevol), "stop", "force"]
|
||||
execute(cmd)
|
||||
output_ok("Stopped Geo-replication")
|
||||
|
||||
# Set Checkpoint to NOW
|
||||
cmd = ["gluster", "volume", "geo-replication", args.mastervol,
|
||||
cmd = ["@SBIN_DIR@/gluster", "volume", "geo-replication", args.mastervol,
|
||||
"%s::%s" % (args.slave, args.slavevol), "config", "checkpoint",
|
||||
"now"]
|
||||
execute(cmd)
|
||||
output_ok("Set Checkpoint")
|
||||
|
||||
# Start the Geo-replication
|
||||
cmd = ["gluster", "volume", "geo-replication", args.mastervol,
|
||||
cmd = ["@SBIN_DIR@/gluster", "volume", "geo-replication", args.mastervol,
|
||||
"%s::%s" % (args.slave, args.slavevol), "start"]
|
||||
execute(cmd)
|
||||
output_ok("Started Geo-replication and watching Status for "
|
||||
@ -421,7 +421,8 @@ def main(args):
|
||||
|
||||
if summary["checkpoints_ok"]:
|
||||
output_ok("Stopping Geo-replication session now")
|
||||
cmd = ["gluster", "volume", "geo-replication", args.mastervol,
|
||||
cmd = ["@SBIN_DIR@/gluster", "volume", "geo-replication",
|
||||
args.mastervol,
|
||||
"%s::%s" % (args.slave, args.slavevol), "stop"]
|
||||
execute(cmd)
|
||||
break
|
||||
@ -436,7 +437,8 @@ def main(args):
|
||||
turns += 1
|
||||
duration = int(time.time()) - start_time
|
||||
if args.timeout > 0 and duration > (args.timeout * 60):
|
||||
cmd = ["gluster", "volume", "geo-replication", args.mastervol,
|
||||
cmd = ["@SBIN_DIR@/gluster", "volume", "geo-replication",
|
||||
args.mastervol,
|
||||
"%s::%s" % (args.slave, args.slavevol), "stop", "force"]
|
||||
execute(cmd)
|
||||
output_notok("Timed out, Stopping Geo-replication("
|
Loading…
x
Reference in New Issue
Block a user