From: cel@kernel.org
To: <kdevops@lists.linux.dev>
Cc: Chuck Lever <chuck.lever@oracle.com>
Subject: [RFC PATCH 20/22] nfsd: Replace the use of the community.general.zypper module
Date: Fri, 12 Apr 2024 13:46:53 -0400 [thread overview]
Message-ID: <20240412174655.722290-21-cel@kernel.org> (raw)
In-Reply-To: <20240412174655.722290-1-cel@kernel.org>
From: Chuck Lever <chuck.lever@oracle.com>
Also de-duplicate the logic that builds the nfsd_packages list.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
.../nfsd/tasks/install-deps/debian/main.yml | 36 ----------------
.../nfsd/tasks/install-deps/redhat/main.yml | 33 ---------------
.../nfsd/tasks/install-deps/suse/main.yml | 34 ---------------
playbooks/roles/nfsd/tasks/main.yml | 42 +++++++++++++++----
playbooks/roles/nfsd/vars/Debian.yml | 3 ++
playbooks/roles/nfsd/vars/RedHat.yml | 2 +
playbooks/roles/nfsd/vars/Suse.yml | 4 ++
7 files changed, 42 insertions(+), 112 deletions(-)
delete mode 100644 playbooks/roles/nfsd/tasks/install-deps/debian/main.yml
delete mode 100644 playbooks/roles/nfsd/tasks/install-deps/redhat/main.yml
delete mode 100644 playbooks/roles/nfsd/tasks/install-deps/suse/main.yml
diff --git a/playbooks/roles/nfsd/tasks/install-deps/debian/main.yml b/playbooks/roles/nfsd/tasks/install-deps/debian/main.yml
deleted file mode 100644
index 2a2b7899055a..000000000000
--- a/playbooks/roles/nfsd/tasks/install-deps/debian/main.yml
+++ /dev/null
@@ -1,36 +0,0 @@
----
-- name: Get 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: Determine which fsprogs package is needed for "{{ nfsd_export_fstype }}"
- set_fact:
- fsprogs: "{{ fstype_userspace_progs[nfsd_export_fstype] | default() }}"
-
-- name: Add {{ fsprogs }} to the nfsd packages list
- set_fact:
- nfsd_packages: "{{ nfsd_packages + [fsprogs] }}"
- when:
- - fsprogs is defined
- - fsprogs
-
-- name: Add gssproxy to the nfsd packages list
- set_fact:
- nfsd_packages: "{{ nfsd_packages + ['gssproxy'] }}"
- when: kdevops_krb5_enable|bool
-
-- name: Install nfsd dependencies
- become: yes
- become_method: sudo
- apt:
- name: "{{ nfsd_packages }}"
- state: present
- update_cache: yes
- tags: [ 'pynfs', 'deps' ]
diff --git a/playbooks/roles/nfsd/tasks/install-deps/redhat/main.yml b/playbooks/roles/nfsd/tasks/install-deps/redhat/main.yml
deleted file mode 100644
index d5d25c205f6e..000000000000
--- a/playbooks/roles/nfsd/tasks/install-deps/redhat/main.yml
+++ /dev/null
@@ -1,33 +0,0 @@
----
-- name: Get 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: Determine which fsprogs package is needed for "{{ nfsd_export_fstype }}"
- set_fact:
- fsprogs: "{{ fstype_userspace_progs[nfsd_export_fstype] | default() }}"
-
-- name: Add {{ fsprogs }} to the nfsd packages list
- set_fact:
- nfsd_packages: "{{ nfsd_packages + [fsprogs] }}"
- when:
- - fsprogs is defined
- - fsprogs
-
-- name: Install nfsd dependencies
- become: yes
- become_method: sudo
- yum:
- update_cache: yes
- name: "{{ nfsd_packages }}"
- retries: 3
- delay: 5
- register: result
- until: result.rc == 0
diff --git a/playbooks/roles/nfsd/tasks/install-deps/suse/main.yml b/playbooks/roles/nfsd/tasks/install-deps/suse/main.yml
deleted file mode 100644
index 5bda13c9e605..000000000000
--- a/playbooks/roles/nfsd/tasks/install-deps/suse/main.yml
+++ /dev/null
@@ -1,34 +0,0 @@
----
-- name: Get 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: Determine which fsprogs package is needed for "{{ nfsd_export_fstype }}"
- set_fact:
- fsprogs: "{{ fstype_userspace_progs[nfsd_export_fstype] | default() }}"
-
-- name: Add {{ fsprogs }} to the nfsd packages list
- set_fact:
- nfsd_packages: "{{ nfsd_packages + [fsprogs] }}"
- when:
- - fsprogs is defined
- - fsprogs
-
-- name: Add additional packages needed for krb5 to the nfsd packages list
- set_fact:
- nfsd_packages: "{{ nfsd_packages + ['gssproxy', 'libverto-libev1'] }}"
- when: kdevops_krb5_enable|bool
-
-- name: Install nfsd dependencies
- become: yes
- become_method: sudo
- zypper:
- name: "{{ nfsd_packages }}"
- state: present
diff --git a/playbooks/roles/nfsd/tasks/main.yml b/playbooks/roles/nfsd/tasks/main.yml
index fe5f6919864d..3118b72c88dd 100644
--- a/playbooks/roles/nfsd/tasks/main.yml
+++ b/playbooks/roles/nfsd/tasks/main.yml
@@ -1,15 +1,39 @@
---
-- name: Debian-specific setup
- ansible.builtin.include_tasks: roles/nfsd/tasks/install-deps/debian/main.yml
- when: ansible_os_family == 'Debian'
+- 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'
+ tags: vars
-- name: SuSE-specific setup
- ansible.builtin.include_tasks: roles/nfsd/tasks/install-deps/suse/main.yml
- when: ansible_os_family == 'Suse'
+- name: Determine the fsprogs package needed for "{{ nfsd_export_fstype }}"
+ ansible.builtin.set_fact:
+ fsprogs: "{{ fstype_userspace_progs[nfsd_export_fstype] | default() }}"
-- name: Red Hat-specific setup
- ansible.builtin.include_tasks: roles/nfsd/tasks/install-deps/redhat/main.yml
- when: ansible_os_family == 'RedHat'
+- name: Add fsprogs dependencies to the nfsd_packages list
+ ansible.builtin.set_fact:
+ nfsd_packages: "{{ nfsd_packages + [fsprogs] }}"
+ when:
+ - fsprogs is defined
+ - fsprogs
+
+- name: Add krb5 dependencies to the nfsd packages list
+ ansible.builtin.set_fact:
+ nfsd_packages: "{{ nfsd_packages + krb5_packages }}"
+ when: kdevops_krb5_enable|bool
+
+- name: Install dependencies for nfsd
+ become: true
+ become_flags: 'su - -c'
+ become_method: ansible.builtin.sudo
+ ansible.builtin.package:
+ name: "{{ nfsd_packages }}"
+ state: present
- name: Generate /etc/nfs.conf
become: yes
diff --git a/playbooks/roles/nfsd/vars/Debian.yml b/playbooks/roles/nfsd/vars/Debian.yml
index d8aa50bcdd9b..59351e762cfd 100644
--- a/playbooks/roles/nfsd/vars/Debian.yml
+++ b/playbooks/roles/nfsd/vars/Debian.yml
@@ -5,6 +5,9 @@ nfsd_packages:
- nfs-kernel-server
- policycoreutils
+krb5_packages:
+ - gssproxy
+
fstype_userspace_progs:
btrfs: btrfs-progs
ext4: e2fsprogs
diff --git a/playbooks/roles/nfsd/vars/RedHat.yml b/playbooks/roles/nfsd/vars/RedHat.yml
index 091c827c777d..c66c9168786a 100644
--- a/playbooks/roles/nfsd/vars/RedHat.yml
+++ b/playbooks/roles/nfsd/vars/RedHat.yml
@@ -6,6 +6,8 @@ nfsd_packages:
- policycoreutils
- python3-policycoreutils
+krb5_packages: []
+
fstype_userspace_progs:
btrfs: btrfs-progs
ext4: e2fsprogs
diff --git a/playbooks/roles/nfsd/vars/Suse.yml b/playbooks/roles/nfsd/vars/Suse.yml
index 786e5f81ece5..c28f97d6a0c0 100644
--- a/playbooks/roles/nfsd/vars/Suse.yml
+++ b/playbooks/roles/nfsd/vars/Suse.yml
@@ -4,6 +4,10 @@ nfsd_packages:
- nfs-utils
- policycoreutils
+krb5_packages:
+ - gssproxy
+ - libverto-libev1
+
fstype_userspace_progs:
btrfs: btrfsprogs
ext4: e2fsprogs
--
2.44.0
next prev parent reply other threads:[~2024-04-12 17:47 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-12 17:46 [RFC PATCH 00/22] Replace community.general.zypper cel
2024-04-12 17:46 ` [RFC PATCH 01/22] blktests: Replace the use of community.general.zypper cel
2024-04-12 17:46 ` [RFC PATCH 02/22] bootlinux: Replace the use of the community.general.zypper module cel
2024-04-12 17:46 ` [RFC PATCH 03/22] btrfs_progs: " cel
2024-04-12 17:46 ` [RFC PATCH 04/22] build-qemu: " cel
2024-04-12 17:46 ` [RFC PATCH 05/22] create_partition: " cel
2024-04-12 17:46 ` [RFC PATCH 06/22] cxl: " cel
2024-04-12 17:46 ` [RFC PATCH 07/22] devconfig: " cel
2024-04-12 17:46 ` [RFC PATCH 08/22] kotd-rev-kernel: " cel
2024-04-12 17:46 ` [RFC PATCH 09/22] fstests: " cel
2024-04-12 17:46 ` [RFC PATCH 10/22] fstests_prep_localhost: Replace the use of the community.general zypper module cel
2024-04-12 17:46 ` [RFC PATCH 11/22] install-menuconfig-deps: Replace the use of the community.general.zypper module cel
2024-04-12 17:46 ` [RFC PATCH 12/22] install_systemd_journal: " cel
2024-04-12 17:46 ` [RFC PATCH 13/22] install_systemd_timesyncd: " cel
2024-04-12 17:46 ` [RFC PATCH 14/22] install_terraform: " cel
2024-04-12 17:46 ` [RFC PATCH 15/22] install_vagrant: " cel
2024-04-12 17:46 ` [RFC PATCH 16/22] kdc: " cel
2024-04-12 17:46 ` [RFC PATCH 17/22] krb5: " cel
2024-04-12 17:46 ` [RFC PATCH 18/22] ktls: " cel
2024-04-12 17:46 ` [RFC PATCH 19/22] libvirt_user: " cel
2024-04-12 17:46 ` cel [this message]
2024-04-12 17:46 ` [RFC PATCH 21/22] pynfs: " cel
2024-04-12 17:46 ` [RFC PATCH 22/22] selftests: " cel
2024-04-12 18:30 ` [RFC PATCH 00/22] Replace community.general.zypper Luis Chamberlain
2024-04-15 14:39 ` Chuck Lever III
2024-04-15 20:32 ` Goldwyn Rodrigues
2024-04-15 21:11 ` Chuck Lever
2024-04-15 21:35 ` Goldwyn Rodrigues
2024-04-15 21:41 ` Chuck Lever III
2024-04-15 22:38 ` Anthony Iliopoulos
2024-04-17 16:57 ` Chuck Lever III
2024-04-17 18:39 ` Anthony Iliopoulos
2024-04-17 18:48 ` Chuck Lever III
2024-04-17 18:48 ` Chuck Lever III
2024-04-17 19:12 ` Anthony Iliopoulos
2024-04-17 16:50 ` Chuck Lever III
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240412174655.722290-21-cel@kernel.org \
--to=cel@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=kdevops@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox