summaryrefslogtreecommitdiffstats
path: root/cli
diff options
context:
space:
mode:
authordarshan n <dnarayan@redhat.com>2015-03-04 19:18:10 +0530
committerKrishnan Parthasarathi <kparthas@redhat.com>2015-03-12 23:34:24 -0700
commit7c177bda6ccd1c3e7a7c070eb2ab0dc5e6b32a5c (patch)
tree259d1ce7ad56aa8a249740ea27e543f717bf8c20 /cli
parent65c68fb75640be2c5744782081250dda886a7b56 (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.c29
-rw-r--r--cli/src/cli-cmd-volume.c2
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",