diff options
author | darshan n <dnarayan@redhat.com> | 2015-03-04 19:18:10 +0530 |
---|---|---|
committer | Krishnan Parthasarathi <kparthas@redhat.com> | 2015-03-12 23:34:24 -0700 |
commit | 7c177bda6ccd1c3e7a7c070eb2ab0dc5e6b32a5c (patch) | |
tree | 259d1ce7ad56aa8a249740ea27e543f717bf8c20 /cli | |
parent | 65c68fb75640be2c5744782081250dda886a7b56 (diff) |
geo-rep-cli: added a new option "no-verify" to geo-rep create.
This patch adds a new option called as "no-verify" to geo-rep
create command. With no-verify option, following checks does
not take place before session creation:
* if ssh port 22 is open in slave
* has proper passwordless ssh login setup
* slave volume is created and is empty
* if slave has enough memory
This option is needed by ovirt-engine as the tasks done
by push-pem is taken care by ovirt-engine and also the
above checks are done. Thus creation of password-less
ssh can be avoided when geo-replication is managed
through ovirt.
Usage: volume geo-replication [<VOLNAME>] [<SLAVE-URL>]
{ create [[no-verify]|[push-pem]] [force]|
start [force]|stop [force]|pause [force]|
resume [force]|config|status [detail]|
delete } [options...]
Change-Id: I975265f27d6434be5409438257d09cd4190c9159
BUG: 1198615
Signed-off-by: darshan n <dnarayan@redhat.com>
Reviewed-on: http://review.gluster.org/9799
Reviewed-by: Aravinda VK <avishwan@redhat.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
Diffstat (limited to 'cli')
-rw-r--r-- | cli/src/cli-cmd-parser.c | 29 | ||||
-rw-r--r-- | cli/src/cli-cmd-volume.c | 2 |
2 files changed, 26 insertions, 5 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index 0981f11b7be..b2ef1d77104 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -2028,7 +2028,7 @@ out: } static int32_t -force_push_pem_parse (const char **words, int wordcount, +force_push_pem_no_verify_parse (const char **words, int wordcount, dict_t *dict, unsigned *cmdi) { int32_t ret = 0; @@ -2037,6 +2037,7 @@ force_push_pem_parse (const char **words, int wordcount, if ((strcmp ((char *)words[wordcount-2], "start")) && (strcmp ((char *)words[wordcount-2], "stop")) && (strcmp ((char *)words[wordcount-2], "create")) && + (strcmp ((char *)words[wordcount-2], "no-verify")) && (strcmp ((char *)words[wordcount-2], "push-pem")) && (strcmp ((char *)words[wordcount-2], "pause")) && (strcmp ((char *)words[wordcount-2], "resume"))) { @@ -2058,6 +2059,16 @@ force_push_pem_parse (const char **words, int wordcount, if (ret) goto out; (*cmdi)++; + } else if (!strcmp ((char *)words[wordcount-2], "no-verify")) { + if (strcmp ((char *)words[wordcount-3], "create")) { + ret = -1; + goto out; + } + ret = dict_set_uint32 (dict, "no_verify", + _gf_true); + if (ret) + goto out; + (*cmdi)++; } } else if (!strcmp ((char *)words[wordcount-1], "push-pem")) { if (strcmp ((char *)words[wordcount-2], "create")) { @@ -2068,6 +2079,16 @@ force_push_pem_parse (const char **words, int wordcount, if (ret) goto out; (*cmdi)++; + } else if (!strcmp ((char *)words[wordcount-1], "no-verify")) { + if ((strcmp ((char *)words[wordcount-2], "create"))) { + ret = -1; + goto out; + } + ret = dict_set_uint32 (dict, "no_verify", + _gf_true); + if (ret) + goto out; + (*cmdi)++; } out: @@ -2088,7 +2109,7 @@ cli_cmd_gsync_set_parse (const char **words, int wordcount, dict_t **options) unsigned glob = 0; unsigned cmdi = 0; char *opwords[] = { "create", "status", "start", "stop", - "config", "force", "delete", + "config", "force", "delete", "no-verify" "push-pem", "detail", "pause", "resume", NULL }; char *w = NULL; @@ -2102,7 +2123,7 @@ cli_cmd_gsync_set_parse (const char **words, int wordcount, dict_t **options) /* new syntax: * - * volume geo-replication $m $s create [push-pem] [force] + * volume geo-replication $m $s create [[no-verify] | [push-pem]] [force] * volume geo-replication [$m [$s]] status [detail] * volume geo-replication [$m] $s config [[!]$opt [$val]] * volume geo-replication $m $s start|stop [force] @@ -2215,7 +2236,7 @@ cli_cmd_gsync_set_parse (const char **words, int wordcount, dict_t **options) } else GF_ASSERT (!"opword mismatch"); - ret = force_push_pem_parse (words, wordcount, dict, &cmdi); + ret = force_push_pem_no_verify_parse (words, wordcount, dict, &cmdi); if (ret) goto out; diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index af9cc6a5aa6..a14a772cfb7 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -2378,7 +2378,7 @@ struct cli_cmd volume_cmds[] = { "reset all the reconfigured options"}, #if (SYNCDAEMON_COMPILE) - {"volume "GEOREP" [<VOLNAME>] [<SLAVE-URL>] {create [push-pem] [force]" + {"volume "GEOREP" [<VOLNAME>] [<SLAVE-URL>] {create [[no-verify]|[push-pem]] [force]" "|start [force]|stop [force]|pause [force]|resume [force]|config|status [detail]|delete} [options...]", cli_cmd_volume_gsync_set_cbk, "Geo-sync operations", |