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 }}"