Last commit made on 2018-04-17
Get this branch:
git clone -b queue 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


Recent commits

8063911... 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: #1763512

c837ded... by Dan McDonald <email address hidden>

IMAGE-1097 cloud-init doesn't use sdc:routes metadata (#1)

8ef8733... by Mike Gerdts

DataSourceSmartOS: ephemeral drive should default to ext4

    ext3 is not able to support file system sizes that are needed in Joyent's
    cloud. This changes the default file system type from ext3 to ext4.

    LP: #1763511

679d030... by Mike Gerdts

DataSourceSmartOS: add locking

    cloud-init and mdata-get each have their own implementation of the SmartOS
    metadata protocol. If cloud-init and other services that call mdata-get are
    run concurrently, crosstalk on the serial port can cause them both to become

    This change makes it so that cloud-init uses the same cooperative locking
    scheme that's used by mdata-get, thus preventing cross-talk between
    mdata-get and cloud-init.

    For testing, a VM running on a SmartOS host and pyserial are required.
    pyserial remains commented in requirements.txt because most testers
    will not be running atop SmartOS.

    LP: #1746605

34ae5a4... by Mike Gerdts

DataSourceSmartOS: list() should always return a list

    If customer_metadata has no keys, the KEYS request returns an empty string.
    Callers of the list() method expect a list to be returned and will give a
    stack trace if this expectation is not met.

    LP: #1763480

2cbf88b... by Mike Gerdts

DataSourceSmartOS: hang when metadata service is down

    If the metadata service in the host is down while a guest that uses
    DataSourceSmartOS is booting, the request from the guest falls into the bit
    bucket. When the metadata service is eventually started, the guest has no
    awareness of this and does not resend the request. This results in
    cloud-init hanging forever with a guest reboot as the only recovery option.

    This fix updates the metadata protocol to implement the initialization
    phase, just as is implemented by mdata-get and related utilities. The
    initialization phase includes draining all pending data from the serial
    port, writing an empty command and getting an expected error message in
    reply. If the initialization phase times out, it is retried every five
    seconds. Each timeout results in a warning message: "Timeout while
    initializing metadata client. Is the host metadata service running?" By
    default, warning messages are logged to the console, thus the reason for a
    hung boot is readily apparent.

    LP: #1667735

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

c436e17... by Ryan Harper

cc_resizefs, util: handle no /dev/zfs

The zfs/zpool commands will hang for 10 seconds if /dev/zfs is not
present (bug 1760173). This is a common occurence for containers
using zfs as rootfs. Additionally handle missing zpool command or
other errors that may occur while executing the zpool command.