Re: [RFC PATCH] Makefile: terraform wasn't building the kdevops_nodes file

Chuck Lever <[email protected]> Sun, 28 Sep 2025 16:30:07 -0400
Newsgroups dev.linux.lists.kdevops
Organization kernel.org
Message-ID <[email protected]>
On 9/28/25 12:53 PM, Daniel Gomez wrote:
> I see! Thanks for reporting. Indeed my fix introduced this bug. I think
> it'd be best to move KDEVOPS_NODES just after we assign the filename to it
> (provision.Makefile -> guestfs.Makefile):
> 
> diff --git a/Makefile b/Makefile
> index 3653591d..26615b22 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -144,16 +144,16 @@ endif
>  DEFAULT_DEPS += $(ANSIBLE_CFG_FILE)
>  DEFAULT_DEPS += $(ANSIBLE_INVENTORY_FILE)
> 
> -ifneq (,$(KDEVOPS_NODES))
> -DEFAULT_DEPS += $(KDEVOPS_NODES)
> -endif
> -
>  include scripts/provision.Makefile
>  include scripts/firstconfig.Makefile
>  include scripts/systemd-timesync.Makefile
>  include scripts/journal-server.Makefile
>  include scripts/update_etc_hosts.Makefile
> 
> +ifneq (,$(KDEVOPS_NODES))
> +DEFAULT_DEPS += $(KDEVOPS_NODES)
> +endif
> +
>  KDEVOPS_BRING_UP_DEPS += $(KDEVOPS_BRING_UP_DEPS_EARLY)
>  KDEVOPS_BRING_UP_DEPS += $(KDEVOPS_PROVISIONED_DEVCONFIG)

The above snippet seems to work without any new issues.


> @@ -264,13 +264,13 @@ ifneq (,$(KDEVOPS_BRING_UP_DEPS))
>  include scripts/bringup.Makefile
>  endif
> 
> -$(ANSIBLE_INVENTORY_FILE): .config $(ANSIBLE_CFG_FILE) $(KDEVOPS_HOSTS_TEMPLATE) $(KDEVOPS_EXTRA_VARS)
> +$(ANSIBLE_INVENTORY_FILE): .config $(ANSIBLE_CFG_FILE) $(KDEVOPS_HOSTS_TEMPLATE) $(KDEVOPS_NODES) $(KDEVOPS_EXTRA_VARS)
>         $(Q)ansible-playbook $(ANSIBLE_VERBOSE) --connection=local \
>                 --inventory localhost, \
>                 $(KDEVOPS_PLAYBOOKS_DIR)/gen_hosts.yml \
>                 --extra-vars=@./extra_vars.yaml
> 
> -$(KDEVOPS_NODES): .config $(ANSIBLE_CFG_FILE) $(KDEVOPS_NODES_TEMPLATE) $(KDEVOPS_EXTRA_VARS)
> +$(KDEVOPS_NODES): .config $(ANSIBLE_CFG_FILE) $(ANSIBLE_INVENTORY_FILE) $(KDEVOPS_NODES_TEMPLATE) $(KDEVOPS_EXTRA_VARS)

With this snippet, "make" emits a new complaint:

TASK [ansible_cfg : Update ansible.cfg access modification time so make
sees it updated]
***************************************************************************************************************************************************
changed: [localhost]

PLAY RECAP
*********************************************************************************************************************************************************************************************************************************
localhost                  : ok=4    changed=2    unreachable=0
failed=0    skipped=0    rescued=0    ignored=0

make: Circular terraform/aws/nodes.tf <-
/home/cel/src/kdevops/buildbot-configs/hosts dependency dropped.

PLAY [Generate target node configuration]


But otherwise, "make bringup" works as expected.


-- 
Chuck Lever