Ansible can't set hostname
Im facing a problem with ansible. I'm trying to set the local hostname of the vm to the ansible inventory name.
my task looks like this:
- name: set hostname to {{ inventory_hostname }}
hostname:
name:
- "{{inventory_hostname}}"
when i run the playbook i get the following error:
fatal: [sl-testvm101]: FAILED! => {"changed": false, "msg": "Command failed rc=1, out=, err=\u001b[0;1;31mCould not set property: Invalid hostname '['sl-testvm101']'\u001b[0m\n"}
the target host is ubuntu 20.04.1
Any idea?
name:
- "{{inventory_hostname}}"
This is a YAML list; there are places where you can use either a list or a string, but this is not one of them. This parameter only accepts a single string, so that's what you should pass. Otherwise the module tries to set the hostname to a string representation of the list, which is not a valid hostname and fails.
name: "{{ inventory_hostname }}"