summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-15lp-to-git-users: adding anhvoms (#491)Anh Vo
Mapped from vtqanh
2020-07-15freebsd: py37-serial is now py37-pyserial (#492)Gonéri Le Bouder
The package has been renamed. See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246546
2020-07-15ssh exit with non-zero status on disabled user (#472)Eduardo Otubo
It is confusing for scripts, where a disabled user has been specified, that ssh exits with a zero status by default without indication anything failed. I think exitting with a non-zero status would make more clear in scripts and automated setups where things failed, thus making noticing the issue and debugging easier. Signed-off-by: Eduardo Otubo <otubo@redhat.com> Signed-off-by: Aleksandar Kostadinov <akostadi@redhat.com> LP: #1170059
2020-07-15cloudinit: remove global disable of pylint W0107 and fix errors (#489)Daniel Watkins
* cloudinit: remove global disable of pylint W0107 and fix errors This includes removing a test class which contained no tests but wasn't detected as empty because of an errant pass statement. * .pylintrc: update disable comment to match arguments
2020-07-14networking: refactor wait_for_physdevs from cloudinit.net (#466)Daniel Watkins
* Refactor `cloudinit.net.wait_for_physdevs` to `cloudinit.distros.networking.Networking.wait_for_physdevs` * Split the Linux-specific `udevadm_settle` call out to a separate abstract `Networking.settle` method; implement it on `LinuxNetworking` and add a `NotImplementedError` implementation to `BSDNetworking` * Modify `wait_for_physdevs`s one callsite to use the new location LP: #1884626
2020-07-13HACKING.rst: add pytest.param pytest gotcha (#481)Daniel Watkins
2020-07-13cloudinit: remove global disable of pylint W0105 and fix errors (#480)Daniel Watkins
This includes a fix to a test that had a string concatenation issue, and so was only testing a prefix of what was intended.
2020-07-13Fix two minor warnings (#475)Daniel Watkins
2020-07-10test_data: fix faulty patch (#476)Daniel Watkins
I've been seeing intermittent failures of this test, and I tracked it down to something to do with`test_features.py`: running this test after `test_features.py` causes the failure, but the inverse does not. This fixed patch ensures that the test will pass regardless of ordering.
2020-07-10cc_mounts: handle missing fstab (#484)Ryan Harper
Do not fail if /etc/fstab is not present. Some images, like container rootfs may not include this file by default. LP: #1886531
2020-07-09LXD cloud_tests: support more lxd image formats (#482)Paride Legovini
Update lxd_export method to detect and handle different image formats cloud_tests will only support the "split" type images which exports a compressed (xz) tarball of metadata and a rootfs (of different formats). For non-split image formats (single tarball with metadata + rootfs) we now raise an exception indicating that the requested image is not supported at this time.
2020-07-07Add update_etc_hosts as default module on *BSD (#479)Adam Dobrawy
* Add update_etc_hosts as default module on *BSD * Set preference of IPv6 over IPv4 in FreeBSD /etc/hosts
2020-07-06cloudinit: fix tip-pylint failures and bump pinned pylint version (#478)Daniel Watkins
Specifically: * disable E1102 in cloudinit/sources/helpers/openstack.py for reasons described in a comment, and * refactor `abs_join` to require at least one positional argument; this matches os.path.join's signature, and that mismatch is what was causing pylint to emit a warning * bump to pylint 2.4.2
2020-07-03Added BirknerAlex as contributor and sorted the file (#477)Alexander Birkner
* Added myself as contributor to the project * Sorted the file alphabetically
2020-07-02Update list of types of modules in cli.rstsaurabhvartak1982
Added cloud_final_modules in place of cloud_init_modules under the heading 'modules'. cloud_init_modules was wrongly appearing twice.
2020-07-02tests: use markers to configure disable_subp_usage (#473)Daniel Watkins
This is an improvement over indirect parameterisation for a few reasons: * The test code is much easier to read, the mark names are much more intuitive than the indirect parameterisation invocation, and there's less boilerplate to boot * The fixture no longer has to overload the single parameter that fixtures can take with multiple meanings
2020-07-02Add mention of vendor-data to no-cloud format documentation (#470)Landon Kirk
Also add landon912 to .github-cla-signers
2020-07-02Fix broken link to OpenStack metadata service docs (#467)Matt Riedemann
2020-06-30Disable ec2 mirror for non aws instances (#390)lucasmoura
For versions before 20.2, we allowed the use of ec2 mirrors if the datasource availability_zone matches one of the ec2 regions. We are now updating that behavior to allow allow the use of ec2 mirrors on ec2 instances or if the user directly passes an an ec2 mirror url through #cloud-config apt directives. LP: #1456277
2020-06-30cloud_tests: don't pass --python-version to read-dependencies (#465)Daniel Watkins
We dropped that parameter in 4d26848
2020-06-30networking: refactor is_physical from cloudinit.net (#457)Daniel Watkins
As the first refactor PR, this also includes the initial structure for tests. LP: #1884619
2020-06-30Enable use of the caplog fixture in pytest tests, and add a cc_final_message ↵Daniel Watkins
test using it (#461) caplog is only available in pytest itself from 3.0 onwards. In xenial, we only have pytest 2.8.7. However, in xenial we do have pytest-catchlog available (as python3-pytest-catchlog), so we use that where appropriate.
2020-06-29RbxCloud: Add support for FreeBSD (#464)Adam Dobrawy
Changes are made that simplify code and aim to properly support FreeBSD: - use `util.find_devs_with` instead call directly `blkid`, because on FreeBSD is not supported well and `util.find_devs_with` have solution for FreeBSD for that - introduction of an additional name on FAT file system, which is used in FreeBSD - drop shell to use default value, because FreeBSD – by default – does not have `/bin/bash`
2020-06-29Add schema for cc_chef module (#375)lucasmoura
Create a schema object for the chef module and validate this schema in the handle function of the module. Some of the config keys description, so I tried looking at the code and chef documentation to provide an information to the user. However, I don't know if I have the best description for all fields. For example, for the key show_time I could not find an accurate description of what it did, so I used what was in our code base to infer what it should do. LP: #1858888
2020-06-29test_util: add (partial) testing for util.mount_cb (#463)Daniel Watkins
2020-06-26.travis.yml: revert to installing ubuntu-dev-tools (#460)Daniel Watkins
My previous testing was insufficient: there is a branch of testing that requires mk-sbuild, which is shipped in ubuntu-dev-tools itself.
2020-06-26HACKING.rst: add details of net refactor tracking (#456)Daniel Watkins
2020-06-26.travis.yml: rationalise installation of dependencies in host (#449)Daniel Watkins
We build in a schroot using sbuild, so we don't need Build-Depends installed in the host; save some time (and manual maintenance when Build-Depends change) by dropping their installation and skipping the check for them when calling `bddeb`. We _do_ require debhelper to be installed to build the source package, so ensure it is installed. Additionally, while I was here, replace ubuntu-dev-tools with devscripts; we don't need everything that ubuntu-dev-tools pulls in.
2020-06-25Add dermotbradley as contributor. (#458)dermotbradley
2020-06-24net/networking: remove unused functions/methods (#453)Daniel Watkins
Namely, is_connected, is_wireless and is_present. None of these are used in the cloud-init codebase, so remove the dead code (instead of refactoring it).
2020-06-23distros.networking: initial implementation of layout (#391)Daniel Watkins
This commit introduces the initial structure for the "cloudinit.net -> cloudinit.distros.networking Hierarchy" refactor, as detailed in [0]. It also updates that section with some changes driven by this initial implementation, as well as adding a lot more specifics to it. [0] https://cloudinit.readthedocs.io/en/latest/topics/hacking.html#cloudinit-net-cloudinit-distros-networking-hierarchy
2020-06-23cloud-init.service.tmpl: use "rhel" instead of "redhat" (#452)Daniel Watkins
We use "rhel" consistently everywhere else.
2020-06-23Change from redhat to rhel in systemd generator tmpl (#450)Eduardo Otubo
The name `redhat' is not used but rather `rhel' to identify the distro. Signed-off-by: Eduardo Otubo <otubo@redhat.com>
2020-06-22Hetzner: support reading user-data that is base64 encoded. (#448)Scott Moser
Hetzner cloud only supports user-data as a string (presumably utf-8). In order to allow users on Hetzner to provide binary data to cloud-init, we will attempt to base64decode the userdata. The change here adds a 'maybe_b64decode' function that will decode data if and only if is base64 encoded. The reason for not using util.b64d is that we do not want the return value decoded to a string, and util.b64d will do that if it can. Additionally we call decode with validate=True which oddly is not the default. LP: #1884071
2020-06-22HACKING.rst: add strpath gotcha to testing gotchas section (#446)Daniel Watkins
Co-authored-by: Rick Harding <rharding@mitechie.com>
2020-06-22cc_final_message: don't create directories when writing boot-finished (#445)Daniel Watkins
If the instance symlink doesn't exist, then we shouldn't create a directory in its place, because that breaks future boots. LP: #1883903
2020-06-19.travis.yml: only store new schroot if something has changed (#440)Daniel Watkins
Prior to this change, the process of tarring up would mean that Travis would always detect that the cache had changed, and we would incur ~30s of packing/transferring at the end of every build. Instead, we now check if there was any change to the installed contents of the schroot, and only generate a new tarball if there were changes.
2020-06-19util: add ensure_dir_exists parameter to write_file (#443)Daniel Watkins
This allows us to disable the `ensure_dir` call when it isn't appropriate.
2020-06-19printing the error stream of the dhclient process before killing it (#369)Moustafa Moustafa
This introduces a way to log the dhclient error stream, and uses it for the Azure datasource (where we have a specific requirement for this data to be logged).
2020-06-19Fix link to the MAAS documentation (#442)Paride Legovini
LP: #1883666
2020-06-18RPM build: disable the dynamic mirror URLs when using a proxy (#437)Paride Legovini
When using an http proxy make sure to disable all the dynamic mirror URLs. In particular: - Uncomment the baseurl in /etc/yum.repos.d/*.repo. - Comment out the mirrorlist and metalink URLs in *.repo. - Replace the dynamic download.fedoraproject.org host with dl.fedoraproject.org, which is static. - Run the above as part of the MAYBE_RELIABLE_YUM_INSTALL command, as installing packages may add new repos (e.g. EPEL). - Stop disabling fastestmirror, not needed when doing the above.
2020-06-17util: rename write_file's copy_mode parameter to preserve_mode (#439)Daniel Watkins
When updating the docstring to include it, I realised that the current name is somewhat misleading; this makes it a little easier to understand, I think.
2020-06-16.travis.yml: use $TRAVIS_BUILD_DIR for lxd_image caching (#438)Daniel Watkins
This makes us more robust, as our caching won't start breaking if other parts of the Travis build change directory for us.
2020-06-12cli.rst: alphabetise devel subcommands and add net-convert to list (#430)Daniel Watkins
2020-06-12Default to UTF-8 in /var/log/cloud-init.log (#427)James Falcon
On a system with a non-utf8 default locale, the logger will silently not log anything if the message contains an unsupported character.
2020-06-12travis: cache the chroot we use for package builds (#429)Daniel Watkins
Prior to this change, we would debootstrap for every single integration test run in Travis. This changes that, so we will store the chroot created by debootstrap in Travis' cache, and use it if available. This saves 2-3 minutes, or ~1/3rd of the integration test run time (which is our longest run).
2020-06-10test: fix all flake8 E126 errors (#425)Joshua Powers
2020-06-09Fixes KeyError for bridge with no "parameters:" setting (#423)Brian Candler
Reason: commit ded1ec8 introduced a regression whereby a bridge with no "parameters:" setting caused a KeyError exception. LP: #1879673
2020-06-09When tools.conf does not exist, running cmd "vmware-toolbox-cmd config get ↵chengcheng-chcheng
deployPkg enable-custom-scripts", the return code will be EX_UNAVAILABLE(69), on this condition, it should not take it as error. (#413)
2020-06-09Document CloudStack data-server well-known hostname (#399)Gregor Riepl
* Document CloudStack data-server well-known hostname * Document fallback to default gateway * Add onitake to CLA signers list