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>
"namespace" : "nfs-ns",
"files": {
"ganesha.conf": [
+ "NFS_CORE_PARAM {",
+ " allow_set_io_flusher_fail = true;",
+ "}",
+ "",
"RADOS_URLS {",
" userid = admin;",
"}",