Skip to content

Commit ff4c821

Browse files
authored
Merge pull request #45 from linux-kdevops/mcgrof-nfs
nfs: few fixes and enhancements
2 parents c9f77db + 640a5a6 commit ff4c821

File tree

17 files changed

+2340
-4
lines changed

17 files changed

+2340
-4
lines changed

defconfigs/nfs-fstests

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# pNFS configuration for filesystem testing with fstests
2+
3+
# Use libvirt/QEMU for virtualization
4+
CONFIG_GUESTFS=y
5+
CONFIG_LIBVIRT=y
6+
7+
# Enable workflows
8+
CONFIG_WORKFLOWS=y
9+
CONFIG_WORKFLOW_LINUX_CUSTOM=y
10+
11+
# Linux kernel building with 9P for development
12+
CONFIG_BOOTLINUX=y
13+
CONFIG_BOOTLINUX_9P=y
14+
CONFIG_BOOTLINUX_LINUS=y
15+
CONFIG_BOOTLINUX_TREE_LINUS=y
16+
17+
# Enable testing workflows
18+
CONFIG_WORKFLOWS_TESTS=y
19+
CONFIG_WORKFLOWS_LINUX_TESTS=y
20+
CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
21+
22+
# Enable fstests workflow with pNFS testing
23+
CONFIG_KDEVOPS_WORKFLOW_DEDICATE_FSTESTS=y
24+
CONFIG_KDEVOPS_WORKFLOW_ENABLE_FSTESTS=y
25+
CONFIG_FSTESTS_NFS=y
26+
CONFIG_FSTESTS_FSTYP="nfs"
27+
28+
# Enable manual coverage for NFS to select pNFS
29+
CONFIG_FSTESTS_NFS_MANUAL_COVERAGE=y
30+
CONFIG_FSTESTS_NFS_SECTION_PNFS=y
31+
CONFIG_FSTESTS_NFS_SECTION_V42=y
32+
CONFIG_FSTESTS_NFS_SECTION_V41=y
33+
34+
# Use kdevops NFS server for fstests
35+
CONFIG_FSTESTS_USE_KDEVOPS_NFSD=y
36+
37+
# Enable systemd journal remote for debugging
38+
CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y

defconfigs/nfs-gitr

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# NFS configuration for git regression testing
2+
# Tests git operations on NFS mounts with pNFS export capability
3+
4+
# Use libvirt/QEMU for virtualization
5+
CONFIG_GUESTFS=y
6+
CONFIG_LIBVIRT=y
7+
8+
# Enable workflows
9+
CONFIG_WORKFLOWS=y
10+
CONFIG_WORKFLOW_LINUX_CUSTOM=y
11+
12+
# Linux kernel building with 9P for development
13+
CONFIG_BOOTLINUX=y
14+
CONFIG_BOOTLINUX_9P=y
15+
CONFIG_BOOTLINUX_LINUS=y
16+
CONFIG_BOOTLINUX_TREE_LINUS=y
17+
18+
# Enable testing workflows
19+
CONFIG_WORKFLOWS_TESTS=y
20+
CONFIG_WORKFLOWS_LINUX_TESTS=y
21+
CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
22+
23+
# Enable gitr workflow with pNFS testing
24+
CONFIG_KDEVOPS_WORKFLOW_DEDICATE_GITR=y
25+
CONFIG_KDEVOPS_WORKFLOW_ENABLE_GITR=y
26+
27+
# Enable pNFS section for gitr workflow
28+
CONFIG_GITR_NFS_SECTION_PNFS=y
29+
CONFIG_GITR_NFS_SECTION_V42=y
30+
31+
# Use kdevops NFS server
32+
CONFIG_GITR_USE_KDEVOPS_NFSD=y
33+
34+
# Enable kdevops NFS server setup
35+
CONFIG_KDEVOPS_SETUP_NFSD=y
36+
37+
# Enable systemd journal remote for debugging
38+
CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y

