Bug 2350069

Summary: [RFE] [NFS-Ganesha] [QoS] Disabling the cluster level QoS still reflects the QoS related setting on Export config file.
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Manisha Saini <msaini>
Component: CephadmAssignee: Shweta Bhosale <shbhosal>
Status: CLOSED ERRATA QA Contact: Manisha Saini <msaini>
Severity: high Docs Contact:
Priority: unspecified    
Version: 8.0CC: adking, cephqe-warriors, kdeb, shbhosal, tserlin
Target Milestone: ---Keywords: FutureFeature
Target Release: 8.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ceph-19.2.1-86.el9cp Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of:
: 2351204 (view as bug list) Environment:
Last Closed: 2025-06-26 12:27:00 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:    
Bug Blocks: 2351204    

Description Manisha Saini 2025-03-05 11:25:36 UTC
Description of problem:
===============

Currently, when QoS is disabled at the cluster level, the QoS-related entries still appear in the export information, which may give users the incorrect impression that the QoS limit is applied to the export. 
Ideally, when QoS is disabled at the cluster level, the export information should not display that QoS is enabled.



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

[ceph: root@argo016 /]# ceph --version
ceph version 19.2.0-80.2.TEST.ganeshafeatures002.el9cp (ffc22ab18dc4b177c9aa46f98447068155679ff0) squid (stable)

[ceph: root@argo016 /]# rpm -qa | grep nfs
libnfsidmap-2.5.4-27.el9.x86_64
nfs-utils-2.5.4-27.el9.x86_64
nfs-ganesha-selinux-6.5-1.7.el9cp.noarch
nfs-ganesha-6.5-1.7.el9cp.x86_64
nfs-ganesha-ceph-6.5-1.7.el9cp.x86_64
nfs-ganesha-rados-grace-6.5-1.7.el9cp.x86_64
nfs-ganesha-rados-urls-6.5-1.7.el9cp.x86_64
nfs-ganesha-rgw-6.5-1.7.el9cp.x86_64
nfs-ganesha-utils-6.5-1.7.el9cp.x86_64

How reproducible:
=============
Every time


Steps to Reproduce:
=============
1. Enable the QoS on the NFS Ganesha at the cluster level

# ceph nfs cluster qos get nfsganesha
{
  "combined_rw_bw_control": false,
  "enable_bw_control": true,
  "enable_iops_control": false,
  "enable_qos": true,
  "max_export_read_bw": "1.0GB",
  "max_export_write_bw": "1.0GB",
  "qos_type": "PerShare"
}

2. Enable the QoS at the export level

[ceph: root@argo016 /]# ceph nfs export qos enable bandwidth_control nfsganesha /ganeshavol1 --max_export_write_bw=10MB --max_export_read_bw=10MB

[ceph: root@argo016 /]# ceph nfs export info nfsganesha /ganeshavol1
{
  "access_type": "RW",
  "clients": [],
  "cluster_id": "nfsganesha",
  "export_id": 1,
  "fsal": {
    "cmount_path": "/",
    "fs_name": "cephfs",
    "name": "CEPH",
    "user_id": "nfs.nfsganesha.cephfs.2c1043d4"
  },
  "path": "/volumes/ganeshagroup1/ganeshavol1/11b537ef-e436-48b1-b38f-77a80c42455f",
  "protocols": [
    3,
    4
  ],
  "pseudo": "/ganeshavol1",
  "qos_block": {
    "combined_rw_bw_control": false,
    "enable_bw_control": true,
    "enable_qos": true,
    "max_export_read_bw": "10.0MB",
    "max_export_write_bw": "10.0MB"
  },
  "security_label": true,
  "squash": "none",
  "transports": [
    "TCP"
  ]
}

3. Disable the QoS at the cluster level now

[ceph: root@argo016 /]# ceph nfs cluster qos disable bandwidth_control nfsganesha
[ceph: root@argo016 /]# ceph nfs cluster qos get nfsganesha
{
  "combined_rw_bw_control": false,
  "enable_bw_control": false,
  "enable_iops_control": false,
  "enable_qos": false
}
[ceph: root@argo016 /]#

4. Check the export info 

[ceph: root@argo016 /]# ceph nfs export info nfsganesha /ganeshavol1
{
  "access_type": "RW",
  "clients": [],
  "cluster_id": "nfsganesha",
  "export_id": 1,
  "fsal": {
    "cmount_path": "/",
    "fs_name": "cephfs",
    "name": "CEPH",
    "user_id": "nfs.nfsganesha.cephfs.2c1043d4"
  },
  "path": "/volumes/ganeshagroup1/ganeshavol1/11b537ef-e436-48b1-b38f-77a80c42455f",
  "protocols": [
    3,
    4
  ],
  "pseudo": "/ganeshavol1",
  "qos_block": {
    "combined_rw_bw_control": false,
    "enable_bw_control": true,
    "enable_qos": true,
    "max_export_read_bw": "10.0MB",
    "max_export_write_bw": "10.0MB"
  },
  "security_label": true,
  "squash": "none",
  "transports": [
    "TCP"
  ]
}


Actual results:
===========
At the export level, QoS still appears as enabled, which gives users an incorrect impression.


Expected results:
==========
When QoS is disabled at the cluster level, it should also be disabled at the export level. The QoS-related entries should not appear when checking the export information.


Additional info:

Comment 8 errata-xmlrpc 2025-06-26 12:27:00 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 (Important: Red Hat Ceph Storage 8.1 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/RHSA-2025:9775