Bug 1313628

Summary: Brick ports get changed after GlusterD restart
Product: [Community] GlusterFS Reporter: Kaushal <kaushal>
Component: glusterdAssignee: Kaushal <kaushal>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: mainlineCC: amukherj, bugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1316391 (view as bug list) Environment:
Last Closed: 2016-06-16 13:59:06 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:    
Bug Blocks: 1306656, 1316391    

Description Kaushal 2016-03-02 06:11:30 UTC
The following sequence of steps can lead to the brick ports changing, which can break firewall rules and lead to a brick being inaccessible from the client.

1. Stop the volume
2. Stop glusterd on one node.
3a. Start the volume from some other node, or
3b. do a volume set operation
4. Start glusterd on the downed node again.
5. If 3b was done, start volume now.
Result: Brick ports on the downed node change

Comment 1 Vijay Bellur 2016-03-02 10:52:33 UTC
REVIEW: http://review.gluster.org/13578 (glusterd: Always copy old brick ports when importing) posted (#1) for review on master by Kaushal M (kaushal)

Comment 2 Vijay Bellur 2016-03-07 07:36:34 UTC
REVIEW: http://review.gluster.org/13578 (glusterd: Always copy old brick ports when importing) posted (#2) for review on master by Kaushal M (kaushal)

Comment 3 Vijay Bellur 2016-03-10 07:22:11 UTC
COMMIT: http://review.gluster.org/13578 committed in master by Atin Mukherjee (amukherj) 
------
commit ecf6243bc435a00f3dd2495524cd6e48e2d56f72
Author: Kaushal M <kaushal>
Date:   Wed Mar 2 15:19:30 2016 +0530

    glusterd: Always copy old brick ports when importing
    
    When an updated volinfo is imported in, the brick ports from the old
    volinfo should be always copied.
    
    Earlier, this was being done only if the old volinfo was stopped and
    new volinfo was started. This could lead to brick ports chaging when the
    following sequence of steps happened.
    - A volume is stopped
    - GlusterD is stopped on a peer
    - The stopped volume is started
    - The stopped GlusterD is started
    This sequence would lead to bricks on the peer with re-started GlusterD
    to get new ports, which could break firewall rules and could prevent
    client access. This sequence could be hit when enabling management
    encryption in a Gluster trusted storage pool.
    
    Change-Id: I808ad478038d12ed2b19752511bdd7aa6f663bfc
    BUG: 1313628
    Signed-off-by: Kaushal M <kaushal>
    Reviewed-on: http://review.gluster.org/13578
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra Talur <rtalur>
    Smoke: Gluster Build System <jenkins.com>
    Tested-by: Atin Mukherjee <amukherj>
    Reviewed-by: Atin Mukherjee <amukherj>

Comment 4 Niels de Vos 2016-06-16 13:59:06 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.8.0, please open a new bug report.

glusterfs-3.8.0 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] http://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user