How come my hostname isn't set to the FQDN with cloud-init when using `prefer_fqdn_over_hostname`?

  • ,

    If both fqdn and hostname are set, it is distro dependent whether hostname or fqdn is used, unless the prefer_fqdn_over_hostname option is true and fqdn is set it will force the use of FQDN in all distros, and if false then it will force the hostname use.

    In my cloud-init.cfg I have,

    hostname: "host-10-2-65-89"
    fqdn: ""
    prefer_fqdn_over_hostname: true

    But when I run this my hostname is set to host-10-2-65-89. Here is the log, and you can see it explicitly says

    249 -[DEBUG]: Setting the hostname to (host-10-2-65-89)
    250 -[DEBUG]: Reading from /etc/hostname (quiet=False)
    250 -[DEBUG]: Read 7 bytes from /etc/hostname
    250 -[DEBUG]: Writing to /etc/hostname - wb: [644] 16 bytes
    250 -[DEBUG]: Non-persistently setting the system hostname to host-10-2-65-89
    250 -[DEBUG]: Running command ['hostname', 'host-10-2-65-89'] with allowed return codes [0] (shell=False, capture=True)
    256 -[DEBUG]: Atomically writing to file /var/lib/cloud/data/set-hostname (via temporary file /var/lib/cloud/data/tmpaxqv667c) - w: [644] 80 bytes/chars

    The contents of /var/lib/cloud/data/set-hostname

     "fqdn": "",
     "hostname": "host-10-2-65-89"

    The contents of /var/lib/cloud/data/previous-hostname

    I'm using Cloud-init v. 21.4-0ubuntu1~20.04.1

    I've tried deleting all but the FQDN and it still doesn't set the /etc/hostname to the fqdn.


    I was getting silent failures because the hostname was

    Instead of

    What actually happens is,

    $ sudo hostname
    hostname: the specified hostname is invalid

    Background, what I was actually doing was using Terraform,

    fqdn: "${fqdn}"

    And then setting the fqdn like this,

    fqdn = openstack_networking_port_v2.port_company.dns_assignment[0].fqdn

    But the problem is the terraform was return the actual FQDN,

    But you can't provide that to hostname. My solution was to remove the dot (.) with

    fqdn = trimsuffix(

Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2