diff options
| author | Aravinda VK <avishwan@redhat.com> | 2016-04-29 13:03:40 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2016-04-29 21:13:59 -0700 | 
| commit | 80e3832ec16f69d4184172cfc9afa9e42533e0ef (patch) | |
| tree | 00ecd3591412011595e4a89719252cdacc689543 | |
| parent | ae9d39890fc9a7bcd696cb441c4f3b2eb9677379 (diff) | |
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>
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | configure.ac | 17 | ||||
| -rw-r--r-- | extras/geo-rep/Makefile.am | 4 | ||||
| -rw-r--r-- | extras/geo-rep/schedule_georep.py.in (renamed from extras/geo-rep/schedule_georep.py) | 18 | 
4 files changed, 31 insertions, 9 deletions
diff --git a/.gitignore b/.gitignore index a70a5b149d9..8f2534d6250 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/configure.ac b/configure.ac index 0c02a880337..21707737873 100644 --- a/configure.ac +++ b/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 diff --git a/extras/geo-rep/Makefile.am b/extras/geo-rep/Makefile.am index fb6664ef273..da3dd1f1d39 100644 --- a/extras/geo-rep/Makefile.am +++ b/extras/geo-rep/Makefile.am @@ -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 diff --git a/extras/geo-rep/schedule_georep.py b/extras/geo-rep/schedule_georep.py.in index 74fc6934263..c931111b365 100644 --- a/extras/geo-rep/schedule_georep.py +++ b/extras/geo-rep/schedule_georep.py.in @@ -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("  | 
