~larsks/cloud-init:bz/1542578

Last commit made on 2018-05-22
Get this branch:
git clone -b bz/1542578 https://git.launchpad.net/~larsks/cloud-init
Only Lars Kellogg-Stedman can upload to this branch. If you are Lars Kellogg-Stedman please log in for upload directions.

Branch merges

Branch information

Name:
bz/1542578
Repository:
lp:~larsks/cloud-init

Recent commits

e65b805... by Lars Kellogg-Stedman

cc_mounts: do not add devices to fstab that are already configured

do not add new entries to /etc/fstab for devices that already have an
existing fstab entry.

Resolves: rhbz#1542578

b4ae0e1... by Scott Moser

ds-identify: ensure that we have certain tokens in PATH.

SuSE builds were not getting a PATH set in generator's environment.
This may seem like mis-configuration on the system, but caused ds-identify
to fail to find blkid (or any other program).

The change here just ensures that we get /sbin /usr/sbin /bin /usr/bin
into the PATH when main is run.

LP: #1771382

327af4a... by Joshua Powers

tests: enable Ubuntu Cosmic in integration tests

30e730f... by Scott Moser

read_file_or_url: move to url_helper, fix bug in its FileResponse.

The result of a read_file_or_url on a file and on a url would differ
in behavior.
  str(UrlResponse) would return UrlResponse.contents.decode('utf-8')
while
  str(FileResponse) would return str(FileResponse.contents)

The difference being "b'foo'" versus "foo".

As part of the general goal of cleaning util, move read_file_or_url
into url_helper.

2dab704... by Ryan Harper

cloud_tests: help pylint

pylint missed finding a typo in the lxd platform because it could not
determine that the variable was being used was a string. The variable
was set by loading a yaml file which pylint couldn't know that it
would be a string. In these cases, we can be more explicit.

13f7f4e... by Scott Moser

flake8: fix flake8 errors in previous commit.

c249432... by Stephen Ford <email address hidden>

typos: Fix spelling mistakes in cc_mounts.py log messages

This also makes some of the messages more consistent.

589b542... by Joshua Powers

tests: restructure SSH and initial connections

The SSH function was retrying and waiting for SSH for over an
hour when an SSH connection was failing to be established. This
reduces the amount of retries and time between each retry to
prevent tests from running for hours.

Also restructures how waiting for the system works: the system
will attempt to SSH up to the boot timeout time by catching
SSH connection failures and retrying until the timeout is
reached. If the limit is reached now an exception is thrown
to abort the test.

Drive by - this also fixes printing of the instance name when
collecting the console log, rather than showing a Python object
address.

Fixes LP: #1758409

0d7ee55... by Scott Moser

ds-identify: recognize container-other as a container, test SmartOS.

In playing with a SmartOS container I found that ds-identify did
not identify the container there as a container. Systemd-detect-virt
identifies it as 'container-other'.

Also here are tests for ds-identify for the SmartOS platform
identification, and some indentation fixes in ds-identify.

d5374bb... by Scott Moser

cloud-config.service: run After snap.seeded.service.

This makes cloud-config.service (and as a result cloud-final.service)
run After snap.seeded.service. This is required to ensure that
pre-seeded snaps can be used by cloud-init or user-data input.

The snap.seeded.service was added to snapd at:
  https://github.com/snapcore/snapd/pull/5124

Note that the following would be a workaround:
 snap:
  commands:
   00: snap wait system seed.loaded

LP: #1767131