public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
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


  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