All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.