Bug 1347923
| Summary: | ganesha.enable remains on in volume info file even after we disable nfs-ganesha on the cluster. | |||
|---|---|---|---|---|
| Product: | [Red Hat Storage] Red Hat Gluster Storage | Reporter: | Shashank Raj <sraj> | |
| Component: | glusterd | Assignee: | Jiffin <jthottan> | |
| Status: | CLOSED ERRATA | QA Contact: | Rahul Hinduja <rhinduja> | |
| Severity: | high | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | rhgs-3.1 | CC: | amukherj, asriram, jthottan, kkeithle, mzywusko, ndevos, rcyriac, rhinduja, rhs-bugs, skoduri, vbellur | |
| Target Milestone: | --- | |||
| Target Release: | RHGS 3.2.0 | |||
| Hardware: | x86_64 | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | glusterfs-3.8.4-1 | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1349270 (view as bug list) | Environment: | ||
| Last Closed: | 2017-03-23 05:37:34 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: | 1349270, 1351151, 1351503 | |||
|
Description
Shashank Raj
2016-06-18 13:27:07 UTC
> 3. So once we enable nfs-ganesha again on the same cluster, ganesha gets
> enabled automatically on all volumes, which should not happen.
>
I thought this was the case only with upgrade where glusterd reads persistent options. In case of a working node, 'glusterd' will read options from volinfo but not the volfile. Could you please confirm the same.
CCin Atin. Shashank, Just to know impact of this issue, could you please test below scenarios and provide us the results. Thanks! - 1) * Setup nfs-ganesha cluster * Export few volumes * Teardown cluster * Now re-setup nfs-ganesha cluster Do you see volumes automatically exported this time? 2) * Setup nfs-ganesha cluster * Export few volumes (say 5) * Now unexport few of them (say 3 of them) * Reboot few nodes of the cluster/Restart glusterd on few of the nodes. Check the behaviour of those unexported volumes on those nodes. 3) * Setup nfs-ganesha cluster * Export few volumes (say 5) * Now unexport few of them (say 3 of them) * Reboot all the nodes of the cluster/Restart glusterd on all the nodes. Check the behaviour of those unexported volumes on those nodes. As I read through the issue, I don't think this is related to upgrade/update. IMO, we should have seen this issue in nfs ganesha disable workflow too if all the nodes in the cluster goes down post disabling and come back one after another. Can you please confirm the same? We tried various scenarios and the only scenario where we see it fails is: * export some volumes * Disable nfs-ganesha * Stop glusterd * Start glusterd * Enable ganesha * try to export the volumes, it fails with ganesha.enable is already on Thanks Shashank and Jiffin. The issue is that on the node, where glusterd is restarted has ganesha.enable=ON for those volumes where as for all other nodes, ganesha.enable was reset to OFF once the nfs-ganesha cluster is re-setup. The possible work-arounds seem to be 1) Manually edit the volinfo file on the node where ganesha.enable is 'ON' in volinfo and then restart glusterd or 2) Teardown and re-setup NFS-Ganesha cluster. Atin, From 'glusterd' perspective, please let us know if option (1) is acceptable. Thanks! I checked the code. We do call glusterd_store_options () in glusterd_op_set_ganesha () which means the global options get persisted into the store. I am really not sure how did we end up in the situation where the changes were in memory but not persisted into the store. We need to RCA this completely to get to the final workaround. I do see that the global options are persisted in /var/lib/glusterd/options file. Its not the global option but the volume-level ganesha.enable option which do not get persisted. Doc text looks good to me Upstream patch http://review.gluster.org/#/c/14831/2 got merged 3.8 branch This change already part of rebase Verified this bug with below ganesha build and its working as expected: [root@dhcp43-110 ~]# rpm -qa|grep ganesha nfs-ganesha-debuginfo-2.4.0-2.el7rhgs.x86_64 nfs-ganesha-2.4.0-2.el7rhgs.x86_64 nfs-ganesha-gluster-2.4.0-2.el7rhgs.x86_64 glusterfs-ganesha-3.8.4-1.el7rhgs.x86_64 >>>>> When ganesha is enabled on volume: [root@dhcp43-110 ~]# gluster vol info testvolume | grep ganesha ganesha.enable: on >>>>> After disabling ganesha on volume: [root@dhcp43-110 ~]# gluster vol set testvolume ganesha.enable off volume set: success [root@dhcp43-110 ~]# gluster vol info testvolume | grep ganesha ganesha.enable: off [root@dhcp43-110 ~]# cat /var/lib/glusterd/vols/testvolume/info | grep ganesha ganesha.enable=off >>>>> After disabling ganesha on cluster when ganesha is enabled on volume. [root@dhcp43-110 ~]# gluster vol set testvolume ganesha.enable on volume set: success [root@dhcp43-110 ~]# cat /var/lib/glusterd/vols/testvolume/info | grep ganesha ganesha.enable=on [root@dhcp43-110 ~]# gluster vol info testvolume | grep ganesha ganesha.enable: on nfs-ganesha: enable [root@dhcp43-110 ~]# gluster nfs-ganesha disable Disabling NFS-Ganesha will tear down entire ganesha cluster across the trusted pool. Do you still want to continue? (y/n) y This will take a few minutes to complete. Please wait .. nfs-ganesha : success [root@dhcp43-110 ~]# cat /var/lib/glusterd/vols/testvolume/info | grep ganesha ganesha.enable=off [root@dhcp43-110 ~]# gluster vol info testvolume | grep ganesha ganesha.enable: off nfs-ganesha: disable ***************************************** Also, tried the scenario mentioned in comment 5: * export some volumes * Disable nfs-ganesha * Stop glusterd * Start glusterd * Enable ganesha * try to export the volumes, it fails with ganesha.enable is already on and it works as expected. i don't see any failures now. ***************************************** Based on the above observation, marking this bug as Verified. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2017-0486.html |