diff options
Diffstat (limited to 'cloudinit/config/cc_set_hostname.py')
-rw-r--r-- | cloudinit/config/cc_set_hostname.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/cloudinit/config/cc_set_hostname.py b/cloudinit/config/cc_set_hostname.py index a5b989d0..4cf6e448 100644 --- a/cloudinit/config/cc_set_hostname.py +++ b/cloudinit/config/cc_set_hostname.py @@ -91,7 +91,7 @@ def handle(name, cfg, cloud, log, _args): if hostname_fqdn is not None: cloud.distro.set_option("prefer_fqdn_over_hostname", hostname_fqdn) - (hostname, fqdn) = util.get_hostname_fqdn(cfg, cloud) + (hostname, fqdn, is_default) = util.get_hostname_fqdn(cfg, cloud) # Check for previous successful invocation of set-hostname # set-hostname artifact file accounts for both hostname and fqdn @@ -109,6 +109,10 @@ def handle(name, cfg, cloud, log, _args): if not hostname_changed: log.debug("No hostname changes. Skipping set-hostname") return + if is_default and hostname == "localhost": + # https://github.com/systemd/systemd/commit/d39079fcaa05e23540d2b1f0270fa31c22a7e9f1 + log.debug("Hostname is localhost. Let other services handle this.") + return log.debug("Setting the hostname to %s (%s)", fqdn, hostname) try: cloud.distro.set_hostname(hostname, fqdn) |