summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cli/src/cli-cmd-volume.c6
-rw-r--r--cli/src/cli.c7
-rw-r--r--cli/src/cli.h1
-rw-r--r--tests/bugs/bug-948729/bug-948729-mode-script.t43
-rw-r--r--tests/bugs/bug-948729/bug-948729.t3
-rw-r--r--tests/include.rc2
6 files changed, 26 insertions, 36 deletions
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c
index f11fa21db96..f3b1828a0c7 100644
--- a/cli/src/cli-cmd-volume.c
+++ b/cli/src/cli-cmd-volume.c
@@ -395,7 +395,7 @@ cli_cmd_volume_create_cbk (struct cli_state *state, struct cli_cmd_word *word,
}
}
- if (state->mode & GLUSTER_MODE_SCRIPT) {
+ if (state->mode & GLUSTER_MODE_WIGNORE) {
ret = dict_set_int32 (options, "force", _gf_true);
if (ret) {
gf_log ("cli", GF_LOG_ERROR, "Failed to set force "
@@ -981,7 +981,7 @@ cli_cmd_volume_add_brick_cbk (struct cli_state *state,
}
}
- if (state->mode & GLUSTER_MODE_SCRIPT) {
+ if (state->mode & GLUSTER_MODE_WIGNORE) {
ret = dict_set_int32 (options, "force", _gf_true);
if (ret) {
gf_log ("cli", GF_LOG_ERROR, "Failed to set force "
@@ -1552,7 +1552,7 @@ cli_cmd_volume_replace_brick_cbk (struct cli_state *state,
goto out;
}
- if (state->mode & GLUSTER_MODE_SCRIPT) {
+ if (state->mode & GLUSTER_MODE_WIGNORE) {
ret = dict_set_int32 (options, "force", _gf_true);
if (ret) {
gf_log ("cli", GF_LOG_ERROR, "Failed to set force"
diff --git a/cli/src/cli.c b/cli/src/cli.c
index 67f1ad25793..a77200c6692 100644
--- a/cli/src/cli.c
+++ b/cli/src/cli.c
@@ -326,14 +326,21 @@ cli_opt_parse (char *opt, struct cli_state *state)
return 0;
}
+ if (strcmp (opt, "wignore") == 0) {
+ state->mode |= GLUSTER_MODE_WIGNORE;
+ return 0;
+ }
+
oarg = strtail (opt, "mode=");
if (oarg) {
if (strcmp (oarg, "script") == 0) {
state->mode |= GLUSTER_MODE_SCRIPT;
return 0;
}
+
if (strcmp (oarg, "interactive") == 0)
return 0;
+
return -1;
}
diff --git a/cli/src/cli.h b/cli/src/cli.h
index 1fe8ffff7fb..f5db29383c0 100644
--- a/cli/src/cli.h
+++ b/cli/src/cli.h
@@ -45,6 +45,7 @@ enum argp_option_keys {
#define GLUSTER_MODE_SCRIPT (1 << 0)
#define GLUSTER_MODE_ERR_FATAL (1 << 1)
#define GLUSTER_MODE_XML (1 << 2)
+#define GLUSTER_MODE_WIGNORE (1 << 3)
#define GLUSTERD_GET_QUOTA_AUX_MOUNT_PATH(abspath, volname, path) \
diff --git a/tests/bugs/bug-948729/bug-948729-mode-script.t b/tests/bugs/bug-948729/bug-948729-mode-script.t
index 541ca897d5f..5a1fdd3b1db 100644
--- a/tests/bugs/bug-948729/bug-948729-mode-script.t
+++ b/tests/bugs/bug-948729/bug-948729-mode-script.t
@@ -13,10 +13,6 @@ uuid1=`uuidgen`;
uuid2=`uuidgen`;
uuid3=`uuidgen`;
-V1=patchy1
-V2=patchy2
-V3=patchy3
-
TEST launch_cluster 2;
TEST $CLI_1 peer probe $H2;
@@ -24,17 +20,11 @@ TEST $CLI_1 peer probe $H2;
EXPECT_WITHIN 20 1 check_peers;
B3=/d/backends/3
-B4=/d/backends/4
-B5=/d/backends/5
-B6=/d/backends/6
-mkdir -p $B3 $B4 $B5 $B6
+mkdir -p $B3
TEST truncate -s 16M $B1/brick1
TEST truncate -s 16M $B2/brick2
TEST truncate -s 16M $B3/brick3
-TEST truncate -s 16M $B4/brick4
-TEST truncate -s 16M $B5/brick5
-TEST truncate -s 16M $B6/brick6
TEST LD1=`losetup --find --show $B1/brick1`
TEST mkfs.xfs $LD1
@@ -42,44 +32,35 @@ TEST LD2=`losetup --find --show $B2/brick2`
TEST mkfs.xfs $LD2
TEST LD3=`losetup --find --show $B3/brick3`
TEST mkfs.xfs $LD3
-TEST LD4=`losetup --find --show $B4/brick4`
-TEST mkfs.xfs $LD4
-TEST LD5=`losetup --find --show $B5/brick5`
-TEST mkfs.xfs $LD5
-TEST LD6=`losetup --find --show $B6/brick6`
-TEST mkfs.xfs $LD6
-mkdir -p $B1/$V0 $B2/$V0 $B3/$V0 $B4/$V0 $B5/$V0 $B6/$V0
+mkdir -p $B1/$V0 $B2/$V0 $B3/$V0
TEST mount -t xfs $LD1 $B1/$V0
TEST mount -t xfs $LD2 $B2/$V0
TEST mount -t xfs $LD3 $B3/$V0
-TEST mount -t xfs $LD4 $B4/$V0
-TEST mount -t xfs $LD5 $B5/$V0
-TEST mount -t xfs $LD6 $B6/$V0
+
+cli1=$(echo $CLI1 | sed 's/ --wignore//')
#Case 0: Parent directory of the brick is absent
-TEST ! $CLI_1 volume create $V0 $H1:$B1/$V0/nonexistent/b1 $H2:$B2/$V0/nonexistent/b2
+TEST ! $cli1 volume create $V0 $H1:$B1/$V0/nonexistent/b1 $H2:$B2/$V0/nonexistent/b2
#Case 1: File system root being used as brick directory
-TEST $CLI_1 volume create $V0 $H1:$B5/$V0 $H2:$B6/$V0
+TEST ! $cli1 volume create $V0 $H1:$B1/$V0 $H2:$B2/$V0
#Case 2: Brick directory contains only one component
-TEST $CLI_1 volume create $V1 $H1:/$uuid1 $H2:/$uuid2
+TEST ! $cli1 volume create $V0 $H1:/$uuid1 $H2:/$uuid2
#Case 3: Sub-directories of the backend FS being used as brick directory
-TEST $CLI_1 volume create $V2 $H1:$B1/$V0/brick1 $H2:$B2/$V0/brick2
+TEST $cli1 volume create $V0 $H1:$B1/$V0/brick1 $H2:$B2/$V0/brick2
#add-brick tests
-TEST ! $CLI_1 volume add-brick $V0 $H1:$B3/$V0/nonexistent/brick3
-TEST $CLI_1 volume add-brick $V0 $H1:$B3/$V0
-TEST $CLI_1 volume add-brick $V1 $H1:/$uuid3
-TEST $CLI_1 volume add-brick $V2 $H1:$B4/$V0/brick3
+TEST ! $cli1 volume add-brick $V0 $H1:$B3/$V0/nonexistent/brick3
+TEST ! $cli1 volume add-brick $V0 $H1:$B3/$V0
+TEST ! $cli1 volume add-brick $V0 $H1:/$uuid3
+TEST $cli1 volume add-brick $V0 $H1:$B3/$V0/brick3
#####replace-brick tests
#FIX-ME : replace-brick does not currently work in the newly introduced
#####cluster test framework
-rmdir /$uuid1 /$uuid2 /$uuid3
-
cleanup;
diff --git a/tests/bugs/bug-948729/bug-948729.t b/tests/bugs/bug-948729/bug-948729.t
index f94db1ea055..3914a454c53 100644
--- a/tests/bugs/bug-948729/bug-948729.t
+++ b/tests/bugs/bug-948729/bug-948729.t
@@ -40,8 +40,9 @@ TEST mount -t xfs $LD1 $B1/$V0
TEST mount -t xfs $LD2 $B2/$V0
TEST mount -t xfs $LD3 $B3/$V0
-#Tests without --mode=script option
+#Tests without options 'mode=script' and 'wignore'
cli1=$(echo $CLI1 | sed 's/ --mode=script//')
+cli1=$(echo $cli1 | sed 's/ --wignore//')
#Case 0: Parent directory of the brick is absent
TEST ! $cli1 volume create $V0 $H1:$B1/$V0/nonexistent/b1 $H2:$B2/$V0/nonexistent/b2
diff --git a/tests/include.rc b/tests/include.rc
index 40dd8ac96b9..0369d26109b 100644
--- a/tests/include.rc
+++ b/tests/include.rc
@@ -8,7 +8,7 @@ H0=${H0:=`hostname --fqdn`}; # hostname
DEBUG=${DEBUG:=0} # turn on debugging?
statedumpdir=`gluster --print-statedumpdir`; # Default directory for statedump
-CLI="gluster --mode=script";
+CLI="gluster --mode=script --wignore";
mkdir -p $B0;
mkdir -p $M0 $M1;