Bug 1486112
| Summary: | config parameters for rados url provider not recognized | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Red Hat Storage] Red Hat Ceph Storage | Reporter: | Ram Raja <rraja> | ||||||
| Component: | RGW | Assignee: | Matt Benjamin (redhat) <mbenjamin> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | ceph-qe-bugs <ceph-qe-bugs> | ||||||
| Severity: | low | Docs Contact: | |||||||
| Priority: | low | ||||||||
| Version: | 3.0 | CC: | 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: |
|
||||||||
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 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 Need to add Matt Benjamin to this, not sure how to do so... Created attachment 1329617 [details]
export1
an export block to store in a rados object
Created attachment 1329618 [details]
ganesha.conf that uses a rados url to fetch one export block
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 |
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: