summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-03-10Further fix regression to support 'password' for default user.Scott Moser
The adjusted change did not support #cloud-config password: passw0rd This correctly fixes that regression.
2017-03-10fix regression when no chpasswd/list was provided.Scott Moser
This regression was caused by my rework of Sergio's branch. The change now still works when there is no chpasswd/list provided.
2017-03-09Support chpasswd/list being a list in addition to a string.Sergio Lystopad
cc_set_passwords previously supported 'list' as a multiline string: chpasswd: list: | user:pass1 user015:R This patch adds support for user/pairs as a list: chpasswd: list: - user:pass1 - user015:R LP: #1665694
2017-03-07doc: Fix configuration example for cc_set_passwords module.Sergio Lystopad
The documentation indicated chpasswd/list should be a list when the code only accepts a string. LP: #1665773
2017-03-07net: support both ipv4 and ipv6 gateways in sysconfig.Lars Kellogg-Stedman
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
2017-03-07net: do not raise exception for > 3 nameserversLars Kellogg-Stedman
log a warning rather than raising ValueError if we see more than three nameserver addresses. LP: #1670052
2017-03-06releasing package cloud-init version 0.7.9-48-g1c795b9-0ubuntu1~16.04.1Scott Moser
2017-03-06ds-identify-behavior-xenial.patch: update to address upstream change.Scott Moser
'report' is no longer a boolean associated with 'search', but rather a mode itself.
2017-03-06update changelog (new upstream snapshot 0.7.9-48-g1c795b9).Scott Moser
2017-03-06merge from master at 0.7.9-48-g1c795b9Scott Moser
2017-03-06ds-identify: report cleanups for config and exit value.Scott Moser
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
2017-03-03releasing package cloud-init version 0.7.9-47-gc81ea53-0ubuntu1~16.04.1Scott Moser
2017-03-03update changelogScott Moser
2017-03-03debian/patches/ds-identify-behavior-xenial.patchScott Moser
Add patch to modify ds-identify for xenial.
2017-03-03update changelogScott Moser
2017-03-03debian/rules: install Z99-cloudinit-warnings.sh to /etc/profile.dScott Moser
This adds the necessary change to debian/rules for upstream commit 33518d7d.
2017-03-03update changelog (new upstream snapshot 0.7.9-47-gc81ea53).Scott Moser
2017-03-03merge from master at 0.7.9-47-gc81ea53Scott Moser
2017-03-03ds-identify: move default setting for Ec2/strict_id to a global.Scott Moser
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.
2017-03-03ds-identify: record not found in cloud.cfg and always add None.Scott Moser
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.
2017-03-03Support warning if the used datasource is not in ds-identify's list.Scott Moser
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.
2017-03-03tools/ds-identify: make report mode write namespaced results.Scott Moser
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.
2017-03-03Move warning functionality to cloudinit/warnings.pyScott Moser
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.
2017-03-02Add profile.d script for showing warnings on login.Scott Moser
Z99-cloudinit-warnings.sh can be dropped into /etc/profile.d. Warnings that are written to /var/lib/cloud/instance/warnings will be displayed to the user on stderr when they log in.
2017-03-02Z99-cloud-locale-test.sh: install and make consistent.Scott Moser
Modify upstream packaging to install this file, which was already installed in ubuntu packaging. Also, white space changes from tabs to spaces. Very few things in cloud-init are tabs now. Lastly, remove the executable bit on this as ait is not necessary. Scripts in /etc/profile.d do not have executable bit.
2017-02-28tools/ds-identify: look at cloud.cfg when looking for ec2 strict_id.Scott Moser
In the interest of speed I had skipped the parsing of /etc/cloud/cloud.cfg for the ec2 strict_id setting. In hindsight it seems reasonable for people to put settings there.
2017-02-28tools/ds-identify: disable vmware_guest_customization by default.Scott Moser
ovf_vmware_guest_customization defaults to true in cloud-init, meaning that such customization is disabled. We just missed a return value causing ovf_vmware_guest_customization to effectively default to on. Also, when looking for setting look at /etc/cloud/cloud.cfg. This had been omitted in interest of performance, but we should be looking there.
2017-02-24tools/ds-identify: ovf identify vmware guest customization.Scott Moser
cloud-init by default sets 'disable_vmware_customization' to True. So in ds-identify, we will enable the ovf datasource if: - virt is vmware - 'libdeployPkgPlugin.so' exists as installed by vmware-tools or open-vm-tools. - disable_vmware_customization is configured to True
2017-02-24Identify Brightbox as an Ec2 datasource user.Scott Moser
Brightbox will identify their platform to the guest by setting the product serial to a string that ends with 'brightbox.com'. LP: #1661693
2017-02-24DatasourceEc2: add warning message when not on AWS.Scott Moser
Based on the setting Datasource/Ec2/strict_id, the datasource will now warn once per instance.
2017-02-24ds-identify: add reading of datasource/Ec2/strict_idScott Moser
ds-identify will now read this setting, and thus allow the user to modify ds-identifies behavior via either: 1. builtin setting here cloud-init/ds-identify builtin 2. ds-identify config (/etc/cloud/ds-identify.cfg) 3. system config (/etc/cloud/cloud.cfg.d/*Ec2*.cfg) 4. kernel command line (ci.datasource.ec2.strict_id=true)
2017-02-24tools/ds-identify: add support for found or maybe contributing config.Scott Moser
A check function that returns found or maybe can also now return config that will be written to the resultant /run/cloud.cfg. They do so by setting the variable _RET_excfg.
2017-02-24tools/ds-identify: read the seed directory on Ec2Scott Moser
This just adds checking of the Ec2 seed directory.
2017-02-24tools/ds-identify: use quotes in local declarations.Scott Moser
The following can have cause issue: FOO="bar ; wark" showit() { local b=$FOO echo $b } 4: local: ;: bad variable name The answer is just to use more quotes.
2017-02-24tools/ds-identify: fix documentation of policy setting in a comment.Scott Moser
Just remove some examples that are no longer valid.
2017-02-17ds-identify: only run once per boot unless --force is given.Scott Moser
This makes ds-identify run only once. Previously it would run multiple times each boot as the generator would run more than once. This is potentially dangerous, in that running again might find more attached disks. However that is really only a "lucky" fix if it happens to result differently than the first run. Additionally, we now log the uptime that we started and ended at.
2017-02-17flake8: fix flake8 complaints in previous commit.Scott Moser
2017-02-17net: correct errors in cloudinit/net/sysconfig.pyLars Kellogg-Stedman
There were some logic errors in sysconfig.py that appear to be the result of accidentally typing "iface" where it should have been "iface_cfg". This patch corrects those problems so that the module can run successfully. LP: #1665441 Resolves: rhbz#1389530
2017-02-16ec2_utils: fix MetadataLeafDecoder that returned bytes on emptyScott Moser
the MetadataLeafDecoder would return a bytes value b'' instead of an empty string if the value of a key was empty. In all other cases the value would be a string. This was discovered when trying to json.dumps(get_instance_metadata()) on a recent OpenStack, where the value of 'public-ipv4' was empty. The attempt to dump that with json would raise TypeError: b'' is not JSON serializable
2017-02-14apply the runtime configuration written by ds-identify.Scott Moser
When the ds-identify code landed, it started writing /run/cloud.cfg but at the moment, nothing was reading that. The result is that ds-identify only worked to disable cloud-init entirely.
2017-02-10ds-identify: fix checking for filesystem labelScott Moser
has_fs_with_label regressed when refactoring to not have leading and trailing , in DI_FS_LABELS. LP: #1663735
2017-02-10ds-identify: read ds=nocloud properlyScott Moser
The nocloud datasource specifically would look for ds=nocloud or ds=nocloud-net (often augmented with 'seedfrom') on the kernel command line. Fix to return DS_FOUND in that case. LP: #1663723
2017-02-09support nova-lxd by reading platform from environment of pid 1.Scott Moser
Nova lxd will now put the environment variable 'platform' into pid 1's environment to the value 'OpenStack Nova', which is the same as you would find in kvm guests. LP: #1661797
2017-02-09ds-identify: change aarch64 to use the default for non-dmi systems.Scott Moser
aarch64 does support dmi, but OpenStack does not populate guests with this information, and there are currently bugs in qemu preventing it from working correctly see bug #1663304 for more information. So, for the time being, pretend as if there is no dmi data on aarch64, which will make it enable cloud-init even when no datasources are found.
2017-02-06Remove style checking during build and add latest style checks to toxJoshua Powers
- make check will no longer run the style checks, that way package builds wont fail on a style difference in versions of the style tools in that distro. - created style-check make file target to continue to run pep8 and pyflakes - added tox envs 'tip-pycodestyle' and 'tip-pyflakes' to run latest style checking. These are not enabled by default run of tox. LP: #1652329
2017-02-06releasing package cloud-init version 0.7.9-0ubuntu1~16.04.2Scott Moser
2017-02-06update changelogScott Moser
2017-02-06update-grub-legacy-ec2: fix shell syntax error.Scott Moser
update-grub-legacy-ec2 had a shell issue due to missing space. LP: #1662221
2017-02-05code-style: make master pass pycodestyle (2.3.1) cleanly, currently:Joshua Powers
$ pycodestyle cloudinit/ tests/ tools/ tools/make-mime.py:25:5: E722 do not use bare except' tools/mock-meta.py:252:17: E722 do not use bare except' For tools/make-mime.py:25:5: E722 do not use bare except' the use case is when someone runs ./make-mime.py --attach commis instead of ./make-mime.py --attach commissaire.txt:x-commissaire-host The split can cause a ValueError potentially if there is no: For tools/mock-meta.py:262:17: E722 do not use bare except' the use case is a dictionary look up occurs potentially when an unknown key is given: key_name = key_ids[key_id] Do note that version 2.3.0 falsely reported a dozen or so E302 and E306 errors.
2017-02-03manual_cache_clean: When manually cleaning touch a file in instance dir.Scott Moser
When manual_cache_clean is enabled, write a file to /var/lib/cloud/instance/manual-clean. That file can then be read by ds-identify or another tool to indicate that manual cleaning is in place.