Bug 1396332

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.9CC: 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.9.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1389746 Environment:
Last Closed: 2017-03-08 10:18:51 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, 1399635, 1405918    
Bug Blocks:    

Description Jiffin 2016-11-18 04:20:56 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)

--- Additional comment from Red Hat Bugzilla Rules Engine on 2016-10-28 03:00:08 EDT ---

This bug is automatically being proposed for the current release of Red Hat Gluster Storage 3 under active development, by setting the release flag 'rhgs‑3.2.0' to '?'. 

If this bug should be proposed for a different release, please manually change the proposed release flag.

--- Additional comment from Arthy Loganathan on 2016-10-28 03:00 EDT ---

--- Additional comment from Worker Ant on 2016-10-28 08:15:48 EDT ---

REVIEW: http://review.gluster.org/15751 (ganesha/scripts : use export id for dbus signals) posted (#1) for review on master by jiffin tony Thottan (jthottan)

--- Additional comment from Worker Ant on 2016-11-17 00:14:06 EST ---

REVIEW: http://review.gluster.org/15751 (ganesha/scripts : use export id for dbus signals) posted (#2) for review on master by jiffin tony Thottan (jthottan)

--- Additional comment from Worker Ant on 2016-11-17 16:17:34 EST ---

COMMIT: http://review.gluster.org/15751 committed in master by Kaleb KEITHLEY (kkeithle) 
------
commit 2f70f47979d204d5ee29811f5f5fa61d0a52c3b1
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".
    
    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>

Comment 1 Worker Ant 2016-11-18 07:03:38 UTC
REVIEW: http://review.gluster.org/15875 (ganesha/scripts : use export id for dbus signals) posted (#1) for review on release-3.9 by jiffin tony Thottan (jthottan)

Comment 2 Worker Ant 2016-11-18 11:38:01 UTC
COMMIT: http://review.gluster.org/15875 committed in release-3.9 by Kaleb KEITHLEY (kkeithle) 
------
commit fe7d7427b5f2ab6804bf220104ae21cc867c3054
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".
    
    Backport details
    > 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>
    > Signed-off-by: Jiffin Tony Thottan <jthottan>
    
    Change-Id: Ic63ff44ac7736e14502034b74beaae27292eddf9
    BUG: 1396332
    Signed-off-by: Jiffin Tony Thottan <jthottan>
    Reviewed-on: http://review.gluster.org/15875
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    CentOS-regression: Gluster Build System <jenkins.org>

Comment 3 Kaushal 2017-03-08 10:18:51 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.9.1, please open a new bug report.

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