Bug 1392715

Summary: Quota version not changing in the quota.conf after upgrading to 3.7.1 from 3.6.1
Product: [Community] GlusterFS Reporter: Sanoj Unnikrishnan <sunnikri>
Component: glusterdAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.7.15CC: amukherj, bugs, manikandancs333, mselvaga, rcyriac, rgowdapp, rhinduja, rnalakka, smohan, storage-qa-internal
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: glusterfs-3.7.18 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1371539 Environment:
Last Closed: 2016-12-13 07:19:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1367472, 1371539, 1392716, 1392718    
Bug Blocks:    

Comment 1 Worker Ant 2016-11-08 05:08:32 UTC
REVIEW: http://review.gluster.org/15790 (glusterd/quota: upgrade quota.conf file during an upgrade) posted (#1) for review on release-3.7 by sanoj-unnikrishnan (sunnikri)

Comment 2 Sanoj Unnikrishnan 2016-11-08 05:41:37 UTC
Description of problem:

Peer goes to rejected state after peer probing a new 3.7.x node from 3.6.x when quota is enabled.

1) Create a volume(a plain distribute volume with one brick) with gluster 3.6.1

2) Enable quota(Check the quota.conf file and it is v1.1)

3) Now upgrade the gluster version to 3.7.1-16

4) Bump up the op-version using 'gluster v set all cluster.op-version 30703'

5) The version in quota.conf is still v1.1. Now do a peer probe <node1>. Peer probe will succeed but the new node(node1) now has a quota version v1.2 while the node from which peer probe is initiated has still quota version as v1.1 in quota.conf. 

6) Issue gluster peer status. The new node(node1) will now has the status as Peer rejected.

Comment 3 Worker Ant 2016-11-08 13:32:16 UTC
COMMIT: http://review.gluster.org/15790 committed in release-3.7 by Atin Mukherjee (amukherj) 
------
commit 7168e27c23079734934976a59bc2ee31bbed31a5
Author: Manikandan Selvaganesh <mselvaga>
Date:   Tue Aug 30 17:53:09 2016 +0530

    glusterd/quota: upgrade quota.conf file during an upgrade
    
    Problem
    =======
    When quota is enabled on 3.6, it will have quota conf version in quota.conf
    as v1.1. This node gets upgraded to 3.7 but it will still have quota conf
    version as v1.1 until a quota enable/disable/set limit is initiated. When
    this is not initiated and when this node tries to peer probe a node which
    is a fresh install of 3.7 (which will have quota conf version as v1.2), then this
    will result in "Peer rejected" state. This patch fixes the issue.
    
    Solution
    ========
    When an upgrade happens from 3.6 to 3.7, quota.conf file needs
    to be modified as well. With 3.6, in quota.conf the version will be
    v1.1 and it needs to be changed to v1.2 from 3.7. This is because in
    3.7, inode quota feature is introduced. So when an op-version bumpup
    happens quota.conf needs to be upgraded with quota conf version v1.2
    and all the 16 byte uuid needs to be changed to 17 bytes uuid as well.
    
    Previously, when the cluster version is upgraded to 3.7, the quota.conf
    got upgraded as well. But, the upgradation was done only when quota
    enable/disable/set limit is done. With this patch, the upgradation is done
    during a cluster op version bump up as well.
    
    >Reviewed-on: http://review.gluster.org/15352
    >Tested-by: Atin Mukherjee <amukherj>
    >NetBSD-regression: NetBSD Build System <jenkins.org>
    >CentOS-regression: Gluster Build System <jenkins.org>
    >Smoke: Gluster Build System <jenkins.org>
    >Reviewed-by: Atin Mukherjee <amukherj>
    
    Change-Id: Idb5ba29d3e1ea0e45c85d87c952c75da9e0f99f0
    BUG: 1392715
    Signed-off-by: Manikandan Selvaganesh <mselvaga>
    Reviewed-on: http://review.gluster.org/15790
    Tested-by: sanoj-unnikrishnan <sunnikri>
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Manikandan Selvaganesh <manikandancs333>

Comment 4 Kaushal 2016-12-13 07:19:35 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.7.18, please open a new bug report.

glusterfs-3.7.18 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] https://www.gluster.org/pipermail/gluster-users/2016-December/029427.html
[2] https://www.gluster.org/pipermail/gluster-users/