Bug 2300272

Summary: [RHCS 8.0][NFS-Ganesha] NFS Export mount on client with NFS vers 3 is failing.
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Manisha Saini <msaini>
Component: CephadmAssignee: Adam King <adking>
Status: CLOSED ERRATA QA Contact: Manisha Saini <msaini>
Severity: high Docs Contact:
Priority: unspecified    
Version: 8.0CC: adking, akraj, cephqe-warriors, kkeithle
Target Milestone: ---Keywords: Automation, Regression
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ceph-19.1.0-56 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-11-25 09:04:01 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: 2308414, 2312501    
Bug Blocks: 2317218    

Description Manisha Saini 2024-07-28 22:52:42 UTC
Description of problem:
=============

Mounting export with vers=3 is failing with RHCS 8.0 build.
Changes which were made in RHCS 7.1 wrt vers 3 in ganesha.conf and export file is missing in RHCS 8.0 build.

RHCS 8.0
================

Export file --->

# ceph nfs export info nfsganesha /ganesha2
{
  "access_type": "RW",
  "clients": [],
  "cluster_id": "nfsganesha",
  "export_id": 2,
  "fsal": {
    "fs_name": "cephfs",
    "name": "CEPH",
    "user_id": "nfs.nfsganesha.2"
  },
  "path": "/",
  "protocols": [
    4
  ],
  "pseudo": "/ganesha2",
  "security_label": true,
  "squash": "none",
  "transports": [
    "TCP"
  ]
}


Ganesha.conf file


#  cat /usr/share/ceph/mgr/cephadm/templates/services/nfs/ganesha.conf.j2
# {{ cephadm_managed }}
NFS_CORE_PARAM {
        Enable_NLM = {{ enable_nlm }};
        Enable_RQUOTA = false;
        Protocols = 4;
        NFS_Port = {{ port }};
{% if bind_addr %}
        Bind_addr = {{ bind_addr }};
{% endif %}
{% if haproxy_hosts %}
        HAProxy_Hosts = {{ haproxy_hosts|join(", ") }};
{% endif %}
}

NFSv4 {
        Delegations = false;
        RecoveryBackend = 'rados_cluster';
        Minor_Versions = 1, 2;
{% if nfs_idmap_conf %}
        IdmapConf = "{{ nfs_idmap_conf }}";
{% endif %}
}

RADOS_KV {
        UserId = "{{ user }}";
        nodeid = "{{ nodeid }}";
        pool = "{{ pool }}";
        namespace = "{{ namespace }}";
}

RADOS_URLS {
        UserId = "{{ user }}";
        watch_url = "{{ url }}";
}

RGW {
        cluster = "ceph";
        name = "client.{{ rgw_user }}";
}

%url    {{ url }}


ganesha.conf file

# cat /usr/share/ceph/mgr/cephadm/templates/services/nfs/ganesha.conf.j2
# {{ cephadm_managed }}
NFS_CORE_PARAM {
        Enable_NLM = {{ enable_nlm }};
        Enable_RQUOTA = false;
        Protocols = 3, 4;
        mount_path_pseudo = true;
        NFS_Port = {{ port }};
{% if bind_addr %}
        Bind_addr = {{ bind_addr }};
{% endif %}
{% if haproxy_hosts %}
        HAProxy_Hosts = {{ haproxy_hosts|join(", ") }};
{% endif %}
}

NFSv4 {
        Delegations = false;
        RecoveryBackend = 'rados_cluster';
        Minor_Versions = 1, 2;
{% if nfs_idmap_conf %}
        IdmapConf = "{{ nfs_idmap_conf }}";
{% endif %}
}

RADOS_KV {
        UserId = "{{ user }}";
        nodeid = "{{ nodeid }}";
        pool = "{{ pool }}";
        namespace = "{{ namespace }}";
}

RADOS_URLS {
        UserId = "{{ user }}";
        watch_url = "{{ url }}";
}

RGW {
        cluster = "ceph";
        name = "client.{{ rgw_user }}";
}

%url    {{ url }}



RHCS 7.1
============
Export file

# ceph nfs export info nfsganesha /export_1
{
  "access_type": "RW",
  "clients": [],
  "cluster_id": "nfsganesha",
  "export_id": 1,
  "fsal": {
    "cmount_path": "/",
    "fs_name": "cephfs",
    "name": "CEPH",
    "user_id": "nfs.nfsganesha.cephfs"
  },
  "path": "/volumes/ganeshagroup/ganesha1/39f13294-c062-43c2-97d6-77c875e1b020",
  "protocols": [
    3,
    4
  ],
  "pseudo": "/export_1",
  "security_label": true,
  "squash": "none",
  "transports": [
    "TCP"
  ]
}


Version-Release number of selected component (if applicable):
======================================

# rpm -qa | grep nfs
libnfsidmap-2.5.4-25.el9.x86_64
nfs-utils-2.5.4-25.el9.x86_64
nfs-ganesha-selinux-5.9-1.el9cp.noarch
nfs-ganesha-5.9-1.el9cp.x86_64
nfs-ganesha-rgw-5.9-1.el9cp.x86_64
nfs-ganesha-ceph-5.9-1.el9cp.x86_64
nfs-ganesha-rados-grace-5.9-1.el9cp.x86_64
nfs-ganesha-rados-urls-5.9-1.el9cp.x86_64

# ceph --version
ceph version 19.1.0-3.el9cp (2032ce88d0c0820de58f7fde69952e9e1c790f42) squid (rc)


How reproducible:
=================
Always


Steps to Reproduce:
===================
1. Create ganesha cluster
2. Create a cephfs filesystem. Create an export out of filesystem
3. Mount the export on client with vers=3

Actual results:
=============
Mount on client failed with vers=3


Expected results:
============
Mount with vers=3 is supported and it should be allowed by adding the entries in ganesha.conf and export file by default in code base


Additional info:

Comment 10 errata-xmlrpc 2024-11-25 09:04:01 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 (Red Hat Ceph Storage 8.0 security, bug fix, and enhancement updates), 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-2024:10216