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>
This commit is contained in:
parent
da5ae3afcd
commit
ec05f3a21f
@ -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",
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user