From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 ED0452D978A for ; Sun, 24 Aug 2025 16:23:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756052588; cv=none; b=h+5oDTFdce05gDKR5i/baW6KMoGevmAZA1UZrJrM/ddiJ9UdHwZx+5q26lC0JENgiTne9lmkY8yn28xNfwfXRgxIyk4scKn4JmpZfO7RFPSQ7ZypGK0eLHpQUWn7/Ut3giqNMyfGDS2JvPblADE5s+VX5vxyZyJ80/J3DEgh4Fc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756052588; c=relaxed/simple; bh=gq91Ku0r3O+3D1SkOvV7xljeLWAyyPqC6rAtVG4h6eg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=bYaJL2pR+PWsL868Lm3A+IJcCClEBIW4w4cCvNdIuqv3cFI0Hy0GnzVRJwZWbLZ+ZmMB6pr/fmMGIoBiiaD94ArFr+/STD6dKi4MxLuKNTdie9+KvkTR0yqkqxrnrMEFvH5ryvVCez6/Fi7TyhMRG8YPcJ/TvdpFIMmJKPrEp0w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PHCfAZdV; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PHCfAZdV" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D820C4CEEB; Sun, 24 Aug 2025 16:23:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756052587; bh=gq91Ku0r3O+3D1SkOvV7xljeLWAyyPqC6rAtVG4h6eg=; h=From:To:Cc:Subject:Date:From; b=PHCfAZdVePATzj6WQg4Vup60vfvuGZg0kScXHaOrqSmRluPXLZBb0PLnHerXNJ+yc 0wT6EMWwgytwMXDiGIDJvRby4lyqy7uo0KjxiIuMI0ExENoZM1ns2dbFnsAib/dvio 5GL/HuXFk553PiCk9TPLRIu0ptG6hmCnQu8s9Q1qUCcT2bmz/jfZHM2H+bp2BnO6sf jH37zht8niWPxgZ7ZiEuTd2DtEWjUcwAsSqyV8/HU0WB/6lkw8c9mAWTFv7XXgXv4s NC6KNi7SgaL+ZF9LRLVmfYSCK5N0+HlFfZTLc4fsYVUZOh3vAeAT/YwmGTkSyOIeqC 27Ep3efC5tRTA== From: Chuck Lever To: Cc: Chuck Lever Subject: [RFC PATCH v1] Add an Ansible requirements.yml file Date: Sun, 24 Aug 2025 12:23:05 -0400 Message-ID: <20250824162305.16602-1-cel@kernel.org> X-Mailer: git-send-email 2.50.0 Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Chuck Lever 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 --- 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