[PATCH v2 1/8] defconfigs: add NFS testing configurations

Chuck Lever <[email protected]> Fri, 3 Oct 2025 16:19:49 -0400
Newsgroups dev.linux.lists.kdevops
Message-ID <[email protected]>
From: Luis Chamberlain <[email protected]>

Add five defconfigs for NFS testing:

NFS filesystem testing configurations:
- nfs-fstests: Filesystem testing suite (fstests) on NFS mounts
  * Enables pNFS section for testing with pNFS-capable exports
  * Tests NFSv4.2, v4.1 with pNFS export capability
- nfs-gitr: Git regression testing on NFS mounts
  * Tests git operations on NFS with pNFS export capability
  * Enables NFSv4.2 and pNFS sections for comprehensive coverage
- nfs-ltp: Linux Test Project suite on NFS mounts
  * General test suite that runs on NFS (not pNFS-specific)

NFS protocol testing configurations:
- nfstests: NFStest protocol conformance suite
  * Tests NFS protocol interoperability
  * General NFS testing (not pNFS-specific)
- pynfs-pnfs-block: PyNFS pNFS block layout protocol testing
  * Specifically tests pNFS block layout protocol conformance
  * This is the only configuration that actually tests pNFS-specific features

All configurations:
- Build kernels from Linus' tree for latest development
- Use kdevops-provided NFS server for consistent test environment
- Enable systemd journal remote for enhanced debugging
- Support 9P filesystem for efficient host-guest kernel development

Note: Most tests run on NFS mounts that may have pNFS capability enabled
on the server side, but only pynfs-pnfs-block specifically tests pNFS
protocol features.

Generated-by: Claude AI
Signed-off-by: Luis Chamberlain <[email protected]>
Signed-off-by: Chuck Lever <[email protected]>
---
 defconfigs/nfs-fstests      | 38 +++++++++++++++++++++++++++++++++++++
 defconfigs/nfs-gitr         | 38 +++++++++++++++++++++++++++++++++++++
 defconfigs/nfs-ltp          | 31 ++++++++++++++++++++++++++++++
 defconfigs/nfstests         | 30 +++++++++++++++++++++++++++++
 defconfigs/pynfs-pnfs-block | 34 +++++++++++++++++++++++++++++++++
 5 files changed, 171 insertions(+)
 create mode 100644 defconfigs/nfs-fstests
 create mode 100644 defconfigs/nfs-gitr
 create mode 100644 defconfigs/nfs-ltp
 create mode 100644 defconfigs/nfstests
 create mode 100644 defconfigs/pynfs-pnfs-block

