~mgerdts/cloud-init:lp1765085

Last commit made on 2018-04-20
Get this branch:
git clone -b lp1765085 https://git.launchpad.net/~mgerdts/cloud-init
Only Mike Gerdts can upload to this branch. If you are Mike Gerdts please log in for upload directions.

Branch merges

Branch information

Name:
lp1765085
Repository:
lp:~mgerdts/cloud-init

Recent commits

dd43702... by Mike Gerdts

remove extraneous debug statements

65650f3... by Mike Gerdts

smoser feedback: clarify hostname

6c014a7... by Mike Gerdts

DataSourceSmartOS: sdc:hostname is ignored

There are three potential sources of the hostname, one of which is
documented SmartOS's vmadm(1M) via the hostname property. That
property's value is retrieved via the sdc:hostname key. The other
two sources for the hostname are a hostname key in customer_metadata
and the VM's uuid (sdc:uuid). Of these three, the sdc:hostname value
is not used in a meaningful way by DataSourceSmartOS.

This fix changes the fallback mechanism when hostname is not
specified in customer_metadata. The order of precedence for setting
the hostname is now 1) hostname in customer_metadata,
2) sdc:hostname, then 3) sdc:uuid.

LP: #1765085

49b562c... by Chad Smith

tools: Fix make-tarball cli tool usage for development

This tool is used to assist during the creation of ubuntu packages for
release testing. Address the following on the command-line:
 * --help option now print usage
 * Add --orig-tarball which creates named output file
   cloud-init_<release-version>.orig.tar.gz
 * drop unused --verbose option

4b86ab9... by Scott Moser

renderer: support unicode in render_from_file.

If a file passed to render_from_file had non-ascii text then
jinja in python2 would decode as ascii, which would cause
UnicodeDecodeError. This issue can be re-created in python2
with just:
 'can\xe2\x80\x99t'.decode()

The solution here is to explicitly pass in unicode supporting
type (py3 str, py2 unicode). Those are six.text_type.
Then jinja does not try to decode.

The reason we hit this is that load_file calls decode_binary.
decode_binary believes it has no work to do if it got a six.string_types.
  isinstance('can\xe2\x80\x99t', six.string_types) == True
So it returns the original string which will blow up for jinja.

Our fix here then is to load the file in binary mode and explicitly
decode it to utf-8. Then in python2 we'll have a unicode type
and in python3 we'll have a string type.

c6dff58... by Ryan Harper

Implement ntp client spec with auto support for distro selection

Add a base NTP client configuration dictionary and allow Distro
specific changes to be merged. Add a select client function which
implements logic to preferr installed clients over clients which
need to be installed. Also allow distributions to override the
cloud-init defaults.

LP: #1749722

0f77456... by Scott Moser

Apport: add Brightbox, IBM, LXD, and OpenTelekomCloud to list of clouds.

When filing a bug with apport, this allows the user to choose
Brightbox, IBM, LXD, or OpenTelekomCloud as their cloud.

01ff5c2... by Chad Smith

tests: fix ec2 integration network metadata validation

Fix integraiton test logic for ec2 to look for network and
availability-zone data under the key path
'ds'=>'meta-data' instead of just 'ds' when parsing instance-data.json.

05926e4... by Chad Smith

tests: fix integration tests to support lxd 3.0 release

Integration tests previously had a logic path that was unexercised on
jenkins because we were on an older version of lxc. With an upgrade to lxd
version 3.0 we need to bump pylxd dependency pin and fix a typo in
integration tests which checked the lxd version.

b27f713... by do3meli

correct documentation to match correct attribute name usage.

LP: #1420018