From: Chuck Lever <cel@kernel.org>
To: <kdevops@lists.linux.dev>
Cc: Chuck Lever <chuck.lever@oracle.com>
Subject: [RFC PATCH v1] Add an Ansible requirements.yml file
Date: Sun, 24 Aug 2025 12:23:05 -0400 [thread overview]
Message-ID: <20250824162305.16602-1-cel@kernel.org> (raw)
From: Chuck Lever <chuck.lever@oracle.com>
Commit b90d89d27659 ("Switch to the cloud.terraform.terraform
module") introduced the use of the cloud.terraform module, and
commit 7ccb64834eeb ("guestfs: Replace scripts/destroy_guestfs.sh
with an Ansible playbook") introduced the use of the
community.libvirt module. It would be friendly if kdevops could
pull in the Ansible modules it needs transparently.
The requirements.yml file is a manifest of Ansible collections that
the project needs to run. Installation of these collections is made
automatic by adding:
ansible-galaxy install -r requirements.yml
to the "make ansible_cfg" step. This mechanism can keep cached
versions of collections up to date, and can also constrain a
cached collection to a specific version, if that's needed.
The initial file contains requirements I could find easily, and
should be updated over time as new collection dependencies are
introduced.
See also:
https://docs.ansible.com/ansible/latest/user_guide/collections_using.html
Question: Can we assume that the Ansible controller has internet
access all the time?
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
requirements.yml | 8 ++++++++
scripts/ansible.Makefile | 5 +++++
2 files changed, 13 insertions(+)
create mode 100644 requirements.yml
diff --git a/requirements.yml b/requirements.yml
new file mode 100644
index 000000000000..a22691d3f86b
--- /dev/null
+++ b/requirements.yml
@@ -0,0 +1,8 @@
+---
+collections:
+ - name: ansible.posix
+ - name: ansible.utils
+ - name: cloud.terraform
+ - name: community.docker
+ - name: community.general
+ - name: community.libvirt
diff --git a/scripts/ansible.Makefile b/scripts/ansible.Makefile
index b0d2a8c12ee7..4efcf3e93b0e 100644
--- a/scripts/ansible.Makefile
+++ b/scripts/ansible.Makefile
@@ -2,3 +2,8 @@
AV ?= 0
export ANSIBLE_VERBOSE := $(shell scripts/validate_av.py --av "$(AV)")
+
+ansible-requirements:
+ @$(Q)ansible-galaxy install -r requirements.yml
+PHONY += ansible-requirements
+DEFAULT_DEPS += ansible-requirements
--
2.50.0
next reply other threads:[~2025-08-24 16:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-24 16:23 Chuck Lever [this message]
2025-08-25 8:38 ` [RFC PATCH v1] Add an Ansible requirements.yml file Luis Chamberlain
2025-08-25 12:03 ` Daniel Gomez
2025-08-25 14:16 ` Chuck Lever
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=20250824162305.16602-1-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.