~itorres/cloud-init:master

Last commit made on 2019-03-19
Get this branch:
git clone -b master https://git.launchpad.net/~itorres/cloud-init
Only Ignacio Torres Masdeu can upload to this branch. If you are Ignacio Torres Masdeu please log in for upload directions.

Branch merges

Branch information

Name:
master
Repository:
lp:~itorres/cloud-init

Recent commits

5e5894d... by Dan Watkins on 2019-03-19

Add ubuntu_drivers config module

The ubuntu_drivers config module enables usage of the 'ubuntu-drivers'
command. At this point it only serves as a way of installing NVIDIA
drivers for general purpose graphics processing unit (GPGPU)
functionality.

Also, a small usability improvement to get_cfg_by_path to allow it to
take a string for the key path
  "toplevel/second/mykey"
in addition to the original:
  ("toplevel", "second", "mykey")

6d58bd8... by Dan Watkins on 2019-03-18

doc: Refresh Azure walinuxagent docs

- Remove outdated waagent.conf recommendations
- Recommend using Provisioning.UseCloudInit
- Reorganise sections so walinuxagent recommendations are easier to find

200b0ac... by Dan Watkins on 2019-03-18

tox: bump pylint version to latest (2.3.1)

The previous version was emitting errors due to an incompatibility with
one of its dependencies.

(We could have pinned the dependency instead, but staying current on
pylint is a worthy goal in and of itself.)

f2fd6ea... by Dan Watkins on 2019-03-14

DataSource: move update_events from a class to an instance attribute

Currently, DataSourceAzure updates self.update_events in __init__. As
update_events is a class attribute on DataSource, this updates it for
all instances of classes derived from DataSource including those for
other clouds. This means that if DataSourceAzure is even instantiated,
its behaviour is applied to whichever data source ends up being used for
boot.

To address this, update_events is moved from a class attribute to an
instance attribute (that is therefore populated at instantiation time).
This retains the defaults for all DataSource sub-class instances, but
avoids them being able to mutate the state in instances of other
DataSource sub-classes.

update_events is only ever referenced on an instance of DataSource (or a
sub-class); no code relies on it being a class attribute. (In fact,
it's only used within methods on DataSource or its sub-classes, so it
doesn't even _need_ to remain public, though I think it's appropriate
for it to be public.)

DataSourceScaleway is also updated to move update_events from a
class attribute to an instance attribute, as the class attribute would
now be masked by the DataSource instance attribute.

LP: #1819913

3acaacc... by Robert Schweikert on 2019-03-12

net/sysconfig: Handle default route setup for dhcp configured NICs

When the network configuration has a default route configured and
another network device that is configured with dhcp, SUSE sysconfig
output should not accept the default route provided by the dhcp
server.

LP: #1812117

1e6a72b... by Dan Watkins on 2019-03-12

DataSourceEc2: update RELEASE_BLOCKER to be more accurate

Our previous understanding of the upgrade issue was incomplete; it turns
out the only change we need is the one now outlined.

3554ffe... by Ryan Harper on 2019-03-08

cloud-init-per: POSIX sh does not support string subst, use sed

cloud-init-per is run via /bin/sh which requires POSIX shell
compliance and does not implement string substitution like
bash. Replace these calls with use of sed.

LP: #1819222

7c07af2... by Scott Moser on 2019-03-06

Support locking user with usermod if passwd is not available.

In some cases, the 'passwd' command might not be available, but
'usermod' might be. In debian systems both are provided by the
'passwd' package. In Redhat/Centos passwd comes from 'passwd' package
while 'usermod' comes from `shadow-utils`

This should just support either one with no real cost other than
the check.

43f5850... by zolti on 2019-03-06

Example for Microsoft Azure data disk added.

109772c... by Dan Watkins on 2019-03-04

clean: correctly determine the path for excluding seed directory

Previously, init.paths.cloud_dir has a trailing slash, which meant that
"/var/lib/cloud//seed" was being compared to "/var/lib/cloud/seed" and
(of course), never matching.

In this commit, switch to using os.path.join to avoid this case (and
update the tests to catch it in future).

LP: #1818571