← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1867029] [NEW] Package ifupdown breaks network configuration by cloud-init

 

Public bug reported:

It appears the `ifupdown` package breaks networking configuration that
cloud-init would normally handle (?) on both providers. The result, if
you image an instance with the `ifupdown` package installed, is that the
image is not bootable by Azure/AWS. I'm not familiar with how
Azure/AWS/etc use cloud-init for network start up however. I'm filing
here for now, in case `cloud-init` needs to be more defensive against
`ifupdown`.

To reproduce with Packer (I confirmed this method):

* Add necessary Azure subscription env vars from `ifupdown-bug.json`
* `packer build ifupdown-bug.json`
* Try to boot an instance with resulting image
* Instance will never boot -- more specifically, networking never comes up. See `boot.log` for an example boot

To reproduce manually (only a guess, I did not confirm):

* Boot 18.04 ubuntu instance
* Install ifupdown
* Image the instance
* Try to boot instance using new image
* Instance won't boot

I hit this with Packer, creating new images for booting instances in
scaling groups -- `ifupdown` is brought in by `salt`. If this is
reproducible via manual installation, there could be some backup
images/snapshots that are unable to boot though.

This appears to be because cloud-init network start up operations are
broken by whatever `ifupdown` sysv/systemd scripts perform on boot. With
`ifupdown` installed on Azure, `eth0` does not get an IP address, the
instance never fully boots according to Azure, and it will enter an
error state. On AWS, the instance boots, but network operations like SSH
fail.

The `boot.log` is from Azure. Eventually `cloud-init` gives an exception
(see `exception.log`), but this seems like a secondary issue related to
networking being down.

I did try to upgrade cloud-init using nightly PPAs (version 20.1 I
believe), but no luck. This is on Ubuntu 18.04 instances from Azure
marketplace and AWS Canonical AMI, cloud-init version
`19.4-33-gbb4131a2-0ubuntu1~18.04.1`.

Related: https://github.com/Azure/WALinuxAgent/issues/1612

** Affects: cloud-init
     Importance: Undecided
         Status: New

** Attachment added: "cloud-init.tgz"
   https://bugs.launchpad.net/bugs/1867029/+attachment/5335794/+files/cloud-init.tgz

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1867029

Title:
  Package ifupdown breaks network configuration by cloud-init

Status in cloud-init:
  New

Bug description:
  It appears the `ifupdown` package breaks networking configuration that
  cloud-init would normally handle (?) on both providers. The result, if
  you image an instance with the `ifupdown` package installed, is that
  the image is not bootable by Azure/AWS. I'm not familiar with how
  Azure/AWS/etc use cloud-init for network start up however. I'm filing
  here for now, in case `cloud-init` needs to be more defensive against
  `ifupdown`.

  To reproduce with Packer (I confirmed this method):

  * Add necessary Azure subscription env vars from `ifupdown-bug.json`
  * `packer build ifupdown-bug.json`
  * Try to boot an instance with resulting image
  * Instance will never boot -- more specifically, networking never comes up. See `boot.log` for an example boot

  To reproduce manually (only a guess, I did not confirm):

  * Boot 18.04 ubuntu instance
  * Install ifupdown
  * Image the instance
  * Try to boot instance using new image
  * Instance won't boot

  I hit this with Packer, creating new images for booting instances in
  scaling groups -- `ifupdown` is brought in by `salt`. If this is
  reproducible via manual installation, there could be some backup
  images/snapshots that are unable to boot though.

  This appears to be because cloud-init network start up operations are
  broken by whatever `ifupdown` sysv/systemd scripts perform on boot.
  With `ifupdown` installed on Azure, `eth0` does not get an IP address,
  the instance never fully boots according to Azure, and it will enter
  an error state. On AWS, the instance boots, but network operations
  like SSH fail.

  The `boot.log` is from Azure. Eventually `cloud-init` gives an
  exception (see `exception.log`), but this seems like a secondary issue
  related to networking being down.

  I did try to upgrade cloud-init using nightly PPAs (version 20.1 I
  believe), but no luck. This is on Ubuntu 18.04 instances from Azure
  marketplace and AWS Canonical AMI, cloud-init version
  `19.4-33-gbb4131a2-0ubuntu1~18.04.1`.

  Related: https://github.com/Azure/WALinuxAgent/issues/1612

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1867029/+subscriptions


Follow ups