Azure: bouncing of network device/publishing of hostname fails on artful

Bug #1722668 reported by Scott Moser on 2017-10-10
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
cloud-init
Medium
Unassigned
cloud-init (Ubuntu)
Critical
Unassigned

Bug Description

Launch an instance on Azure (20171005.1) and I find in /var/log/cloud-init.log
the following:

2017-10-10 21:16:25,598 - DataSourceAzure.py[WARNING]: Failed publishing hostname: Unexpected error while running command.
Command: ['sh', '-xc', 'i=$interface; x=0; ifdown $i || x=$?; ifup $i || x=$?; exit $x']
Exit code: 127
Reason: -
Stdout: -
Stderr: -
2017-10-10 21:16:25,598 - util.py[WARNING]: handling set_hostname failed
2017-10-10 21:16:25,598 - util.py[DEBUG]: handling set_hostname failed
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceAzure.py", line 286, in bounce_network_with_azure_hostname
    prev_hostname=previous_hostname)
  File "/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceAzure.py", line 637, in perform_hostname_bounce
    'env': env})
  File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 2238, in log_time
    ret = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 1847, in subp
    cmd=args)
cloudinit.util.ProcessExecutionError: Unexpected error while running command.
Command: ['sh', '-xc', 'i=$interface; x=0; ifdown $i || x=$?; ifup $i || x=$?; exit $x']
Exit code: 127
Reason: -
Stdout: -
Stderr: -

The command output is not captured, so we see in /var/log/cloud-init-output.log:

+ i=eth0
+ x=0
+ ifdown eth0
sh: 1: ifdown: not found
+ x=127
+ ifup eth0
sh: 1: ifup: not found
+ x=127
+ exit 127

This is not surprising, there is no 'ifup' or 'ifdown', so the attempt to
"bounce" the network device in order to re-publish the hostname that
has been set will fail.

ProblemType: Bug
DistroRelease: Ubuntu 17.10
Package: cloud-init 17.1-17-g45d361cb-0ubuntu1
ProcVersionSignature: Ubuntu 4.13.0-12.13-generic 4.13.3
Uname: Linux 4.13.0-12-generic x86_64
ApportVersion: 2.20.7-0ubuntu2
Architecture: amd64
CloudName: Azure
Date: Tue Oct 10 21:45:09 2017
PackageArchitecture: all
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=C.UTF-8
 SHELL=/bin/bash
SourcePackage: cloud-init
UpgradeStatus: No upgrade log present (probably fresh install)
user_data.txt:

Related bugs:
 * bug 1674685: hostname ddns update is not done on azure with built-in agent path.
 * bug 1574963: juju2 lxd launch hostname reverse lookup inconsistent

Related branches

Scott Moser (smoser) wrote :
summary: - Azure: bouncing of network device fails on artful
+ Azure: bouncing of network device/publishing of hostname fails on artful
Changed in cloud-init:
status: New → Confirmed
Changed in cloud-init (Ubuntu):
status: New → Confirmed
Changed in cloud-init:
importance: Undecided → Medium
Changed in cloud-init (Ubuntu):
importance: Undecided → Medium
Scott Moser (smoser) wrote :

Note that bug 1722668 in cloud-init means there is still work to do
after this bug is fixed. hostnames wont be "published" correctly, but
this bug is more severe. We'll work the other in parallel.

Changed in cloud-init (Ubuntu):
importance: Medium → Critical
milestone: none → ubuntu-17.10
Scott Moser (smoser) on 2017-10-11
description: updated
Scott Moser (smoser) wrote :

I linked a couple other bugs here.
What I think we should do is have local datasources set the hostname (`hostname <foo>`) and update the system's config (write to /etc/hostname) at local time frame once per instance.

Then, on that first instance boot, the dhcp would occur with the cloud-provider provided hostname.

That could be overridden by local system config (preserve_hostname) so that it would not happen.

It seems to me to make sense right now for this to *only* happen at local time frame.

Scott Moser (smoser) on 2017-12-21
Changed in cloud-init:
status: Confirmed → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cloud-init - 17.2-9-gdf24daa8-0ubuntu1

---------------
cloud-init (17.2-9-gdf24daa8-0ubuntu1) bionic; urgency=medium

  * New upstream snapshot.
    - tests: update apt sources list test [Joshua Powers]
    - tests: clean up image properties [Joshua Powers]
    - tests: rename test ssh keys to avoid appearance of leaking private keys.
      [Joshua Powers]
    - tests: Enable AWS EC2 Integration Testing [Joshua Powers]
    - cli: cloud-init clean handles symlinks [Chad Smith] (LP: #1741093)
    - SUSE: Add a basic test of network config rendering. [Robert Schweikert]
    - Azure: Only bounce network when necessary. [Chad Smith] (LP: #1722668)
    - lint: Fix lints seen by pylint version 1.8.1. [Chad Smith]

 -- Scott Moser <email address hidden> Mon, 15 Jan 2018 06:42:30 -0500

Changed in cloud-init (Ubuntu):
status: Confirmed → Fix Released

This bug is believed to be fixed in cloud-init in 18.1. If this is still a problem for you, please make a comment and set the state back to New

Thank you.

Changed in cloud-init:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers