From b977b44dd0adfcd7a3b432844260de4b8d1c4adf Mon Sep 17 00:00:00 2001 From: Kotresh HR Date: Fri, 14 Sep 2018 03:42:26 -0400 Subject: geo-rep: Fix issues related config set 1. '--ignore-mising-args' option for rsync is not being used even though the rsync version is greater than 3.1.0. Fixed the same. 2. '--existing' option for rsync is also not being used. Fixed the same. 3. geo-rep config fails to set rsync-options as the value contains '--'. Interestingly, python argsparse treats the value with '--' (e.g., --ignore-missing-args) as option. But when passed with something like --value=--ignore-missing-args, it succeeds. Fixed the same. Change-Id: Iaeb838acaff1c2920fee9c7f920c99edce13a0a1 Signed-off-by: Kotresh HR fixes: bz#1629561 --- geo-replication/gsyncd.conf.in | 6 ++++-- geo-replication/syncdaemon/argsupgrade.py | 8 +++++--- geo-replication/syncdaemon/gsyncd.py | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) (limited to 'geo-replication') diff --git a/geo-replication/gsyncd.conf.in b/geo-replication/gsyncd.conf.in index ce4ef9b663a..b93af282cb3 100644 --- a/geo-replication/gsyncd.conf.in +++ b/geo-replication/gsyncd.conf.in @@ -307,10 +307,12 @@ value= value= [rsync-opt-ignore-missing-args] -value= +value=true +type=bool [rsync-opt-existing] -value= +value=true +type=bool [log-rsync-performance] value=false diff --git a/geo-replication/syncdaemon/argsupgrade.py b/geo-replication/syncdaemon/argsupgrade.py index 632271daf81..4018143b8b4 100644 --- a/geo-replication/syncdaemon/argsupgrade.py +++ b/geo-replication/syncdaemon/argsupgrade.py @@ -268,7 +268,9 @@ def upgrade(): p = ArgumentParser() p.add_argument("master") p.add_argument("slave") - p.add_argument("--config-set", nargs=2) + p.add_argument("--config-set", action='store_true') + p.add_argument("name") + p.add_argument("--value") p.add_argument("-c") pargs = p.parse_known_args(sys.argv[1:])[0] @@ -280,8 +282,8 @@ def upgrade(): "config-set", pargs.master.strip(":"), slave_url(pargs.slave), - pargs.config_set[0], - pargs.config_set[1] + "--name=%s" % pargs.name, + "--value=%s" % pargs.value ] elif "--config-check" in sys.argv: # --config-check georep_session_working_dir diff --git a/geo-replication/syncdaemon/gsyncd.py b/geo-replication/syncdaemon/gsyncd.py index a7ee5553deb..037f351151b 100644 --- a/geo-replication/syncdaemon/gsyncd.py +++ b/geo-replication/syncdaemon/gsyncd.py @@ -165,8 +165,8 @@ def main(): p = sp.add_parser("config-set") p.add_argument("master", help="Master Volume Name") p.add_argument("slave", help="Slave") - p.add_argument("name", help="Config Name") - p.add_argument("value", help="Config Value") + p.add_argument("-n", "--name", help="Config Name") + p.add_argument("-v", "--value", help="Config Value") p.add_argument("-c", "--config-file", help="Config File") p.add_argument("--debug", action="store_true") -- cgit