Re: [RFC PATCH 2/2] ansible.cfg: generate an ansible.cfg file in TOPDIR
Luis Chamberlain <[email protected]>
| Newsgroups | dev.linux.lists.kdevops |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Aug 28, 2025 at 04:28:27PM -0400, Chuck Lever wrote: > From: Chuck Lever <[email protected]> > > I need an ansible.cfg that is generated by the Kconfig menu, but > whose pathname is selected dynamically based on where kdevops is > being run rather than having that path baked into the .config. > > Signed-off-by: Chuck Lever <[email protected]> > --- > Makefile | 8 ++++++++ > kconfigs/Kconfig.ansible_cfg | 12 ++++++++++++ > 2 files changed, 20 insertions(+) > > diff --git a/Makefile b/Makefile > index b6fdbe67fc07..b014faa5632e 100644 > --- a/Makefile > +++ b/Makefile > @@ -27,10 +27,15 @@ KDEVOPS_NODES_ROLE_TEMPLATE_DIR := $(KDEVOPS_PLAYBOOKS_DIR)/roles/gen_nodes/tem > export KDEVOPS_NODES_TEMPLATE := > export KDEVOPS_MRPROPER := > > +ifeq (y,$(CONFIG_ANSIBLE_CFG_FILE_DEFAULT)) > +ANSIBLE_CFG_FILE := $(TOPDIR_PATH)/ansible.cfg > +export ANSIBLE_CONFIG := $(ANSIBLE_CFG_FILE) > +else > ifneq ($(strip $(CONFIG_ANSIBLE_CFG_FILE)),) > ANSIBLE_CFG_FILE := $(shell echo $(CONFIG_ANSIBLE_CFG_FILE) | tr --delete '"') > export ANSIBLE_CONFIG := $(ANSIBLE_CFG_FILE) > endif > +endif > ANSIBLE_INVENTORY_FILE := $(shell echo $(CONFIG_ANSIBLE_CFG_INVENTORY) | tr --delete '"') > > KDEVOPS_INSTALL_TARGETS := > @@ -86,6 +91,9 @@ CFLAGS += $(INCLUDES) > ANSIBLE_EXTRA_ARGS += kdevops_version='$(PROJECTRELEASE)' > ANSIBLE_EXTRA_ARGS += topdir_path_has_sha256sum='$(TOPDIR_PATH_HAS_SHA256SUM)' > ANSIBLE_EXTRA_ARGS += topdir_path_sha256sum='$(TOPDIR_PATH_SHA256SUM)' > +ifeq (y,$(CONFIG_ANSIBLE_CFG_FILE_DEFAULT)) > +ANSIBLE_EXTRA_ARGS += ansible_cfg_file='$(ANSIBLE_CFG_FILE)' > +endif > > export KDEVOPS_HOSTS_TEMPLATE := hosts.j2 > > diff --git a/kconfigs/Kconfig.ansible_cfg b/kconfigs/Kconfig.ansible_cfg > index dbd189f5d19e..a44f760912cf 100644 > --- a/kconfigs/Kconfig.ansible_cfg > +++ b/kconfigs/Kconfig.ansible_cfg > @@ -18,6 +18,16 @@ config ANSIBLE_CFG_INVENTORY_SET_BY_CLI > bool > default $(shell, scripts/check-cli-set-var.sh KDEVOPS_HOSTS) > > +config ANSIBLE_CFG_FILE_DEFAULT > + bool "Use a sensible default location for the ansible.cfg file" > + default N defaults are always n, so this line can be removed. > + help > + When this option is set to Y, kdevops creates an ansible.cfg > + in a sensible default location, using the settings defined > + in this Kconfig menu. Why would we not want this by default? Luis