summaryrefslogtreecommitdiffstats
path: root/under_review/max-opversion.md
blob: 16d4ee4a185ea2680a3ef6ba834d5c3b15c4b928 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
Feature
-------

Summary
-------

Support to retrieve the maximum supported op-version (cluster.op-version) in a
heterogeneous cluster.

Owners
------

Samikshan Bairagya <samikshan@gmail.com>

Current status
--------------

Currently users can retrieve the op-version on which a cluster is operating by
using the gluster volume get command on the global option cluster.op-version as
follows:

# gluster volume get <volname> cluster.op-version

There is however no way for an user to find out the maximum op-version to which
the cluster could be bumped upto.

Related Feature Requests and Bugs
---------------------------------

https://bugzilla.redhat.com/show_bug.cgi?id=1365822

Detailed Description
--------------------

A heterogeneous cluster operates on a common op-version that can be supported
across all the nodes in the trusted storage pool.Upon upgrade of the nodes in
the cluster, the cluster might support a higher op-version. However, since it
is currently not possible for the user to get this op-version value, it is
difficult for them to bump up the op-version of the cluster to the supported
value.

The maximum supported op-version in a cluster would be the minimum of the
maximum op-versions in each of the nodes. To retrieve this, the volume get
functionality could be invoked as follows:

# gluster volume get all cluster.max-op-version

Benefit to GlusterFS
--------------------

This would make the user-experience better as it would make it easier for users
to know the maximum op-version on which the cluster can operate.

Scope
-----

#### Nature of proposed change

This adds a new non-settable global option, cluster.max-op-version.

#### Implications on manageability

None.

#### Implications on presentation layer

None.

#### Implications on persistence layer

None.

#### Implications on 'GlusterFS' backend

None.

#### Modification to GlusterFS metadata

None.

#### Implications on 'glusterd'

None.

How To Test
-----------

This can be tested on a cluster with at least one node running on version 'n+1'
and others on version 'n' where n = 3.10. The maximum supported op-version
(cluster.max-op-version) should be returned by `volume get` as n in this case.

User Experience
---------------

Upon upgrade of one or more nodes in a cluster, users can get the new maximum
op-version the cluster can support.

Dependencies
------------

None

Documentation
-------------

None.

Status
------

In development.

Comments and Discussion
-----------------------

  1. [Discussion on gluster-devel ML](http://www.gluster.org/pipermail/gluster-devel/2016-December/051650.html)
  2. [Discussion on Github](https://github.com/gluster/glusterfs/issues/56)