Created by Robert C Jennings and last modified
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

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

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

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

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

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

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

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

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

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

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.