defconfigs/nfs-ltp

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# pNFS configuration for Linux Test Project (LTP)
2+
# Note: LTP doesn't specifically test pNFS, but can run on pNFS mounts
3+
4+
# Use libvirt/QEMU for virtualization
5+
CONFIG_GUESTFS=y
6+
CONFIG_LIBVIRT=y
7+
8+
# Enable workflows
9+
CONFIG_WORKFLOWS=y
10+
CONFIG_WORKFLOW_LINUX_CUSTOM=y
11+
12+
# Linux kernel building with 9P for development
13+
CONFIG_BOOTLINUX=y
14+
CONFIG_BOOTLINUX_9P=y
15+
CONFIG_BOOTLINUX_LINUS=y
16+
CONFIG_BOOTLINUX_TREE_LINUS=y
17+
18+
# Enable testing workflows
19+
CONFIG_WORKFLOWS_TESTS=y
20+
CONFIG_WORKFLOWS_LINUX_TESTS=y
21+
CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
22+
23+
# Enable LTP workflow
24+
CONFIG_KDEVOPS_WORKFLOW_DEDICATE_LTP=y
25+
CONFIG_KDEVOPS_WORKFLOW_ENABLE_LTP=y
26+
27+
# Use kdevops-provided NFS server for pNFS mount
28+
CONFIG_KDEVOPS_SETUP_NFSD=y
29+
30+
# Enable systemd journal remote for debugging
31+
CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y

defconfigs/nfstests

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# NFS configuration for NFStest testing suite
2+
3+
# Use libvirt/QEMU for virtualization
4+
CONFIG_GUESTFS=y
5+
CONFIG_LIBVIRT=y
6+
7+
# Enable workflows
8+
CONFIG_WORKFLOWS=y
9+
CONFIG_WORKFLOW_LINUX_CUSTOM=y
10+
11+
# Linux kernel building with 9P for development
12+
CONFIG_BOOTLINUX=y
13+
CONFIG_BOOTLINUX_9P=y
14+
CONFIG_BOOTLINUX_LINUS=y
15+
CONFIG_BOOTLINUX_TREE_LINUS=y
16+
17+
# Enable testing workflows
18+
CONFIG_WORKFLOWS_TESTS=y
19+
CONFIG_WORKFLOWS_LINUX_TESTS=y
20+
CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
21+
22+
# Enable nfstest workflow
23+
CONFIG_KDEVOPS_WORKFLOW_DEDICATE_NFSTEST=y
24+
CONFIG_KDEVOPS_WORKFLOW_ENABLE_NFSTEST=y
25+
26+
# Use kdevops-provided NFS server
27+
CONFIG_KDEVOPS_SETUP_NFSD=y
28+
29+
# Enable systemd journal remote for debugging
30+
CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y

defconfigs/pynfs-pnfs-block

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# PyNFS configuration for pNFS block layout protocol testing
2+
# Specifically tests pNFS block layout protocol conformance
3+
4+
# Use libvirt/QEMU for virtualization
5+
CONFIG_GUESTFS=y
6+
CONFIG_LIBVIRT=y
7+
8+
# Enable workflows
9+
CONFIG_WORKFLOWS=y
10+
CONFIG_WORKFLOW_LINUX_CUSTOM=y
11+
12+
# Linux kernel building with 9P for development
13+
CONFIG_BOOTLINUX=y
14+
CONFIG_BOOTLINUX_9P=y
15+
CONFIG_BOOTLINUX_LINUS=y
16+
CONFIG_BOOTLINUX_TREE_LINUS=y
17+
18+
# Enable testing workflows
19+
CONFIG_WORKFLOWS_TESTS=y
20+
CONFIG_WORKFLOWS_LINUX_TESTS=y
21+
CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
22+
23+
# Enable pynfs workflow for pNFS protocol testing
24+
CONFIG_KDEVOPS_WORKFLOW_DEDICATE_PYNFS=y
25+
CONFIG_KDEVOPS_WORKFLOW_ENABLE_PYNFS=y
26+
27+
# Enable pNFS block layout tests
28+
CONFIG_PYNFS_PNFS_BLOCK=y
29+
30+
# Use kdevops-provided NFS server
31+
CONFIG_KDEVOPS_SETUP_NFSD=y
32+
33+
# Enable systemd journal remote for debugging
34+
CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y

