Created by Robert C Jennings on 2016-04-27 and last modified on 2016-04-28
Get this branch:
bzr branch lp:~rcj/cloud-init/lp1575938
Only Robert C Jennings can upload to this branch. If you are Robert C Jennings please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Robert C Jennings

Recent revisions

1214. By Robert C Jennings on 2016-04-28

Tweak instance path name based on review feedback

r1213 (Ensure instance path is a child of cloud_dir) stripped the
leading path separator. This patch goes further by replacing all
path seperators with '_' which will avoid a deep directory structure
under /var/lib/cloud/instances.

1213. By Robert C Jennings on 2016-04-27

Ensure instance path is a child of cloud_dir

A cloud has an instance-id metadata value in the form:


The leading '/' causes /var/lib/cloud/instance to link to
/Compute-$TENANT/$CLOUDUSERNAME/$UUID rather than

This patch strips the leading path separator from the instance-id.

1212. By Scott Moser on 2016-04-15

network: do not write interface as 'auto' from ip= on command line.

When ip= on the kernel command line defines the networking, set
those network devices to be manually controlled, instead of 'auto'.

The reason for this is that if they're marked as 'auto':
 a.) a second attempt will be made to ifup them.
 b.) they'll be brought down on shutdown

'b' is problematic on network root filesystem.

Also this picks up 2 changes from curtin's net module:
  - Cleanup newline logic so we always have a clean '\n\n' between stanza
  - Add a unittest to validate bonding network config render, specifically
    when to emit auto $iface for dependent bond slaves.

1211. By Scott Moser on 2016-04-15

apply networking less often

Do not apply networking configuration whenever a previous datasource
has been loaded from disk and found to be valid (via positive
 return 'check_instance_id' or user configuration of manual_cache_clean).

This effectively means that we apply fallback networking only once
per instance rather than every boot on any datasource with
'check_instance_id' implemented.

1210. By Scott Moser on 2016-04-15

networking: no longer delete eth0.cfg on debian/ubuntu

Ubuntu cloud images in created a file during build that
would interfere with cloud-init's discovered or rendered networking.
To avoid the issues, cloud-init was deleting
/etc/network/interfaces.d/eth0.cfg .

The build process no longer creates this file.
However, to address any existing files cloud-init will still remove
the file if it has known content and warn otherwise.

1209. By Scott Moser on 2016-04-14

fallback net config: do not consider devices starting with 'veth'

Just skip devices that are named veth*.
The fix here is to ignore lxd created devices, but any other veth
device that is created at this point in boot is probably not the
right interface to dhcp on.

1208. By Scott Moser on 2016-04-13

phone_home: allow usage of fqdn

This simply allows the phone_home template to pass the systems fully
qualified domain name.

1207. By Scott Moser on 2016-04-13

chef: straighten out validation_cert and validation_key

Now, validation_key is always a path to a file, as it is in
chef's client.rb syntax.

validation_cert is always the *content* of that file that should
be written. However, if validation_cert is the string "system",
then we do not write that value, but rather assume the file exists.

1206. By Scott Moser on 2016-04-13

skip bridges when generating fallback networking

It does not make sense to consider bridges when searching for fallback
networking. If the system is configured with a bridge, then its probably
for some purpose other than to get to a metadata service.

Considering the bridge could make cloud-init pick the wrong device on reboot.

1205. By Scott Moser on 2016-04-12

rh_subscription: only check subscription if configured

The rh_subscription config module would attempt to connect to the RHN servers
even when no config is provided.
Now, instead check to make sure that valid config is provided first.
That consists of username and password or a activation key.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.