summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-20tests: add missing mocks for get_interfaces_by_mac (#326)Daniel Watkins
We currently have a test system where get_interfaces_by_mac raises an exception, which is causing these tests to fail as they aren't mocking get_interfaces_by_mac out. LP: #1873910
2020-04-16test_mounts: expand happy path test for both happy paths (#319)Daniel Watkins
2020-04-15cc_mounts: fix incorrect format specifiers (#316)Daniel Watkins
LP: #1872836
2020-04-14swap file "size" being used before checked if str (#315)Eduardo Otubo
Swap file size variable was being used before checked if it's set to str "auto". If set to "auto", it will break with: failed to setup swap: unsupported operand type(s) for /: 'str' and 'int' Signed-off-by: Eduardo Otubo <otubo@redhat.com> RHBZ: 1772505
2020-04-14HACKING.rst: add pytest version gotchas section (#311)Daniel Watkins
And document that we can't yield in pytest.fixture functions due to the age of xenial's pytest.
2020-04-10docs: Add steps to re-run cloud-id and cloud-init (#313)Joshua Powers
2020-04-06readme: OpenBSD is now supported (#309)Gonéri Le Bouder
Add OpenBSD in the list of supported Operating System.
2020-04-03net: ignore 'renderer' key in netplan config (#306)Ryan Harper
LP: #1870421
2020-04-02Add support for NFS/EFS mounts (#300)Andrew Beresford
The cc_mounts module does not support NFS mounts in the form of hostname:/ or hostname:/path. This PR adds support for NFS-style paths in the fs_spec field. LP: #1870370
2020-04-02openbsd: set_passwd should not unlock user (#289)Gonéri Le Bouder
Decouple unlocking passwords when also setting passwords. On OpenBSD skip unlocking password as `usermode -C no foo` does not work.
2020-04-02tools/.github-cla-signers: add beezly as CLA signer (#301)Daniel Watkins
2020-04-01util: remove unnecessary lru_cache import fallback (#299)Daniel Watkins
functools.lru_cache has been present since Python 3.2, so we no longer need to handle its absence. (Also sort util's imports while we're modifying them.)
2020-03-31HACKING.rst: reorganise/update CLA signature info (#297)Daniel Watkins
* Split the "existing contributors" information out to a separate section * Update the "Do these things once" CLA information for the current process
2020-03-31distros: drop leading/trailing hyphens from mirror URL labels (#296)Daniel Watkins
* distros/tests/test_init: drop needless brackets/indentation * distros: drop leading/trailing hyphens from mirror URL labels
2020-03-31HACKING.rst: add note about variable annotations (#295)Daniel Watkins
2020-03-31CiTestCase: stop using and remove sys_exit helper (#283)Daniel Watkins
This shim was required to support Python 2.6, so we no longer need it.
2020-03-31distros: replace invalid characters in mirror URLs with hyphens (#291)Daniel Watkins
This modifies _get_package_mirror_info to convert the hostnames of generated mirror URLs to their IDNA form, and then iterate through them replacing any invalid characters (i.e. anything other than letters, digits or a hyphen) with a hyphen. This commit introduces the following changes in behaviour: * generated mirror URLs with Unicode characters in their hostnames will have their hostnames converted to their all-ASCII IDNA form * generated mirror URLs with invalid-for-hostname characters in their hostname will have those characters converted to hyphens * generated mirror URLs which cannot be parsed by `urllib.parse.urlsplit` will not be considered for use * other configured patterns will still be considered * if all configured patterns fail to produce a URL that parses then the fallback mirror URL will be used LP: #1868232
2020-03-31rbxcloud: gracefully handle arping errors (#262)Adam Dobrawy
2020-03-31Fix cloud-init ignoring some misdeclared mimetypes in user-data.Kurt Garloff
On some platforms (old heat on OpenTelekomCloud), the user-data mime part is mislabeled x-shellscript. cloud-init would not accept this unexpected mime-type in multipart user-data. Cloud-init will now run find_ctype() on the content of the mime-part to check if it matches known include types. This patch is from Ryan Harper (inspired by my bug report and a suggestion from Scott Moser) from the discussion on PR #234. Signed-off-by: Kurt Garloff <kurt@garloff.de>
2020-03-30net: ubuntu focal prioritize netplan over eni even if both present (#267)Chad Smith
On Focal and later, Ubuntu will prioritize netplan renderer over eni, even if ifupdown and netplan are both installed. ENI on Focal and later is considered an unsupported configuration so cloud-init should generally prefer netplan. On many cloud images, the /etc/network/interfaces config file does not include the dir /etc/network/interfaces.d thereby ignoring cloud-init's /etc/network/interfaces.d/50-cloud-init.cfg file. LP: #1867029
2020-03-30cloudinit: refactor util.is_ipv4 to net.is_ipv4_address (#292)Daniel Watkins
This also simplifies the implementation to rely on the stdlib, instead of our own NIH checking.
2020-03-30net/cmdline: replace type comments with annotations (#294)Daniel Watkins
2020-03-30HACKING.rst: add Type Annotations design section (#293)Daniel Watkins
2020-03-27net: introduce is_ip_address function (#288)Daniel Watkins
This will be required for the mirror URL sanitisation work,
2020-03-27CiTestCase: remove now-unneeded parse_and_read helper method (#286)Daniel Watkins
(And sort some imports where I was changing them.)
2020-03-27.travis.yml: allow 30 minutes of inactivity in cloud tests (#287)Daniel Watkins
We're seeing CI failures currently because a LXD image takes more than 10 minutes to download if the transatlantic link to Canonical's DC is heavily contested. This uses a helper provided by Travis[0] to avoid cancellation due to lack of output for 30 minutes, which should be sufficient to download an image even at the lowest speeds we've been seeing. [0] https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received
2020-03-27sources/tests/test_init: drop use of deprecated inspect.getargspec (#285)Daniel Watkins
2020-03-27setup.py: drop NIH check_output implementation (#282)Daniel Watkins
We no longer need to support versions which don't have subprocess.check_output, so we can rely on its presence in the stdlib.
2020-03-26Identify SAP Converged Cloud as OpenStackSilvio Knizek
add SAP Converged Cloud as cloud provider
2020-03-26add Openbsd support (#147)Gonéri Le Bouder
- tested on OpenBSD 6.6 - tested on OpenStack without config drive, and NoCloud with ISO config drive
2020-03-26HACKING.rst: add examples of the two test class types (#278)Daniel Watkins
2020-03-26VMWware: support to update guest info gc status if enabled (#261)xiaofengw-vmware
2020-03-26lp-to-git-users: adding killermoehre (#281)Silvio Knizek
Mapped from killermoehre
2020-03-26Add lp-to-git mapping for kgarloff (#279)Ryan Harper
Map lp user kgarloff to github garloff
2020-03-25set_passwords: avoid chpasswd on BSD (#268)Gonéri Le Bouder
Avoid chpasswd on all the BSD variants.
2020-03-25HACKING.rst: add Unit Testing design section (#277)Daniel Watkins
2020-03-25util: read_cc_from_cmdline handle urlencoded yaml content (#275)Ryan Harper
Add support for additional escaping of formatting characters in the YAML content between the 'cc:' and 'end_cc' tokens. On s390x legacy terminals the use of square brackets [] are not available limiting the ability to indicate lists of values in yaml content. Using #5B and #5D, [ and ] respectively enables s390x users to pass list yaml content into cloud-init via command line interface.
2020-03-25distros/tests/test_init: add tests for _get_package_mirror_info (#272)Daniel Watkins
2020-03-24HACKING.rst: add links to new Code Review Process doc (#276)Daniel Watkins
Co-authored-by: Joshua Powers <josh.powers@canonical.com>
2020-03-24freebsd: ensure package update works (#273)Gonéri Le Bouder
Currently, `cc_package_update_upgrade_install.py` fails because `package_command()` does not know how to do an update on FreeBSD. ``` 2020-03-23 20:01:53,995 - util.py[DEBUG]: Package update failed Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/cloud_init-20.1-py3.7.egg/cloudinit/config/cc_package_update_upgrade_install.py", line 85, in handle cloud.distro.update_package_sources() File "/usr/local/lib/python3.7/site-packages/cloud_init-20.1-py3.7.egg/cloudinit/distros/freebsd.py", line 158, in update_package_sources ["update"], freq=PER_INSTANCE) File "/usr/local/lib/python3.7/site-packages/cloud_init-20.1-py3.7.egg/cloudinit/helpers.py", line 185, in run results = functor(*args) File "/usr/local/lib/python3.7/site-packages/cloud_init-20.1-py3.7.egg/cloudinit/distros/bsd.py", line 102, in package_command cmd.extend(pkglist) UnboundLocalError: local variable 'cmd' referenced before assignment ``` This commit defines a new `pkg_cmd_update_prefix` key. If it's empty, we don't do any update, otherwise we use the value to update the package manager.
2020-03-24doc: introduce Code Review Process documentation (#160)Daniel Watkins
2020-03-24tools: use python3 (#274)Ryan Harper
* tools: use python3 Switch tools/ to use python3 instead of python. At minimum this fixes building deb on python3 only releases like Focal. Applied via shell commands: $ grep 'usr/bin/.*python' tools/* 2>/dev/null | \ grep -v python3 | awk -F':' '{print $1}' | \ xargs -i sed -i -e '0,/python/s/python/python3/' {} * Use /usr/bin/env python3 to be virtualenv friendly
2020-03-23cc_disk_setup: fix RuntimeError (#270)Daniel Watkins
Addresses "Runtime Error: dictionary keys changed during iteration". Co-authored-by: Noah Meyerhans <noahm@debian.org> LP: #1868327
2020-03-23cc_apt_configure/util: combine search_for_mirror implementations (#271)Daniel Watkins
These two implementations had drifted away from one another very slightly. Reconcile them and then remove the one in cc_apt_configure.
2020-03-23bsd: boottime does not depend on the libc soname (#269)Gonéri Le Bouder
On NetBSD and OpenBSD, the libc soname and location are different. There is no reason to be to specific. Python is able to propely open the share library by itself.
2020-03-20test_oracle,DataSourceOracle: sort imports (#266)Daniel Watkins
* test_oracle: sort imports * DataSourceOracle: sort imports
2020-03-19DataSourceOracle: update .network_config docstring (#257)Daniel Watkins
Bring it into line with the current state of the code (by dropping the now-untrue caveat).
2020-03-19cloudinit/tests: remove unneeded with_logs configuration (#263)Daniel Watkins
These classes don't use `self.logs` anywhere in their body, so we can remove the `with_logs = True` setting from them. These instances were found using astpath[0], with the following invocation: astpath "//Name[@id='with_logs' and not(ancestor::ClassDef//Attribute[@attr='logs'])]" [0] https://github.com/hchasestevens/astpath
2020-03-19.travis.yml: drop stale comment (#255)Daniel Watkins
Co-authored-by: Chad Smith <chad.smith@canonical.com>
2020-03-18.gitignore: add more common directories (#258)Daniel Watkins