diff --git a/defconfigs/nfs-fstests b/defconfigs/nfs-fstests
new file mode 100644
index 000000000000..03dc2e64237f
--- /dev/null
+++ b/defconfigs/nfs-fstests
@@ -0,0 +1,38 @@
+# pNFS configuration for filesystem testing with fstests
+
+# Use libvirt/QEMU for virtualization
+CONFIG_GUESTFS=y
+CONFIG_LIBVIRT=y
+
+# Enable workflows
+CONFIG_WORKFLOWS=y
+CONFIG_WORKFLOW_LINUX_CUSTOM=y
+
+# Linux kernel building with 9P for development
+CONFIG_BOOTLINUX=y
+CONFIG_BOOTLINUX_9P=y
+CONFIG_BOOTLINUX_LINUS=y
+CONFIG_BOOTLINUX_TREE_LINUS=y
+
+# Enable testing workflows
+CONFIG_WORKFLOWS_TESTS=y
+CONFIG_WORKFLOWS_LINUX_TESTS=y
+CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
+
+# Enable fstests workflow with pNFS testing
+CONFIG_KDEVOPS_WORKFLOW_DEDICATE_FSTESTS=y
+CONFIG_KDEVOPS_WORKFLOW_ENABLE_FSTESTS=y
+CONFIG_FSTESTS_NFS=y
+CONFIG_FSTESTS_FSTYP="nfs"
+
+# Enable manual coverage for NFS to select pNFS
+CONFIG_FSTESTS_NFS_MANUAL_COVERAGE=y
+CONFIG_FSTESTS_NFS_SECTION_PNFS=y
+CONFIG_FSTESTS_NFS_SECTION_V42=y
+CONFIG_FSTESTS_NFS_SECTION_V41=y
+
+# Use kdevops NFS server for fstests
+CONFIG_FSTESTS_USE_KDEVOPS_NFSD=y
+
+# Enable systemd journal remote for debugging
+CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y
diff --git a/defconfigs/nfs-gitr b/defconfigs/nfs-gitr
new file mode 100644
index 000000000000..2c097d01951d
--- /dev/null
+++ b/defconfigs/nfs-gitr
@@ -0,0 +1,38 @@
+# NFS configuration for git regression testing
+# Tests git operations on NFS mounts with pNFS export capability
+
+# Use libvirt/QEMU for virtualization
+CONFIG_GUESTFS=y
+CONFIG_LIBVIRT=y
+
+# Enable workflows
+CONFIG_WORKFLOWS=y
+CONFIG_WORKFLOW_LINUX_CUSTOM=y
+
+# Linux kernel building with 9P for development
+CONFIG_BOOTLINUX=y
+CONFIG_BOOTLINUX_9P=y
+CONFIG_BOOTLINUX_LINUS=y
+CONFIG_BOOTLINUX_TREE_LINUS=y
+
+# Enable testing workflows
+CONFIG_WORKFLOWS_TESTS=y
+CONFIG_WORKFLOWS_LINUX_TESTS=y
+CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
+
+# Enable gitr workflow with pNFS testing
+CONFIG_KDEVOPS_WORKFLOW_DEDICATE_GITR=y
+CONFIG_KDEVOPS_WORKFLOW_ENABLE_GITR=y
+
+# Enable pNFS section for gitr workflow
+CONFIG_GITR_NFS_SECTION_PNFS=y
+CONFIG_GITR_NFS_SECTION_V42=y
+
+# Use kdevops NFS server
+CONFIG_GITR_USE_KDEVOPS_NFSD=y
+
+# Enable kdevops NFS server setup
+CONFIG_KDEVOPS_SETUP_NFSD=y
+
+# Enable systemd journal remote for debugging
+CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y
diff --git a/defconfigs/nfs-ltp b/defconfigs/nfs-ltp
new file mode 100644
index 000000000000..4562874efa0c
--- /dev/null
+++ b/defconfigs/nfs-ltp
@@ -0,0 +1,31 @@
+# pNFS configuration for Linux Test Project (LTP)
+# Note: LTP doesn't specifically test pNFS, but can run on pNFS mounts
+
+# Use libvirt/QEMU for virtualization
+CONFIG_GUESTFS=y
+CONFIG_LIBVIRT=y
+
+# Enable workflows
+CONFIG_WORKFLOWS=y
+CONFIG_WORKFLOW_LINUX_CUSTOM=y
+
+# Linux kernel building with 9P for development
+CONFIG_BOOTLINUX=y
+CONFIG_BOOTLINUX_9P=y
+CONFIG_BOOTLINUX_LINUS=y
+CONFIG_BOOTLINUX_TREE_LINUS=y
+
+# Enable testing workflows
+CONFIG_WORKFLOWS_TESTS=y
+CONFIG_WORKFLOWS_LINUX_TESTS=y
+CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
+
+# Enable LTP workflow
+CONFIG_KDEVOPS_WORKFLOW_DEDICATE_LTP=y
+CONFIG_KDEVOPS_WORKFLOW_ENABLE_LTP=y
+
+# Use kdevops-provided NFS server for pNFS mount
+CONFIG_KDEVOPS_SETUP_NFSD=y
+
+# Enable systemd journal remote for debugging
+CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y
\ No newline at end of file
diff --git a/defconfigs/nfstests b/defconfigs/nfstests
new file mode 100644
index 000000000000..543c39f3411d
--- /dev/null
+++ b/defconfigs/nfstests
@@ -0,0 +1,30 @@
+# NFS configuration for NFStest testing suite
+
+# Use libvirt/QEMU for virtualization
+CONFIG_GUESTFS=y
+CONFIG_LIBVIRT=y
+
+# Enable workflows
+CONFIG_WORKFLOWS=y
+CONFIG_WORKFLOW_LINUX_CUSTOM=y
+
+# Linux kernel building with 9P for development
+CONFIG_BOOTLINUX=y
+CONFIG_BOOTLINUX_9P=y
+CONFIG_BOOTLINUX_LINUS=y
+CONFIG_BOOTLINUX_TREE_LINUS=y
+
+# Enable testing workflows
+CONFIG_WORKFLOWS_TESTS=y
+CONFIG_WORKFLOWS_LINUX_TESTS=y
+CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
+
+# Enable nfstest workflow
+CONFIG_KDEVOPS_WORKFLOW_DEDICATE_NFSTEST=y
+CONFIG_KDEVOPS_WORKFLOW_ENABLE_NFSTEST=y
+
+# Use kdevops-provided NFS server
+CONFIG_KDEVOPS_SETUP_NFSD=y
+
+# Enable systemd journal remote for debugging
+CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y
diff --git a/defconfigs/pynfs-pnfs-block b/defconfigs/pynfs-pnfs-block
new file mode 100644
index 000000000000..595a850e3796
--- /dev/null
+++ b/defconfigs/pynfs-pnfs-block
@@ -0,0 +1,34 @@
+# PyNFS configuration for pNFS block layout protocol testing
+# Specifically tests pNFS block layout protocol conformance
+
+# Use libvirt/QEMU for virtualization
+CONFIG_GUESTFS=y
+CONFIG_LIBVIRT=y
+
+# Enable workflows
+CONFIG_WORKFLOWS=y
+CONFIG_WORKFLOW_LINUX_CUSTOM=y
+
+# Linux kernel building with 9P for development
+CONFIG_BOOTLINUX=y
+CONFIG_BOOTLINUX_9P=y
+CONFIG_BOOTLINUX_LINUS=y
+CONFIG_BOOTLINUX_TREE_LINUS=y
+
+# Enable testing workflows
+CONFIG_WORKFLOWS_TESTS=y
+CONFIG_WORKFLOWS_LINUX_TESTS=y
+CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
+
+# Enable pynfs workflow for pNFS protocol testing
+CONFIG_KDEVOPS_WORKFLOW_DEDICATE_PYNFS=y
+CONFIG_KDEVOPS_WORKFLOW_ENABLE_PYNFS=y
+
+# Enable pNFS block layout tests
+CONFIG_PYNFS_PNFS_BLOCK=y
+
+# Use kdevops-provided NFS server
+CONFIG_KDEVOPS_SETUP_NFSD=y
+
+# Enable systemd journal remote for debugging
+CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y
-- 
2.51.0