diff options
author | Amar Tumballi <amarts@redhat.com> | 2018-12-17 14:16:21 +0530 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2019-02-04 03:47:15 +0000 |
commit | ec05f3a21f44e1fd5e089b7a0fffd5265b67cdfc (patch) | |
tree | de539a2f5b744f704a9c0bbbbb2f6a3ce4406796 | |
parent | da5ae3afcd1b16bb0f2f9bffc1878b17b75429ed (diff) |
glusterd: manage upgrade to current master
Scenarios tested:
* Upgrade the node when there are stripe / tiering and regular
type of volumes are present.
- All volumes are started fine (as the change was not on brick volfile)
- For tier, the functionality may not even work, as changetimerecorder
is not present.
- 'gluster volume info' properly shows as 'NOT SUPPORTED' for stripe and
tier type of volume.
* Upgrade in a rolling upgrade scenario, where an old version is
able to connect to higher master.
- on a normal volume, if the volfile-server was new, the newer client
volfiles needed to have utime xlator conditionally.
- with this one change, all other changes seem to work fine.
Change-Id: Ib2d3b69dafa02b2c695a735b13c1aa70aba07cb8
updates: bz#1635688
Signed-off-by: Amar Tumballi <amarts@redhat.com>
-rw-r--r-- | libglusterfs/src/common-utils.c | 10 | ||||
-rw-r--r-- | tests/bugs/cli/bug-1353156-get-state-cli-validations.t | 1 | ||||
-rw-r--r-- | tests/bugs/snapshot/bug-1227646.t | 1 | ||||
-rw-r--r-- | tests/bugs/snapshot/bug-1279327.t | 1 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-store.c | 15 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volgen.c | 10 |
6 files changed, 18 insertions, 20 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index a49c84de5e1..2a74d7bf239 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -65,14 +65,14 @@ char *vol_type_str[] = { "Distribute", - "Stripe", + "Stripe [NOT SUPPORTED from v6.0]", "Replicate", - "Striped-Replicate", + "Striped-Replicate [NOT SUPPORTED from v6.0]", "Disperse", - "Tier", - "Distributed-Stripe", + "Tier [NOT SUPPORTED from v6.0]", + "Distributed-Stripe [NOT SUPPORTED from v6.0]", "Distributed-Replicate", - "Distributed-Striped-Replicate", + "Distributed-Striped-Replicate [NOT SUPPORTED from v6.0]", "Distributed-Disperse", }; diff --git a/tests/bugs/cli/bug-1353156-get-state-cli-validations.t b/tests/bugs/cli/bug-1353156-get-state-cli-validations.t index c9c06cc6567..a4556c9c997 100644 --- a/tests/bugs/cli/bug-1353156-get-state-cli-validations.t +++ b/tests/bugs/cli/bug-1353156-get-state-cli-validations.t @@ -43,7 +43,6 @@ push_trapfunc rm -rf $ODIR TEST $CLI volume create $V0 disperse $H0:$B0/b1 $H0:$B0/b2 $H0:$B0/b3 TEST $CLI volume start $V0 -TEST $CLI volume tier $V0 attach replica 2 $H0:$B1/b4 $H0:$B1/b5 TEST setup_lvm 1 TEST $CLI volume create $V1 $H0:$L1; diff --git a/tests/bugs/snapshot/bug-1227646.t b/tests/bugs/snapshot/bug-1227646.t index a16a8c270da..9b73dfdb32f 100644 --- a/tests/bugs/snapshot/bug-1227646.t +++ b/tests/bugs/snapshot/bug-1227646.t @@ -20,7 +20,6 @@ TEST $CLI snapshot create snap1 $V0 no-timestamp; TEST $CLI volume stop $V0 TEST $CLI snapshot restore snap1; TEST $CLI volume start $V0 -TEST $CLI volume tier $V0 attach $H0:$L1 $H0:$L2 TEST pkill gluster TEST glusterd diff --git a/tests/bugs/snapshot/bug-1279327.t b/tests/bugs/snapshot/bug-1279327.t index de1b3885a1c..4e4be6eeea6 100644 --- a/tests/bugs/snapshot/bug-1279327.t +++ b/tests/bugs/snapshot/bug-1279327.t @@ -15,7 +15,6 @@ TEST setup_lvm 3 TEST $CLI volume create $V0 $H0:$L1 TEST $CLI volume start $V0 TEST $CLI volume quota $V0 enable -TEST $CLI volume tier $V0 attach replica 2 $H0:$L2 $H0:$L3 TEST $CLI snapshot create snap1 $V0 no-timestamp TEST $CLI snapshot activate snap1 diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c index 7fb5c1715b4..124ca2741af 100644 --- a/xlators/mgmt/glusterd/src/glusterd-store.c +++ b/xlators/mgmt/glusterd/src/glusterd-store.c @@ -3331,14 +3331,13 @@ glusterd_store_update_volinfo(glusterd_volinfo_t *volinfo) break; case GF_CLUSTER_TYPE_TIER: - if (volinfo->tier_info.cold_type == GF_CLUSTER_TYPE_DISPERSE) - volinfo->tier_info - .cold_dist_leaf_count = volinfo->disperse_count; - else - volinfo->tier_info - .cold_dist_leaf_count = glusterd_calc_dist_leaf_count( - volinfo->tier_info.cold_replica_count, 1); - + case GF_CLUSTER_TYPE_STRIPE: + case GF_CLUSTER_TYPE_STRIPE_REPLICATE: + gf_msg(this->name, GF_LOG_CRITICAL, ENOTSUP, + GD_MSG_VOLINFO_STORE_FAIL, + "The volume type is no more supported. Please refer to " + "glusterfs-6.0 release-notes for how to migrate from " + "this volume type"); break; default: diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index d3beb1f68ae..b7c7bd9b638 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -4283,10 +4283,12 @@ client_graph_builder(volgen_graph_t *graph, glusterd_volinfo_t *volinfo, } } - xl = volgen_graph_add(graph, "features/utime", volname); - if (!xl) { - ret = -1; - goto out; + if (conf->op_version >= GD_OP_VERSION_5_0) { + xl = volgen_graph_add(graph, "features/utime", volname); + if (!xl) { + ret = -1; + goto out; + } } /* As of now snapshot volume is read-only. Read-only xlator is loaded |