~slystopad/cloud-init:merge/chpasswd-data-as-list

Last commit made on 2017-03-09
Get this branch:
git clone -b merge/chpasswd-data-as-list https://git.launchpad.net/~slystopad/cloud-init
Only Serg Lystopad can upload to this branch. If you are Serg Lystopad please log in for upload directions.

Branch merges

Branch information

Name:
merge/chpasswd-data-as-list
Repository:
lp:~slystopad/cloud-init

Recent commits

11b85e4... by Serg Lystopad

Data for chpasswd in list format

By default cc_set_passwords supports list of pairs specified
as multiline string

chpasswd:
  list: |
    user:pass1
    user015:R

This patch adds support for user/pairs as yaml list:

chpasswd:
  list:
    - user:pass1
    - user015:R

LP: #1665773
LP: #1665694

5a0bee7... by Serg Lystopad

doc: Fix configuration example for cc_set_passwords module.

The documentation indicated chpasswd/list should be a list when
the code only accepts a string.

LP: #1665773

1d751a6... by Lars Kellogg-Stedman

net: support both ipv4 and ipv6 gateways in sysconfig.

Previously, cloud-init would throw an exception if an interface had
both ipv4 and ipv6 addresses and a default gateway for each address
family. This change allows cloud-init to correctly configure
interfaces in this situation.

LP: #1669504

657fd40... by Lars Kellogg-Stedman

net: do not raise exception for > 3 nameservers

log a warning rather than raising ValueError if we see more than three
nameserver addresses.

LP: #1670052

1c795b9... by Scott Moser

ds-identify: report cleanups for config and exit value.

Change policy so that 'report' can be overridden.
In xenial we had set the builtin default to be 'report', expecting
that Ubuntu core would install config that changed it to 'search'.
However, if report was already set, there was no way to unset it.

The change here is to make 'report' basically 'search-dryrun', so
that one or the other can be set.

The other change here is that report would actually exit disabled
if it did not find a datasource and notfound=disabled. That was
unexpected and would turn cloud-init off, which is not what we wanted.

Additionally, consistently use 'enabled' or 'disabled' versus
'enable' and 'disable'.

LP: #1669949

c81ea53... by Scott Moser

ds-identify: move default setting for Ec2/strict_id to a global.

Rather than having the dscheck_Ec2 just know the setting, move
it up to a more formal declaration. This will make it look more
clean when a distro carries a patch to change it to warn.

d914ed8... by Scott Moser

ds-identify: record not found in cloud.cfg and always add None.

On a 'not found' result, was not being written at all.
That had the unintended effect of '--force' not working.
Now, on a 'not found' result:
 - if reporting: write the list as found (with just 'None').
 - if not reporting: only report that there was nothing found.
   this means that the warning cloud-init will write about ds-identify
   failing to find a datasource will be written, but cloud-init will
   still search its fully configured list.

79db2e2... by Scott Moser

Support warning if the used datasource is not in ds-identify's list.

If ds-identify is in report mode, and the datasource that is found
is not in the list, then warn the user of this situation.

51a2455... by Scott Moser

tools/ds-identify: make report mode write namespaced results.

Now, when ds-identify runs in report mode, it still writes to
/run/cloud-init.cfg as search does, but it will namespace the
result under the top level 'di_report' entry.

ade8c2e... by Scott Moser

Move warning functionality to cloudinit/warnings.py

This moves the warning code that was added specifically for
EC2 into a generic path at cloudinit/warnings.py.

It also adds support for writing warning files into the
warnings directory to be shown by Z99-cloudinit-warnings.sh.