From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D9401474D9 for ; Fri, 12 Apr 2024 15:35:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712936102; cv=none; b=tjC2XH+lpRLvx7W7H2lYkRIn1aP3VM5RPV+jM3dkIf/7qUiPD1XlybVlzBv2r4GCiSaxsPHNYAzMGXKxYIdgMxiMiqFTW7zbAfBUs+8VN9Jq4HnAn6LN+rLXvozKowSrOMTvBFac1WFgumF5R8BQ6cO4Xf//G/bxl0m93eVDPsY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712936102; c=relaxed/simple; bh=W1Oi2AV013yXWEdX56okZhDoKokxqprk+JlWs3xt7z4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: In-Reply-To:Content-Type:Content-Disposition; b=n+Hej6Q8Bovipwlz2lU+yot0pX+3F1PXRUAH3js6zoLsNRQZVgfaTu8m6er6n8/u7Cb64bey5PRUF1QSrRR3D6reFxOjc+Q1APb02hrV308AXKKMayiiZlkSADisfXoTCpSXqg5P6qkGjkatUcpv82UGIeRGSo0XwWaZG7dHNFs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=W4D+PZiq; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="W4D+PZiq" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1712936099; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7fAwu2Np/WkIm6GuO0nEvHoKgBmtBX2/56XPhEflb8g=; b=W4D+PZiqfaP1aesv6NpEeSBM6j1GTDP1Odf53lFthiosY3eWNYVwFsjEXtypa+H0YvEqj8 iTV8AeVJiC2USyIs/kLePi4rYA4l0XoBffc5BA/quWBl1Vkb0vP/5uIZmnBI9B7jmPTcFy Io9sLVil4Uw6OkOc5gu/Ryr/A9N59Js= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-224-vBIzyjKnMY-pDykZEmxrLA-1; Fri, 12 Apr 2024 11:34:55 -0400 X-MC-Unique: vBIzyjKnMY-pDykZEmxrLA-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 053F41807B27; Fri, 12 Apr 2024 15:34:55 +0000 (UTC) Received: from aion.redhat.com (unknown [10.22.9.2]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D9814C13FA1; Fri, 12 Apr 2024 15:34:54 +0000 (UTC) Received: by aion.redhat.com (Postfix, from userid 1000) id 86BA01483C3; Fri, 12 Apr 2024 11:34:54 -0400 (EDT) Date: Fri, 12 Apr 2024 11:34:54 -0400 From: Scott Mayhew To: cel@kernel.org Cc: kdevops@lists.linux.dev, Chuck Lever Subject: Re: [PATCH 4/4] roles: Add a playbook to run the nfstest suite Message-ID: References: <20240410145051.257980-1-cel@kernel.org> <20240410145051.257980-4-cel@kernel.org> Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20240410145051.257980-4-cel@kernel.org> X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Wed, 10 Apr 2024, cel@kernel.org wrote: > From: Chuck Lever > > Note that in dedicated workflow mode, each test group has its own > set of tasks. The main nfstest role selects the task set to run > based on the hostname of the target node. > > The nfstest role uses the "free" lock-step strategy so that each > target node can get through its tests while the others are running > their own tasks. Another possibility that is more natural to Ansible > would be to set up a group for each nfstest test group. > > Signed-off-by: Chuck Lever > --- > playbooks/nfstest.yml | 5 + > playbooks/roles/nfstest/defaults/main.yml | 5 + > playbooks/roles/nfstest/tasks/alloc/main.yml | 14 ++ > playbooks/roles/nfstest/tasks/dio/main.yml | 28 +++ > .../roles/nfstest/tasks/interop/main.yml | 56 ++++++ > playbooks/roles/nfstest/tasks/lock/main.yml | 56 ++++++ > playbooks/roles/nfstest/tasks/main.yml | 187 ++++++++++++++++++ > playbooks/roles/nfstest/tasks/posix/main.yml | 56 ++++++ > playbooks/roles/nfstest/tasks/sparse/main.yml | 14 ++ > playbooks/roles/nfstest/tasks/ssc/main.yml | 28 +++ > playbooks/roles/nfstest/vars/Debian.yml | 5 + > playbooks/roles/nfstest/vars/RedHat.yml | 5 + > playbooks/roles/nfstest/vars/Suse.yml | 5 + > 13 files changed, 464 insertions(+) > create mode 100644 playbooks/nfstest.yml > create mode 100644 playbooks/roles/nfstest/defaults/main.yml > create mode 100644 playbooks/roles/nfstest/tasks/alloc/main.yml > create mode 100644 playbooks/roles/nfstest/tasks/dio/main.yml > create mode 100644 playbooks/roles/nfstest/tasks/interop/main.yml > create mode 100644 playbooks/roles/nfstest/tasks/lock/main.yml > create mode 100644 playbooks/roles/nfstest/tasks/main.yml > create mode 100644 playbooks/roles/nfstest/tasks/posix/main.yml > create mode 100644 playbooks/roles/nfstest/tasks/sparse/main.yml > create mode 100644 playbooks/roles/nfstest/tasks/ssc/main.yml > create mode 100644 playbooks/roles/nfstest/vars/Debian.yml > create mode 100644 playbooks/roles/nfstest/vars/RedHat.yml > create mode 100644 playbooks/roles/nfstest/vars/Suse.yml > > diff --git a/playbooks/nfstest.yml b/playbooks/nfstest.yml > new file mode 100644 > index 000000000000..9d7c28a75843 > --- /dev/null > +++ b/playbooks/nfstest.yml > @@ -0,0 +1,5 @@ > +--- > +- hosts: all > + strategy: free > + roles: > + - role: nfstest > diff --git a/playbooks/roles/nfstest/defaults/main.yml b/playbooks/roles/nfstest/defaults/main.yml > new file mode 100644 > index 000000000000..0d4060b5c76e > --- /dev/null > +++ b/playbooks/roles/nfstest/defaults/main.yml > @@ -0,0 +1,5 @@ > +--- > +# Our sensible defaults for the nfstest role. > +# > +kdevops_run_nfstest: False > +kdevops_workflows_dedicated_workflow: false > diff --git a/playbooks/roles/nfstest/tasks/alloc/main.yml b/playbooks/roles/nfstest/tasks/alloc/main.yml > new file mode 100644 > index 000000000000..2c4d750388f2 > --- /dev/null > +++ b/playbooks/roles/nfstest/tasks/alloc/main.yml > @@ -0,0 +1,14 @@ > +--- > +- name: Run nfstest_alloc for NFSv4.2 > + ansible.builtin.command: > + argv: > + - "nfstest_alloc" > + - "--createlog" > + - "--nfsversion=4.2" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: alloc_nfsv42_results > + changed_when: false > + failed_when: alloc_nfsv42_results.rc != 0 and alloc_nfsv42_results.rc != 1 > + tags: run_tests > diff --git a/playbooks/roles/nfstest/tasks/dio/main.yml b/playbooks/roles/nfstest/tasks/dio/main.yml > new file mode 100644 > index 000000000000..705403a93da1 > --- /dev/null > +++ b/playbooks/roles/nfstest/tasks/dio/main.yml > @@ -0,0 +1,28 @@ > +--- > +- name: Run nfstest_dio for NFSv4.0 > + ansible.builtin.command: > + argv: > + - "nfstest_dio" > + - "--createlog" > + - "--nfsversion=4.0" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: dio_nfsv40_results > + changed_when: false > + failed_when: dio_nfsv40_results.rc != 0 and dio_nfsv40_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_dio for NFSv4.1 > + ansible.builtin.command: > + argv: > + - "nfstest_dio" > + - "--createlog" > + - "--nfsversion=4.1" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: dio_nfsv41_results > + changed_when: false > + failed_when: dio_nfsv41_results.rc != 0 and dio_nfsv41_results.rc != 1 > + tags: run_tests > diff --git a/playbooks/roles/nfstest/tasks/interop/main.yml b/playbooks/roles/nfstest/tasks/interop/main.yml > new file mode 100644 > index 000000000000..b35e9c9607fe > --- /dev/null > +++ b/playbooks/roles/nfstest/tasks/interop/main.yml > @@ -0,0 +1,56 @@ > +--- > +- name: Run nfstest_interop for NFSv3 > + ansible.builtin.command: > + argv: > + - "nfstest_interop" > + - "--createlog" > + - "--nfsversion=3" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: interop_nfsv3_results > + changed_when: false > + failed_when: interop_nfsv3_results.rc != 0 and interop_nfsv3_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_interop for NFSv4.0 > + ansible.builtin.command: > + argv: > + - "nfstest_interop" > + - "--createlog" > + - "--nfsversion=4.0" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: interop_nfsv40_results > + changed_when: false > + failed_when: interop_nfsv40_results.rc != 0 and interop_nfsv40_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_interop for NFSv4.1 > + ansible.builtin.command: > + argv: > + - "nfstest_interop" > + - "--createlog" > + - "--nfsversion=4.1" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: interop_nfsv41_results > + changed_when: false > + failed_when: interop_nfsv41_results.rc != 0 and interop_nfsv41_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_interop for NFSv4.2 > + ansible.builtin.command: > + argv: > + - "nfstest_interop" > + - "--createlog" > + - "--nfsversion=4.2" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: interop_nfsv42_results > + changed_when: false > + failed_when: interop_nfsv42_results.rc != 0 and interop_nfsv42_results.rc != 1 > + tags: run_tests > diff --git a/playbooks/roles/nfstest/tasks/lock/main.yml b/playbooks/roles/nfstest/tasks/lock/main.yml > new file mode 100644 > index 000000000000..b658edf965ed > --- /dev/null > +++ b/playbooks/roles/nfstest/tasks/lock/main.yml > @@ -0,0 +1,56 @@ > +--- > +- name: Run nfstest_lock for NFSv3 > + ansible.builtin.command: > + argv: > + - "nfstest_lock" > + - "--createlog" > + - "--nfsversion=3" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: lock_nfsv3_results > + changed_when: false > + failed_when: lock_nfsv3_results.rc != 0 and lock_nfsv3_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_lock for NFSv4.0 > + ansible.builtin.command: > + argv: > + - "nfstest_lock" > + - "--createlog" > + - "--nfsversion=4.0" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: lock_nfsv40_results > + changed_when: false > + failed_when: lock_nfsv40_results.rc != 0 and lock_nfsv40_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_lock for NFSv4.1 > + ansible.builtin.command: > + argv: > + - "nfstest_lock" > + - "--createlog" > + - "--nfsversion=4.1" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: lock_nfsv41_results > + changed_when: false > + failed_when: lock_nfsv41_results.rc != 0 and lock_nfsv41_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_lock for NFSv4.2 > + ansible.builtin.command: > + argv: > + - "nfstest_lock" > + - "--createlog" > + - "--nfsversion=4.2" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: lock_nfsv42_results > + changed_when: false > + failed_when: lock_nfsv42_results.rc != 0 and lock_nfsv42_results.rc != 1 > + tags: run_tests > diff --git a/playbooks/roles/nfstest/tasks/main.yml b/playbooks/roles/nfstest/tasks/main.yml > new file mode 100644 > index 000000000000..6f660c332a75 > --- /dev/null > +++ b/playbooks/roles/nfstest/tasks/main.yml > @@ -0,0 +1,187 @@ > +--- > +- name: Import optional extra_vars file > + ansible.builtin.include_vars: > + file: "{{ item }}" > + with_first_found: > + - files: > + - "../extra_vars.yml" > + - "../extra_vars.yaml" > + - "../extra_vars.json" > + skip: true > + failed_when: false > + tags: vars > + > +- name: Set OS-specific variables > + ansible.builtin.include_vars: "{{ lookup('ansible.builtin.first_found', params) }}" > + vars: > + params: > + files: > + - '{{ ansible_distribution }}.yml' > + - '{{ ansible_os_family }}.yml' > + - default.yml > + paths: > + - 'vars' > + > +- name: Install dependencies for nfstest > + become: true > + become_flags: 'su - -c' > + become_method: ansible.builtin.sudo > + ansible.builtin.package: > + name: "{{ nfstest_packages }}" > + state: present > + tags: nfstest > + > +# I wish this worked. > +# - name: Install or update pip > +# become: true > +# community.general.easy_install: > +# name: pip > +# state: latest > +# tags: nfstest > + > +- name: Create the /data mount point on the target nodes > + ansible.builtin.include_role: > + name: create_data_partition > + tags: > + - data_partition > + - nfstest > + > +- name: Set the pathname of the build directory > + ansible.builtin.set_fact: > + nfstest_build_dir: "{{ data_path }}/nfstest" > + tags: nfstest > + > +- name: Remove existing nfstest build directory > + become: true > + become_flags: 'su - -c' > + become_method: ansible.builtin.sudo > + ansible.builtin.file: > + path: "{{ nfstest_build_dir }}" > + state: absent > + tags: nfstest > + > +- name: Set the name of the NFS export for the test group > + ansible.builtin.set_fact: > + nfstest_nfs_server_export: "nfstest-{{ ansible_host }}" > + when: > + - nfstest_nfs_use_kdevops_nfsd|bool > + tags: vars > + > +- name: Create the NFS export on the kdevops NFS server > + ansible.builtin.include_role: > + name: nfsd_add_export > + vars: # noqa: var-naming[no-role-prefix] > + server_host: "{{ nfstest_nfs_server_host }}" > + export_volname: "{{ nfstest_nfs_server_export }}" > + export_options: "{{ nfsd_export_options }}" > + export_fstype: "{{ nfsd_export_fstype }}" > + export_size: 10g > + when: > + - nfstest_nfs_use_kdevops_nfsd|bool > + tags: nfstest > + > +- name: Create the test mount point on the target node > + become: true > + become_flags: 'su - -c' > + become_method: ansible.builtin.sudo > + ansible.builtin.file: > + state: directory > + path: "{{ nfstest_mnt }}" > + owner: "root" > + group: "root" > + mode: "u=rwx,g=rwx,o=rwx" > + tags: nfstest > + > +- name: Clone the nfstest source code from {{ nfstest_repo }} > + ansible.builtin.git: > + repo: "{{ nfstest_repo }}" > + dest: "{{ nfstest_build_dir }}" > + version: "{{ nfstest_repo_commit }}" > + update: true > + retries: 3 > + delay: 5 > + register: clone_result > + until: not clone_result.failed > + tags: nfstest > + > +- name: Build the nfstest suite on the target node(s) > +# noqa: command-instead-of-shell > + environment: > + PYTHONPATH: "{{ nfstest_build_dir }}" > + ansible.builtin.shell: > + cmd: "python setup.py build" I'm getting this on Fedora: ---8<--- fatal: [fedora-nfstest-alloc]: FAILED! => { "changed": true, "cmd": "python setup.py build", "delta": "0:00:00.009209", "end": "2024-04-12 15:24:44.157946", "failed_when_result": true, "rc": 127, "start": "2024-04-12 15:24:44.148737" } STDERR: /bin/sh: line 1: python: command not found MSG: non-zero return code ---8<--- I think you probably want to add python-unversioned-command to the list of nfstest_packages. -Scott > + chdir: "{{ nfstest_build_dir }}" > + register: build_result > + failed_when: build_result.rc != 0 > + changed_when: true > + tags: nfstest > + > +- name: Install the nfstest suite on the target node(s) > + become: true > + become_flags: 'su - -c' > + become_method: ansible.builtin.sudo > + ansible.builtin.command: > + cmd: "pip install ." > + chdir: "{{ nfstest_build_dir }}" > + register: install_result > + failed_when: install_result.rc != 0 > + changed_when: true > + tags: nfstest > + > +- name: Set the test group for the target node > + ansible.builtin.set_fact: > + nfstest_test_group: "{{ ansible_host | regex_replace(kdevops_host_prefix + '-') | regex_replace('-dev') }}" > + when: > + - kdevops_workflows_dedicated_workflow|bool > + tags: > + - run_tests > + - copy_results > + > +- name: Run the selected test group > + ansible.builtin.include_role: > + name: nfstest > + tasks_from: "{{ nfstest_test_group }}/main.yml" > + when: > + - kdevops_workflows_dedicated_workflow|bool > + tags: run_tests > + > +- name: Set the pathname of the results directory > + ansible.builtin.set_fact: > + nfstest_results_dir: "../workflows/nfstest/results/{{ ansible_kernel }}" > + when: > + - kdevops_workflows_dedicated_workflow|bool > + tags: copy_results > + > +- name: Create the results directory on the control node > + ansible.builtin.file: > + path: "{{ nfstest_results_dir }}" > + state: directory > + mode: "u=rwx,g=rx,o=rx" > + delegate_to: localhost > + when: > + - kdevops_workflows_dedicated_workflow|bool > + tags: copy_results > + > +- name: Look for output logs on the target node > + ansible.builtin.find: > + paths: "/tmp" > + patterns: "nfstest*.log" > + file_type: file > + register: nfstest_logs > + when: > + - kdevops_workflows_dedicated_workflow|bool > + tags: copy_results > + > +- name: Copy the output logs to the control node > + ansible.builtin.fetch: > + src: "{{ item.path }}" > + dest: "{{ nfstest_results_dir }}/{{ nfstest_test_group }}/" > + flat: true > + with_items: "{{ nfstest_logs.files }}" > + loop_control: > + label: "Copying {{ item.path | basename }} ..." > + when: > + - nfstest_logs.matched > 0 > + - kdevops_workflows_dedicated_workflow|bool > + changed_when: false > + tags: copy_results > diff --git a/playbooks/roles/nfstest/tasks/posix/main.yml b/playbooks/roles/nfstest/tasks/posix/main.yml > new file mode 100644 > index 000000000000..6dd2c4e0b022 > --- /dev/null > +++ b/playbooks/roles/nfstest/tasks/posix/main.yml > @@ -0,0 +1,56 @@ > +--- > +- name: Run nfstest_posix for NFSv3 > + ansible.builtin.command: > + argv: > + - "nfstest_posix" > + - "--createlog" > + - "--nfsversion=3" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: posix_nfsv3_results > + changed_when: false > + failed_when: posix_nfsv3_results.rc != 0 and posix_nfsv3_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_posix for NFSv4.0 > + ansible.builtin.command: > + argv: > + - "nfstest_posix" > + - "--createlog" > + - "--nfsversion=4.0" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: posix_nfsv40_results > + changed_when: false > + failed_when: posix_nfsv40_results.rc != 0 and posix_nfsv40_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_posix for NFSv4.1 > + ansible.builtin.command: > + argv: > + - "nfstest_posix" > + - "--createlog" > + - "--nfsversion=4.1" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: posix_nfsv41_results > + changed_when: false > + failed_when: posix_nfsv41_results.rc != 0 and posix_nfsv41_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_posix for NFSv4.2 > + ansible.builtin.command: > + argv: > + - "nfstest_posix" > + - "--createlog" > + - "--nfsversion=4.2" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: posix_nfsv42_results > + changed_when: false > + failed_when: posix_nfsv42_results.rc != 0 and posix_nfsv42_results.rc != 1 > + tags: run_tests > diff --git a/playbooks/roles/nfstest/tasks/sparse/main.yml b/playbooks/roles/nfstest/tasks/sparse/main.yml > new file mode 100644 > index 000000000000..6defab5311f7 > --- /dev/null > +++ b/playbooks/roles/nfstest/tasks/sparse/main.yml > @@ -0,0 +1,14 @@ > +--- > +- name: Run nfstest_sparse for NFSv4.2 > + ansible.builtin.command: > + argv: > + - "nfstest_sparse" > + - "--createlog" > + - "--nfsversion=4.2" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=all" > + register: sparse_nfsv42_results > + changed_when: false > + failed_when: sparse_nfsv42_results.rc != 0 and sparse_nfsv42_results.rc != 1 > + tags: run_tests > diff --git a/playbooks/roles/nfstest/tasks/ssc/main.yml b/playbooks/roles/nfstest/tasks/ssc/main.yml > new file mode 100644 > index 000000000000..b8e01345c032 > --- /dev/null > +++ b/playbooks/roles/nfstest/tasks/ssc/main.yml > @@ -0,0 +1,28 @@ > +--- > +- name: Run nfstest_ssc intra tests for NFSv4.2 > + ansible.builtin.command: > + argv: > + - "nfstest_ssc" > + - "--createlog" > + - "--nfsversion=4.2" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=intra" > + register: ssc_nfsv42_intra_results > + changed_when: false > + failed_when: ssc_nfsv42_intra_results.rc != 0 and ssc_nfsv42_intra_results.rc != 1 > + tags: run_tests > + > +- name: Run nfstest_ssc inter tests for NFSv4.2 > + ansible.builtin.command: > + argv: > + - "nfstest_ssc" > + - "--createlog" > + - "--nfsversion=4.2" > + - "--server={{ nfstest_nfs_server_host }}" > + - "--export=/export/{{ nfstest_nfs_server_export }}" > + - "--runtest=inter" > + register: ssc_nfsv42_inter_results > + changed_when: false > + failed_when: ssc_nfsv42_inter_results.rc != 0 and ssc_nfsv42_inter_results.rc != 1 > + tags: run_tests > diff --git a/playbooks/roles/nfstest/vars/Debian.yml b/playbooks/roles/nfstest/vars/Debian.yml > new file mode 100644 > index 000000000000..3acf39071fd3 > --- /dev/null > +++ b/playbooks/roles/nfstest/vars/Debian.yml > @@ -0,0 +1,5 @@ > +--- > +nfstest_packages: > + - nfs-common > + - python3-pip > + - tcpdump > diff --git a/playbooks/roles/nfstest/vars/RedHat.yml b/playbooks/roles/nfstest/vars/RedHat.yml > new file mode 100644 > index 000000000000..4fdee14f2b1f > --- /dev/null > +++ b/playbooks/roles/nfstest/vars/RedHat.yml > @@ -0,0 +1,5 @@ > +--- > +nfstest_packages: > + - nfs-utils > + - python3-pip > + - tcpdump > diff --git a/playbooks/roles/nfstest/vars/Suse.yml b/playbooks/roles/nfstest/vars/Suse.yml > new file mode 100644 > index 000000000000..4fdee14f2b1f > --- /dev/null > +++ b/playbooks/roles/nfstest/vars/Suse.yml > @@ -0,0 +1,5 @@ > +--- > +nfstest_packages: > + - nfs-utils > + - python3-pip > + - tcpdump > -- > 2.44.0 > >