Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
This project is now read‑only. Starting Monday, February 2, please use Jira Cloud for all bug tracking management.

Bug 1486112

Summary: config parameters for rados url provider not recognized
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Ram Raja <rraja>
Component: RGWAssignee: Matt Benjamin (redhat) <mbenjamin>
Status: CLOSED ERRATA QA Contact: ceph-qe-bugs <ceph-qe-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 3.0CC: cbodley, ceph-eng-bugs, ceph-qe-bugs, kbader, kdreyer, mbenjamin, mhackett, owasserm, pdonnell, sweil, tbarron, tserlin, vakulkar
Target Milestone: rc   
Target Release: 3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: RHEL: nfs-ganesha-2.5.2-12.el7cp Ubuntu: nfs-ganesha_2.5.2-12redhat1xenial Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-05 23:41:09 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:
Attachments:
Description Flags
export1
none
ganesha.conf that uses a rados url to fetch one export block none

Description Ram Raja 2017-08-29 04:57:09 UTC
Description of problem:
Config parameters to let Ganesha fetch exports from RADOS objects using user specified ceph ID and ceph conf file location aren't recognized.

Version-Release number of selected component (if applicable):
V2.6-dev.5, and V2.6-dev.6

How reproducible:
Always

Steps to Reproduce:
Ganesha with CephFS backend
1. Create a RADOS object with an export block.
$ cat export.conf
EXPORT
{
        EXPORT_ID = 100;
        Path = /;
        Pseudo = /;
        Protocols = 4;
        Transports = TCP;
        FSAL {
              Name = Ceph;
        }
        CLIENT {
              Clients = 10.0.2.15;
              Access_Type = rw;
        }
}
$ sudo rados -p cephfs_data put ganesha export.conf

2. Setup ganesha.conf to read from RADOS object
$ cat /etc/ganesha/ganesha.conf
RADOS_URLS {
      ceph_conf = /etc/ceph/ceph.conf;
      userid = client.manila;
}
%url rados://cephfs_data/ganesha


3. Start ganesha server at DEBUG level, and look in the log file for RADOS_URLS config block being parsed

$ sudo /usr/bin/ganesha.nfsd -L /var/log/ganesha/ganesha.log -f /etc/ganesha/ganesha.conf -N NIV_DEBUG

$ cat /var/log/ganesha/ganehsa.log
<snip>

load_fsal :NFS STARTUP :DEBUG :Loading FSAL Ceph with /usr/lib64/ganesha/libfsalceph.so
init :FSAL :DEBUG :Ceph module registering.
init_config :FSAL :DEBUG :Ceph module setup.
create_export :FSAL :DEBUG :Ceph module export /.
fsal_cfg_commit :CONFIG :INFO :Readjusting MaxRead to FSAL, 67108864 -> 4194304
fsal_cfg_commit :CONFIG :INFO :Readjusting MaxWrite to FSAL, 67108864 -> 4194304
export_commit_common :CONFIG :INFO :Export 100 created at pseudo (/) with path (/) and tag ((null)) perms (options=02203002              ,     , -4-, ---, TCP, ----,               ,         ,                ,                )
export_commit_common :CONFIG :INFO :Export 100 has 1 defined clients
build_default_root :CONFIG :DEBUG :Pseudo root already exists
config_errs_to_log :CONFIG :WARN :Config File (/etc/ganesha/ganesha.conf:2): Unknown parameter (ceph_conf)
config_errs_to_log :CONFIG :WARN :Config File (/etc/ganesha/ganesha.conf:3): Unknown parameter (userid)
lower_my_caps :NFS STARTUP :EVENT :CAP_SYS_RESOURCE was successfully removed for proper quota management in FSAL

</snip>

Actual results:
Ganesha fetches export from RADOS URL using default ceph ID and ceph conf location. The 'ceph_conf' and 'userid' config parameters of RADOS_URLS block aren't recognized. See warning messages in the log.

Expected results:
Ganesha fetches export from RADOS url using ceph ID and ceph conf location specified in the RADOS_URLS config block.

Additional info:

Comment 1 Ram Raja 2017-08-29 05:12:14 UTC
Reading the code,
https://github.com/nfs-ganesha/nfs-ganesha/commit/f7a09d87851f64a68c2438fdc09372703bcbebec


In src/MainNFSD/nfs_main.c,
Ganesha connects to RADOS using default ceph user ID and ceph conf file location
before parsing RADOS_URL config block to get user defined values of ceph user ID and ceph conf file location.


[1] https://github.com/nfs-ganesha/nfs-ganesha/commit/f7a09d87851f64a68c2438fdc09372703bcbebec#diff-f9cb37576d584ed17eb0a3e78d366518R405

[2] https://github.com/nfs-ganesha/nfs-ganesha/commit/f7a09d87851f64a68c2438fdc09372703bcbebec#diff-f9cb37576d584ed17eb0a3e78d366518L446

Comment 2 Ram Raja 2017-08-29 06:27:20 UTC
Adding proper references...

In src/MainNFSD/nfs_main.c, Ganesha connects to RADOS using default ceph user ID and ceph conf file location [1] before parsing RADOS_URL config block to get user defined values of ceph user ID and ceph conf file location [2].

[1] https://github.com/nfs-ganesha/nfs-ganesha/commit/f7a09d87851f64a68c2438fdc09372703bcbebec#diff-f9cb37576d584ed17eb0a3e78d366518R405

[2] https://github.com/nfs-ganesha/nfs-ganesha/commit/f7a09d87851f64a68c2438fdc09372703bcbebec#diff-f9cb37576d584ed17eb0a3e78d366518L446

Comment 3 Frank Filz 2017-08-29 14:15:21 UTC
Need to add Matt Benjamin to this, not sure how to do so...

Comment 6 Matt Benjamin (redhat) 2017-09-22 14:42:25 UTC
Created attachment 1329617 [details]
export1

an export block to store in a rados object

Comment 7 Matt Benjamin (redhat) 2017-09-22 14:43:52 UTC
Created attachment 1329618 [details]
ganesha.conf that uses a rados url to fetch one export block

Comment 35 errata-xmlrpc 2017-12-05 23:41:09 UTC
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://access.redhat.com/errata/RHBA-2017:3387