Bug 1405918

Summary: Refresh config fails while exporting subdirectories within a volume
Product: [Community] GlusterFS Reporter: Jiffin <jthottan>
Component: common-haAssignee: Jiffin <jthottan>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.7.18CC: aloganat, bugs, jthottan, kkeithle, mzywusko, ndevos, rhs-bugs, skoduri, storage-qa-internal
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.7.19 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1389746 Environment:
Last Closed: 2017-01-18 13:39:24 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: 1389661, 1389746    
Bug Blocks: 1396332, 1399635    

Description Jiffin 2016-12-19 07:42:16 UTC
+++ This bug was initially created as a clone of Bug #1389746 +++

+++ This bug was initially created as a clone of Bug #1389661 +++

Description of problem:
Refresh config failed while exporting subdirectories within a volume.

Version-Release number of selected component (if applicable):
nfs-ganesha-2.4.0-2.el7rhgs.x86_64
glusterfs-server-3.8.4-3.el7rhgs.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Create a ganesha cluster, create a volume and enable nfs-ganesha on that volume.
2. Mount the volume and create subdirectories.
3. Edit the export.conf file to export subdirectories within the volume.
    conf file path: /var/run/gluster/shared_storage/nfs-ganesha/exports/export.testvol1.conf
4. Run refresh config.
    /usr/libexec/ganesha/ganesha-ha.sh --refresh-config /var/run/gluster/shared_storage/nfs-ganesha/ testvol1

Actual results:

Refresh config failed.

Expected results:
Refresh config should succeed and subdirectory should be exported.

Additional info:

Edited export.conf file:
-------------------------

EXPORT{
      Export_Id = 2;
      Path = "/testvol1/user2/dir0";
      FSAL {
           name = GLUSTER;
           hostname="localhost";
          volume="testvol1";
          volpath="/user2/dir0";
           }
      Access_type = RW;
      Disable_ACL = true;
      Squash="No_root_squash";
      Pseudo="/testvol1_ps";
      Protocols = "3", "4" ;
      Transports = "UDP","TCP";
      SecType = "sys";
     }


Error message in command prompt:
--------------------------------

[root@dhcp47-155 ~]# /usr/libexec/ganesha/ganesha-ha.sh --refresh-config /var/run/gluster/shared_storage/nfs-ganesha/ testvol1
Error: refresh-config failed on dhcp46-101.
[root@dhcp47-155 ~]# 


ganesha.log log snippet:
-------------------------

28/10/2016 11:36:09 : epoch 40270000 : dhcp46-101.lab.eng.blr.redhat.com : ganesha.nfsd-22434[dbus_heartbeat] dbus_message_entrypoint :DBUS :MAJ :Method (RemoveExport) on (org.ganesha.nfsd.exportmgr) failed: name = (org.freedesktop.DBus.Error.InvalidArgs), message = (lookup_export failed with Export id not found)

Comment 1 Worker Ant 2016-12-19 07:42:50 UTC
REVIEW: http://review.gluster.org/16194 (ganesha/scripts : use export id for dbus signals) posted (#1) for review on release-3.7 by jiffin tony Thottan (jthottan)

Comment 2 Worker Ant 2016-12-19 12:46:14 UTC
COMMIT: http://review.gluster.org/16194 committed in release-3.7 by Kaleb KEITHLEY (kkeithle) 
------
commit 5de5060df16597a4e1f9981616816018db3fea19
Author: Jiffin Tony Thottan <jthottan>
Date:   Fri Oct 28 17:37:39 2016 +0530

    ganesha/scripts : use export id for dbus signals
    
    Currently for add export and update export parameter passed for executing those signal
    is "PATH". This is based on assumption that volume name and PATH will always be same.
    But it is wrong for subdir exports. The only reliable parameter in export configuration
    file is "Export_Id".
    
    Upstream reference :
    >Change-Id: Ic63ff44ac7736e14502034b74beaae27292eddf9
    >BUG: 1389746
    >Signed-off-by: Jiffin Tony Thottan <jthottan>
    >Reviewed-on: http://review.gluster.org/15751
    >Smoke: Gluster Build System <jenkins.org>
    >NetBSD-regression: NetBSD Build System <jenkins.org>
    >CentOS-regression: Gluster Build System <jenkins.org>
    >Reviewed-by: soumya k <skoduri>
    >Reviewed-by: Kaleb KEITHLEY <kkeithle>
    
    Change-Id: Ic63ff44ac7736e14502034b74beaae27292eddf9
    BUG: 1405918
    Signed-off-by: Jiffin Tony Thottan <jthottan>
    Reviewed-on: http://review.gluster.org/15970
    Smoke: Gluster Build System <jenkins.org>
    Reviewed-by: soumya k <skoduri>
    CentOS-regression: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    (cherry picked from commit beace6aed3ef27e1e55a420d606ecdfbd56b32b2)
    Reviewed-on: http://review.gluster.org/16194

Comment 3 Kaushal 2017-01-18 13:39:24 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.19, please open a new bug report.

glusterfs-3.7.19 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://lists.gluster.org/pipermail/gluster-users/2017-January/029623.html
[2] https://www.gluster.org/pipermail/gluster-users/