]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/cephadm: fix NFS ganesha startup failure in containers 68305/head
authorRedouane Kachach <rkachach@ibm.com>
Fri, 10 Apr 2026 09:34:12 +0000 (11:34 +0200)
committerRedouane Kachach <rkachach@ibm.com>
Fri, 10 Apr 2026 09:34:12 +0000 (11:34 +0200)
The test_cephadm.sh workunit deploys NFS using cephadm _orch deploy with
config_blobs sourced from src/cephadm/samples/nfs.json. The ganesha.conf
section in that sample has no NFS_CORE_PARAM block, so allow_set_io_flusher_fail
defaults to false.

On Rocky Linux 10 (the current base for ceph:main images), ganesha 7.0 calls
prctl(PR_SET_IO_FLUSHER) at startup. Containers lack the required capabilities
(CAP_SYS_ADMIN/CAP_SYS_RAWIO) for this syscall, so it returns EPERM. With
allow_set_io_flusher_fail unset, ganesha treats this as a fatal error and aborts
immediately, before even fetching the %url RADOS config.

The orchestrator path (ganesha.conf.j2) already has allow_set_io_flusher_fail = true
in its NFS_CORE_PARAM block. This fix brings the sample config used by the
standalone test path in line with it.

Fixes: workunits/{agent/on mon_election/connectivity
task/test_cephadm} failures

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
src/cephadm/samples/nfs.json

index 876c8e69ef1d83c8cb5aa1df3e325e609c709789..4c52dfa52195381aaf49c84242371f2ae32cf51c 100644 (file)
@@ -3,6 +3,10 @@
     "namespace" : "nfs-ns",
     "files": {
         "ganesha.conf": [
+            "NFS_CORE_PARAM {",
+            "        allow_set_io_flusher_fail = true;",
+            "}",
+            "",
             "RADOS_URLS {",
             "        userid = admin;",
             "}",