Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 1567616 - [shared-storage-vol]: Dead lock between disable and enable of shared volume blaming itself
[shared-storage-vol]: Dead lock between disable and enable of shared volume b...
Status: POST
Product: Red Hat Gluster Storage
Classification: Red Hat
Component: core (Show other bugs)
3.4
x86_64 Linux
unspecified Severity medium
: ---
: ---
Assigned To: Sanju
Rahul Hinduja
: Reopened, ZStream
Depends On: 1568674
Blocks: 1503143
  Show dependency treegraph
 
Reported: 2018-04-15 10:19 EDT by Rahul Hinduja
Modified: 2018-08-28 01:28 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Known Issue
Doc Text:
If we disable enable-shared-storage option when any one of the glusterd is down, disabling the shared storage operation will be success. But subsequent enable/disable of enable-shared-storage operations will fail. Work Around: gluster v delete gluster_shared_storage gluster v set all cluster.enable-shared-storage enable
Story Points: ---
Clone Of:
: 1568674 (view as bug list)
Environment:
Last Closed: 2018-04-16 04:05:17 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Rahul Hinduja 2018-04-15 10:19:35 EDT
Description of problem:
=======================

Consider a entry scenario where shared volume is enabled and mounted on all nodes of trusted servers. Now if any glusterd is down and shared volume is disabled, it returns success and any subsequent enable/disable blame it exists/non-exist respectively.


[root@dhcp41-226 ~]# gluster volume set all cluster.enable-shared-storage enable
volume set: failed: Shared storage volume(gluster_shared_storage) already exists.
[root@dhcp41-226 ~]# gluster volume set all cluster.enable-shared-storage disable
Disabling cluster.enable-shared-storage will delete the shared storage volume(gluster_shared_storage), which is used by snapshot scheduler, geo-replication and NFS-Ganesha. Do you still want to continue? (y/n) y
volume set: failed: Shared storage volume does not exist. Please enable shared storage for creating shared storage volume.
[root@dhcp41-226 ~]# gluster volume set all cluster.enable-shared-storage enable
volume set: failed: Shared storage volume(gluster_shared_storage) already exists.
[root@dhcp41-226 ~]# gluster volume set all cluster.enable-shared-storage disable
Disabling cluster.enable-shared-storage will delete the shared storage volume(gluster_shared_storage), which is used by snapshot scheduler, geo-replication and NFS-Ganesha. Do you still want to continue? (y/n) y
volume set: failed: Shared storage volume does not exist. Please enable shared storage for creating shared storage volume.
[root@dhcp41-226 ~]# 

No force option is available to come out of this dead loop. volume Stop/Start force also did not help. 

Workaround: 
[root@dhcp41-226 ~]# gluster volume stop gluster_shared_storage force
Stopping the shared storage volume(gluster_shared_storage), will affect features like snapshot scheduler, geo-replication and NFS-Ganesha. Do you still want to continue? (y/n) y
volume stop: gluster_shared_storage: success
[root@dhcp41-226 ~]# gluster volume delete gluster_shared_storage
Deleting the shared storage volume(gluster_shared_storage), will affect features like snapshot scheduler, geo-replication and NFS-Ganesha. Do you still want to continue? (y/n) y
volume delete: gluster_shared_storage: success
[root@dhcp41-226 ~]# gluster volume set all cluster.enable-shared-storage enable
volume set: success
[root@dhcp41-226 ~]#

Version-Release number of selected component (if applicable):
=============================================================

glusterfs-server-3.12.2-7.el7rhgs.x86_64

How reproducible:
=================
2/2


Steps to Reproduce:
===================
1. Enable shared volume
2. Stop glusterd on one of the node
3. Disable shared volume (Shared volume disables successfully. )
4. Start glusterd on the node
5. Try enable/disable of shared volume. 

Actual results:
Enable complains that the shared volume exists and disable complains that the shared volume does not exist. For a user it is like a dead-lock where enable/disable doesnt work and doesnt mount the shared volume to local host.
Comment 2 Atin Mukherjee 2018-04-16 04:05:17 EDT

*** This bug has been marked as a duplicate of bug 1551688 ***
Comment 6 Atin Mukherjee 2018-04-18 07:37:16 EDT
upstream patch : https://review.gluster.org/#/c/19897/

Note You need to log in before you can comment on or make changes to this bug.