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 197521DF75C for ; Fri, 2 May 2025 12:13:49 +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=1746188029; cv=none; b=FVPczPRCRYX561C18W35tsSIvOUpQiOfOnjQjZyvwj0ES5MNSjIZDK7w3Xc7QY20DR5DP7IhaeqrSwCcmge0XGUijBUu6L+t5HoY1ly4IzBeECH3tfcRUmE7vCC4BhEK+GHIBtwarFhhTcfW7qZI76BOZj8nlFWXnVwMl8m8GQ8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746188029; c=relaxed/simple; bh=+Rn83Px1JfdL+sUrx4nyuOP+2O2weVguToYdCELS59U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=T9cp5Nq3ovOcwj8djOItabzP2ajld/AEtyL1djif6RBL6kepWUbLqJ2q14bySWPgXPNIsSWFEaorFJepmm4l7BqnOKnln0hlxOLm83BTPxr4X692C/X+zdd88ZQcyne+IU267guX7ZC6gI2MxzD1IOigz/SpYGyTmrCyTB0xN9A= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QidBzbSt; 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="QidBzbSt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EEE15C4CEE4; Fri, 2 May 2025 12:13:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1746188029; bh=+Rn83Px1JfdL+sUrx4nyuOP+2O2weVguToYdCELS59U=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=QidBzbStkhrGVHjUFtDlWpa1R5mcHfzQLqBzC2kBT3U9Cr+3VJvquXikwiQcd//nT JCzAc4W/xplLhpyGtL3+9B88vyZPYb1sQFr4pNyCjW1nicMbYqUD7w9l75qs8BvYeD +PUoVMETO7Enh1drgzIRirHe2jsaYM/DhSUR9JnEyQgkl9mQztIlC620fg0ciJQES6 PNkvWhZXScJayipbWHaOPR9KhLRi226GiWaWOtPjrTEJP495xvuLtqCCK83ZOQflsX 06E3pOC4n+iCJQLvQVezAujw1CR1vG4LPpji4t7vvo4uwDm16LtNLHExTF6bYXqCF7 OC30Og4UCgqAw== From: Daniel Gomez Date: Fri, 02 May 2025 14:13:26 +0200 Subject: [PATCH v2 09/10] ansible_cfg: add support to change ansible.cfg file location Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250502-ansible_cfg_inventory-v2-9-d3c19ff4aa6e@samsung.com> References: <20250502-ansible_cfg_inventory-v2-0-d3c19ff4aa6e@samsung.com> In-Reply-To: <20250502-ansible_cfg_inventory-v2-0-d3c19ff4aa6e@samsung.com> To: Luis Chamberlain , Chuck Lever Cc: kdevops@lists.linux.dev, Daniel Gomez , Daniel Gomez X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5521; i=da.gomez@samsung.com; h=from:subject:message-id; bh=kH1IcFH9sHBbeBXhE8Ln4faFfVEHaEVVm1tl1xaT6Aw=; b=owEBbQKS/ZANAwAIAYX1bqTp6BOPAcsmYgBoFLbtqCBaYUYSqZbzk/5w1v5RzIX7QRoZQPp0h t2zFOfDUpOJAjMEAAEIAB0WIQSyp6nP3QO1QP9YsnGF9W6k6egTjwUCaBS27QAKCRCF9W6k6egT j4MGD/0R8AiXih8G8AqcaHu/Ft+aRdFHYo7XDS10aEC4R2tUNZ2aRSGsZDs/ovsUNkJmTGX8wvf ZOR93gHXgG82VlPYv2aow6+rgUQ4Cc4QuHb8KvpZQt6Ny/G9DXdZ4yp0YKh3KZ4X4hb9v1hDVX4 VdUL6XUAgzuw59Z+rETkjpn2WyrtUQg/TaGT25TxlA6cstH1OJq/QuSLwpnGK3K9GRhUOsXsnJG MzHUXEyQqo4QpVTitgVMKbrGKPkDal99rAqwvzvOqpAVZgzp7vw6ecQ+JHSrfysYtj2VCk2sxGN BGbrYkpCmHWTPcfRrgpyFdY8exFo3CdupPjx1hW2IwCf+fjqpXyK2j1E8OE1wi1jCiH7am5uVYK lQMDNnkjqFBELsLzkv2qQgIA/ze249iEFnxFqBjzUWRC8RSdZd6j85VNO7GeL2mEi2bcJX9J4sT MPa09RPyEQrOwUAOurR+nEvDC+wSAtLGQznrIgCzBnkF+Nlu3WJRvdB+HhqEktQQt2lAgBoWBt3 dpdwMXeMbNAYCMhibH2R/+3CB8eENk4Li3UP8U9skAcPzJgwLb+Hrnf9jfoyAUqiTQ86orVBhib v3WmKBPXoycVuKYhGSRD4FvJcx2luStoZp8/jrPBXoAHNRNsiSKmWloD/CYhv3TQ0ebLRMWpXrw fC90FGlZtBeNyoA== X-Developer-Key: i=da.gomez@samsung.com; a=openpgp; fpr=B2A7A9CFDD03B540FF58B27185F56EA4E9E8138F From: Daniel Gomez This adds support to change the Ansible Configuration filename and location via Kconfig. It also fixes the target to generate the file only if it doesn't exist, instead of regenerating it every time make is invoked. Removing the quotes from the variable used as target fixes the problem. Remove the file from MAINTAINERS list as it is autogenerated and not in tree. Reported-by: Chuck Lever Signed-off-by: Daniel Gomez --- MAINTAINERS | 1 - Makefile | 15 +++++++-------- kconfigs/Kconfig.ansible_cfg | 15 +++++++++++++++ playbooks/roles/ansible_cfg/tasks/main.yml | 2 +- 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 30591209e5a05faacfba87ddd2038c92ec846bda..d6f578c0be62ac3809084223ae190a70d3b23d0a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -72,7 +72,6 @@ M: Daniel Gomez L: kdevops@lists.linux.dev S: Maintained T: git https://github.com/linux-kdevops/kdevops.git -F: ansible.cfg F: kconfigs/Kconfig.ansible_cfg F: playbooks/ansible_cfg.yml F: playbooks/roles/ansible_cfg diff --git a/Makefile b/Makefile index de0db3cc9137f749fa205acce5487073f998f789..0995337767c8575b38c2effda495674b6fbb43ae 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,7 @@ KDEVOPS_NODES_ROLE_TEMPLATE_DIR := $(KDEVOPS_PLAYBOOKS_DIR)/roles/gen_nodes/tem export KDEVOPS_NODES_TEMPLATE := export KDEVOPS_MRPROPER := +ANSIBLE_CFG_FILE := $(shell echo $(CONFIG_ANSIBLE_CFG_FILE) | tr --delete '"') ANSIBLE_INVENTORY_FILE := $(shell echo $(CONFIG_ANSIBLE_CFG_INVENTORY) | tr --delete '"') KDEVOPS_INSTALL_TARGETS := @@ -195,16 +196,14 @@ include scripts/gen-nodes.Makefile make -f scripts/build.Makefile help ;\ false) - -PHONY += ansible.cfg -ansible.cfg: +$(ANSIBLE_CFG_FILE): @$(Q)ansible-playbook $(ANSIBLE_VERBOSE) \ $(KDEVOPS_PLAYBOOKS_DIR)/ansible_cfg.yml \ --extra-vars=@./.extra_vars_auto.yaml PHONY += $(EXTRA_VAR_INPUTS) $(EXTRA_VAR_INPUTS_LAST) -$(KDEVOPS_EXTRA_VARS): .config ansible.cfg $(EXTRA_VAR_INPUTS) $(EXTRA_VAR_INPUTS_LAST) +$(KDEVOPS_EXTRA_VARS): .config $(ANSIBLE_CFG_FILE) $(EXTRA_VAR_INPUTS) $(EXTRA_VAR_INPUTS_LAST) playbooks/secret.yml: @if [[ "$(CONFIG_KDEVOPS_REG_TWOLINE_REGCODE)" == "" ]]; then \ @@ -216,7 +215,7 @@ playbooks/secret.yml: @echo "$(CONFIG_KDEVOPS_REG_TWOLINE_REGCODE_VAR): $(CONFIG_KDEVOPS_REG_TWOLINE_REGCODE)" >> $@ ifeq (y,$(CONFIG_KDEVOPS_ENABLE_DISTRO_EXTRA_ADDONS)) -$(KDEVOPS_EXTRA_ADDON_DEST): .config ansible.cfg $(KDEVOPS_EXTRA_ADDON_SOURCE) +$(KDEVOPS_EXTRA_ADDON_DEST): .config $(ANSIBLE_CFG_FILE) $(KDEVOPS_EXTRA_ADDON_SOURCE) $(Q)cp $(KDEVOPS_EXTRA_ADDON_SOURCE) $(KDEVOPS_EXTRA_ADDON_DEST) endif @@ -227,13 +226,13 @@ include scripts/bringup.Makefile endif DEFAULT_DEPS += $(ANSIBLE_INVENTORY_FILE) -$(ANSIBLE_INVENTORY_FILE): .config ansible.cfg $(KDEVOPS_HOSTS_TEMPLATE) +$(ANSIBLE_INVENTORY_FILE): .config $(ANSIBLE_CFG_FILE) $(KDEVOPS_HOSTS_TEMPLATE) $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \ $(KDEVOPS_PLAYBOOKS_DIR)/gen_hosts.yml \ --extra-vars=@./extra_vars.yaml DEFAULT_DEPS += $(KDEVOPS_NODES) -$(KDEVOPS_NODES) $(KDEVOPS_VAGRANT): .config ansible.cfg $(KDEVOPS_NODES_TEMPLATE) +$(KDEVOPS_NODES) $(KDEVOPS_VAGRANT): .config $(ANSIBLE_CFG_FILE) $(KDEVOPS_NODES_TEMPLATE) $(Q)ansible-playbook $(ANSIBLE_VERBOSE) \ $(KDEVOPS_PLAYBOOKS_DIR)/gen_nodes.yml \ --extra-vars=@./extra_vars.yaml @@ -262,7 +261,7 @@ mrproper: $(Q)rm -f $(KDEVOPS_NODES) $(Q)rm -f $(ANSIBLE_CFG_INVENTORY) $(KDEVOPS_MRPROPER) $(Q)rm -f .config .config.old extra_vars.yaml $(KCONFIG_YAMLCFG) - $(Q)rm -f ansible.cfg + $(Q)rm -f $(ANSIBLE_CFG_FILE) $(Q)rm -f playbooks/secret.yml $(KDEVOPS_EXTRA_ADDON_DEST) $(Q)rm -rf include $(Q)rm -rf guestfs diff --git a/kconfigs/Kconfig.ansible_cfg b/kconfigs/Kconfig.ansible_cfg index d78ea7507632ae86481633e83a845e81e6f7ad92..9050b343b558c6531d5b802a48d3cc8ff60c37cd 100644 --- a/kconfigs/Kconfig.ansible_cfg +++ b/kconfigs/Kconfig.ansible_cfg @@ -1,3 +1,18 @@ +config ANSIBLE_CFG_FILE + string "Ansible configuration file" + output yaml + default "$(TOPDIR_PATH)/ansible.cfg" + help + Path and filename to the Ansible configuration file. + + This option lets you specify the path and filename for the Ansible + configuration file. If the specified file already exists, it will not + be overwritten. Otherwise, kdevops will generate one using the settings + defined in this Kconfig menu. + + For more details, refer to the Ansible documentation: + https://docs.ansible.com/ansible/latest/reference_appendices/config.html#the-configuration-file + config ANSIBLE_CFG_CALLBACK_PLUGIN_SET_BY_CLI bool default $(shell, scripts/check-cli-set-var.sh ANSIBLE_CFG_CALLBACK_PLUGIN) diff --git a/playbooks/roles/ansible_cfg/tasks/main.yml b/playbooks/roles/ansible_cfg/tasks/main.yml index a85d525f21b1a8968e4da73df6882f57b83c32d2..142a14615374e30a4549cfc5f72ddd8eb7f8ceaa 100644 --- a/playbooks/roles/ansible_cfg/tasks/main.yml +++ b/playbooks/roles/ansible_cfg/tasks/main.yml @@ -14,5 +14,5 @@ - name: Generate kdevops ansible.cfg ansible.builtin.template: src: "ansible.cfg.j2" - dest: "{{ topdir_path }}/ansible.cfg" + dest: "{{ ansible_cfg_file }}" mode: '0755' -- 2.49.0