I am passing in a list, ‘vmware_hosts’, to the loop in the following task in order to substitute values for the name: and hostname: parameters. I have found only the sub is being made for name: but not for hostname:.
name: Set powerstate of a virtual machine to poweron
community.vmware.vmware_guest:
hostname: “{{ vc_host_id }}”
username: “{{ username }}”
password: “{{ survey_password }}”
name: “{{ item }}”
customization:
existing_vm: true
dns_servers:
I’m inclined to believe someone is confused by the two hostname: parameters, and would need to see some job log evidence supporting the claim that “the sub[stitution] is being made for name: but not for hostname:.” In any case, something from the job log would/should be informative.
I’ve found in situations like this it’s helpful to change to module to ansible.builtin.debug: immediately followed by msg: |. You’d then need to play with indentation a little to make it informative.
According the docs, the name: param is for the virtual machine and hostname: under customization: is for setting the hostname. I was able to register the stdout of the task, capturing it
to a variable. The substitutions are being made.
The hostname is not being updated on the vm though and that’s causing a glitch downstream in the next job template in the workflow.
I’m not sure if I should move the state: param near the beginning of the task.