Last commit made on 2018-07-10
Get this branch:
git clone -b ubuntu/artful
Members of cloud-init commiters can upload to this branch. Log in for directions.

Branch merges

Branch information


Recent commits

4274cdb... by Scott Moser on 2018-07-10

update changelog: add sru bug ref in changelog, remove individual ref.

Just remove the reference to bug 1780481 that was added to
debian/changelog. Also, add a reference (re-using) the SRU bug 1777912.

(cherry picked from commit b07ebf52e94fa5f94708f86937af4dba382168ba)

8704159... by Chad Smith on 2018-07-09

releasing cloud-init version 18.3-9-g2e62cb8a-0ubuntu1~17.10.1

7cad283... by Chad Smith on 2018-07-09

update changelog (New upstream snapshot 18.3-9-g2e62cb8a).

d3688d7... by Chad Smith on 2018-07-09

merge from master at 18.3-9-g2e62cb8a

2e62cb8... by Chad Smith on 2018-07-09

docs: note in rtd about avoiding /tmp when writing files

LP: #1727876

c1a75a6... by Chad Smith on 2018-07-09

ubuntu,centos,debian: get_linux_distro to align with platform.dist

A recent commit added get_linux_distro to replace the deprecated python
platform.dist module behavior before it is dropped from python. It added
behavior that was compliant on OpenSuSE and SLES, by returning
(<distro_name>, <distro_version>, <cpu-arch>).

Fix get_linux_distro to behave more like the specific distribution's
platform.dist on ubuntu, centos and debian, which will return the
distribution release codename as the third element instead of <cpu-arch>.

SLES and OpenSUSE will retain their current behavior.

Examples follow:
('sles', '15', 'x86_64')
('opensuse', '42.3', 'x86_64')
('debian', '9', 'stretch')
('ubuntu', '16.04', 'xenial')
('centos', '7', 'Core')

LP: #1780481

802c1d5... by Marc Tamsky <email address hidden> on 2018-07-03

Fix boothook docs on environment variable name (INSTANCE_I -> INSTANCE_ID)

be9ecc1... by Chad Smith on 2018-07-01

update_metadata: a datasource can support network re-config every boot

Very basic type definitions are now defined to distinguish 'boot'
events from 'new instance (first boot)'. Event types will now be handed
to a datasource.update_metadata method which can determine whether
to refresh its metadata and re-render configuration based on that
source event.

A datasource can 'subscribe' to an event by setting up the update_events
attribute on the datasource class which describe what config scope is
updated by a list of matching events. By default datasources will have
the following update_events: {'network': [EventType.BOOT_NEW_INSTANCE]}
This setting says the datasource will re-write network configuration only
on first boot of a new instance or when the instance id changes.

New methods are now present on the datasource:
  - clear_cached_attrs: Resets cached datasource attributes to values
    listed in datasource.cached_attr_defaults. This is performed prior to
    processing a fresh metadata process to avoid keeping old/invalid
    cached data around.
  - update_metadata: accepts source_event_types to determine if the
    metadata should be crawled again and processed

5858136... by Scott Moser on 2018-06-28

tests: drop salt-minion integration test

The salt minion integration test as we had it did not do a whole lot
more than the unit tests on that module did. Additionally, it caused
some transient failures at least in Ubuntu 18.04.

At a future date we may choose to add an integration test that installs
salt-minion and salt server and configures it to be a better test.

LP: #1778737

bb2cc5d... by Scott Moser on 2018-06-28

Retry on failed import of gpg receive keys.

When cloud-init tries to read a key from a keyserver, it will now
retry twice with 1 second in between each.

Retries of import are done by default because keyservers can be
unreliable. Additionally, there is no way to determine the difference
between a non-existant key and a failure. In both cases gpg (at least
2.2.4) exits with status 2 and stderr: "keyserver receive failed: No data"
It is assumed that a key provided to cloud-init exists on the keyserver so
re-trying makes better sense than failing.

Examples of things that made receive keys particularly unreliable:

There is also a change here from 'gpg --recv' to the longer
'gpg --recv-keys'. That option is functional and working back to
centos 6 (gpg 2.0.14) and ubuntu 14.04 (gpg 1.4.16).