playbooks/roles/devconfig/tasks/main.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -565,6 +565,7 @@
565565
lstrip_blocks: true
566566
when:
567567
- devconfig_enable_systemd_journal_remote|bool
568+
- "'nfsd' not in group_names"
568569

569570
- name: Enable and restart systemd-journal-upload.service on the client
570571
tags: ["journal", "journal-upload-restart"]
@@ -578,6 +579,7 @@
578579
daemon_reload: true
579580
when:
580581
- devconfig_enable_systemd_journal_remote|bool
582+
- "'nfsd' not in group_names"
581583

582584
- name: Ensure systemd-journal-remote.service is running on the server
583585
tags: ["journal-status"]
@@ -602,6 +604,7 @@
602604
state: started
603605
when:
604606
- devconfig_enable_systemd_journal_remote|bool
607+
- "'nfsd' not in group_names"
605608

606609
- name: Set up the client /etc/systemd/timesyncd.conf
607610
tags: ["timesyncd"]

playbooks/roles/fstests/tasks/main.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,7 @@
758758
export_options: "{{ nfsd_export_options }}"
759759
export_fstype: "{{ fstests_nfs_export_fstype }}"
760760
export_size: 20g
761-
export_pnfs: "{{ fstests_nfs_section_pnfs | bool }}"
761+
export_pnfs: false
762762
when:
763763
- fstests_fstyp == "nfs"
764764
- fstests_nfs_use_kdevops_nfsd|bool
@@ -772,7 +772,7 @@
772772
export_options: "{{ nfsd_export_options }}"
773773
export_fstype: "{{ fstests_nfs_export_fstype }}"
774774
export_size: 30g
775-
export_pnfs: "{{ fstests_nfs_section_pnfs | bool }}"
775+
export_pnfs: false
776776
when:
777777
- fstests_fstyp == "nfs"
778778
- fstests_nfs_use_kdevops_nfsd|bool
@@ -1137,6 +1137,7 @@
11371137
state: started
11381138
when:
11391139
- devconfig_enable_systemd_journal_remote|bool
1140+
- "'nfsd' not in group_names"
11401141

11411142
- name: Hint to watchdog tests are about to kick off
11421143
ansible.builtin.file:

playbooks/roles/fstests/templates/nfs/nfs.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ SCRATCH_DEV="{{ fstests_nfs_scratch_devpool }}"
1010
RESULT_BASE=$PWD/results/$HOST/$(uname -r)
1111
TEST_DEV={{ fstests_nfs_test_dev }}
1212
CANON_DEVS=yes
13+
{% if fstests_soak_duration > 0 -%}
14+
SOAK_DURATION={{ fstests_soak_duration }}
15+
{% endif %}
16+
1317
{% if fstests_nfs_section_pnfs -%}
1418

1519
# Test pNFS block

playbooks/roles/iscsi/vars/Debian.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@ iscsi_target_packages:
33
- targetcli-fb
44
- sg3-utils
55

6+
iscsi_initiator_packages:
7+
- open-iscsi
8+
69
iscsi_target_service_name: targetclid.socket

playbooks/roles/nfsd_add_export/tasks/storage/local.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
- name: Format new volume for {{ export_fstype }}
1313
become: true
14-
become_flags: "su - -c"
1514
become_method: ansible.builtin.sudo
1615
delegate_to: "{{ server_host }}"
1716
community.general.filesystem:

0 commit comments

Comments
 (0)