summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* releasing cloud-init version 23.1.1-0ubuntu0~18.04.1ubuntu/23.1.2-0ubuntu0_18.04.1ubuntu/bionic-23.1.xJames Falcon2023-04-261-2/+2
|
* update changelogJames Falcon2023-04-212-4/+20
|
* Add postinst for LP: #2013967James Falcon2023-04-211-0/+52
|
* update changelog (new upstream snapshot)James Falcon2023-04-211-0/+6
|
* Merge from 23.1.2 at 23.1.2James Falcon2023-04-218-24/+82
|\
| * Release 23.1.223.1.223.1.xJames Falcon2023-04-202-1/+5
| | | | | | | | | | Bump the version in cloudinit/version.py to 23.1.2 and update ChangeLog.
| * Make user/vendor data sensitive and remove log permissionsJames Falcon2023-04-206-23/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Because user data and vendor data may contain sensitive information, this commit ensures that any user data or vendor data written to instance-data.json gets redacted and is only available to root user. Also, modify the permissions of cloud-init.log to be 640, so that sensitive data leaked to the log isn't world readable. Additionally, remove the logging of user data and vendor data to cloud-init.log from the Vultr datasource. LP: #2013967 CVE: CVE-2023-1786
| * Release 23.1.123.1.1James Falcon2023-03-022-1/+6
| | | | | | | | | | Bump the version in cloudinit/version.py to 23.1.1 and update ChangeLog.
| * source: Force OpenStack when it is only option (#2045)Brett Holman2023-03-0210-312/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running on OpenStack Ironic was broken in 1efa8a0a0, which prevented a system configured to run on only Openstack from actually running this ds. This change also prevents the kernel commandline definition from working. This change was required to prevent unnecessarily probing OpenStack on Ec2, and is therefore still required. This commit reverts an earlier attempt[1][2] to automatically detect OpenStack, due to regression it caused. Additionally, this change allows a system that defines a datasource list containing only [OpenStack] or [OpenStack, None] to attempt running on OpenStack, overriding ds_detect(). A datasource list that defines [OpenStack, None] still falls back to DataSourceNone if OpenStack fails to reach the IMDS. This change also lays groundwork for the following future work: 1. Add support for other datasources 2. Also override datasource checking when the kernel command line defines a datasource. This work needs to be done manually to support non-systemd systems. Besides forcing OpenStack to run when it is the only datasource in the datasource list, this commit also: [1] 0220295 (it breaks some use cases) [2] 29faf66 (no longer used) LP: #2008727
| * sources/azure: fix regressions in IMDS behavior (#2041)Chris Patterson2023-03-024-191/+343
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are effectively two regressions in the recent IMDS refactor: 1. The metadata check len(imds_md["interface"]) in _check_if_nic_is_primary() is no longer correct as the refactor switched URLs and did not update this call to account for the fact that this metadata now lives under "network". 2. Network metadata was fetched with infinite=True and is now limited to ten retries. This callback had the twist of only allowing up to ten connection errors but otherwise would retry indefinetely. For check_if_nic_is_primary(): - Drop the interface count check for _check_if_nic_is_primary(), we don't need it anyways. - Fix/update the unit tests mocks that allowed the tests to pass, adding another test to verify max retries for http and connection errors. - Use 300 retries. We do want to hit a case where we spin forever, but this should be more than enough time for IMDS to respond in the Savable PPS case (~5 minutes). For IMDS: - Consolidate IMDS retry handlers into a new ReadUrlRetryHandler class that supports the options required for each variant of request. - Minor tweaks to log and expand logging checks in unit tests. - Move all unit tests to mocking via mock_requests_session_request and replace mock_readurl fixture with wrapped_readurl to improve consistency between tests. Note that this change drops usage of `retry_on_url_exc` and can probably be removed altogether as it is no longer used AFAICT. Signed-off-by: Chris Patterson <cpatterson@microsoft.com>
* | releasing cloud-init version 23.1.1-0ubuntu0~18.04.1ubuntu/23.1.1-0ubuntu0_18.04.1Alberto Contreras2023-03-031-2/+2
| |
* | update changelog (new upstream snapshot)Alberto Contreras2023-03-031-9/+4
| |
* | refresh patches against 23.1.1Alberto Contreras2023-03-032-15/+9
| | | | | | | | | | | | patches: debian/patches/netplan99-cannot-use-default.patch debian/patches/openstack-no-network-config.patch
* | Release 23.1.1James Falcon2023-03-032-1/+6
| | | | | | | | | | Bump the version in cloudinit/version.py to 23.1.1 and update ChangeLog.
* | source: Force OpenStack when it is only option (#2045)Brett Holman2023-03-0310-312/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running on OpenStack Ironic was broken in 1efa8a0a0, which prevented a system configured to run on only Openstack from actually running this ds. This change also prevents the kernel commandline definition from working. This change was required to prevent unnecessarily probing OpenStack on Ec2, and is therefore still required. This commit reverts an earlier attempt[1][2] to automatically detect OpenStack, due to regression it caused. Additionally, this change allows a system that defines a datasource list containing only [OpenStack] or [OpenStack, None] to attempt running on OpenStack, overriding ds_detect(). A datasource list that defines [OpenStack, None] still falls back to DataSourceNone if OpenStack fails to reach the IMDS. This change also lays groundwork for the following future work: 1. Add support for other datasources 2. Also override datasource checking when the kernel command line defines a datasource. This work needs to be done manually to support non-systemd systems. Besides forcing OpenStack to run when it is the only datasource in the datasource list, this commit also: [1] 0220295 (it breaks some use cases) [2] 29faf66 (no longer used) LP: #2008727
* | sources/azure: fix regressions in IMDS behavior (#2041)Chris Patterson2023-03-034-191/+343
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are effectively two regressions in the recent IMDS refactor: 1. The metadata check len(imds_md["interface"]) in _check_if_nic_is_primary() is no longer correct as the refactor switched URLs and did not update this call to account for the fact that this metadata now lives under "network". 2. Network metadata was fetched with infinite=True and is now limited to ten retries. This callback had the twist of only allowing up to ten connection errors but otherwise would retry indefinetely. For check_if_nic_is_primary(): - Drop the interface count check for _check_if_nic_is_primary(), we don't need it anyways. - Fix/update the unit tests mocks that allowed the tests to pass, adding another test to verify max retries for http and connection errors. - Use 300 retries. We do want to hit a case where we spin forever, but this should be more than enough time for IMDS to respond in the Savable PPS case (~5 minutes). For IMDS: - Consolidate IMDS retry handlers into a new ReadUrlRetryHandler class that supports the options required for each variant of request. - Minor tweaks to log and expand logging checks in unit tests. - Move all unit tests to mocking via mock_requests_session_request and replace mock_readurl fixture with wrapped_readurl to improve consistency between tests. Note that this change drops usage of `retry_on_url_exc` and can probably be removed altogether as it is no longer used AFAICT. Signed-off-by: Chris Patterson <cpatterson@microsoft.com>
* | releasing cloud-init version 23.1-0ubuntu0~18.04.223.1-0ubuntu0_18.04.2Alberto Contreras2023-02-271-1/+1
| |
* | update d/changelogAlberto Contreras2023-02-271-0/+7
| |
* | d/patches/netplan99-cannot-use-default.patch:Alberto Contreras2023-02-272-0/+174
| | | | | | | | | | | | Retain routes' definitions compatible with netplan 0.99 Co-authored-by: Chad Smith <chad.smith@canonical.com>
* | releasing cloud-init version 23.1-0ubuntu0~18.04.123.1-0ubuntu0_18.04.1Alberto Contreras2023-02-271-1/+1
| |
* | update changelog (new upstream snapshot)Alberto Contreras2023-02-271-2/+5
| |
* | refresh patches against 23.1Alberto Contreras2023-02-274-15/+11
| | | | | | | | | | | | | | | | patches: debian/patches/ec2-dont-apply-full-imds-network-config.patch debian/patches/openstack-no-network-config.patch debian/patches/renderer-do-not-prefer-netplan.patch debian/patches/retain-netplan-world-readable.patch
* | d/changelog: sync from hotfix branch ubuntu/bionic-22.4.xAlberto Contreras2023-02-271-0/+9
| |
* | merge from 23.1 at 23.1Alberto Contreras2023-02-24295-11422/+16008
|\ \ | |/
| * Release 23.123.1Alberto Contreras2023-02-222-1/+149
| | | | | | | | | | Bump the version in cloudinit/version.py to 23.1 and update ChangeLog.
| * Support transactional-updates for SUSE based distros (#1997)Robert Schweikert2023-02-213-9/+404
| | | | | | | | | | | | openSUSE/SUSE has distros that use read only root and btrfs. To update a running system in such a setup the transactional-update command needs to be used. This change implements support for use of the transactional-update commend when appropriate.
| * Set ownership for new folders in Write Files Module (#1980)Jack2023-02-216-4/+90
| | | | | | | | | | | | | | The parent directory would be created automatically if it does not exist. But the ownership of newly-created parent directory would always be root. With this change, it would be set the same as `owner`. LP: #1990513
| * add OpenCloudOS and TencentOS support (#1964)wynnfeng2023-02-1815-10/+89
| |
| * lxd: Retry if the server isn't ready (#2025)Brett Holman2023-02-182-2/+57
| |
| * test: switch pycloudlib source to pypi (#2024)Brett Holman2023-02-171-1/+1
| |
| * test: Fix integration test deprecation message (#2023)Brett Holman2023-02-171-9/+18
| |
| * Recognize opensuse-microos, dev tooling fixesRobert Schweikert2023-02-1620-110/+465
| | | | | | | | | | | | | | | | | | | | | | | | Update the distro selection code to recognize opensuse-microos as a SUSE based distribution. Also in this commit: * unittest mock OpenNebula of pwd.getpwnam to avoid test leaks on SuSE * tooling fixes to build and test opensuse - read-dependencies fix jinja2 and PyYAML pkg aliases for opensuse - Consolidate package operations based on OS family instead of distro flavor to cut down on duplication of command definitions. - format read-dependencies and run-container with black
| * sources/azure: refactor imds handler into own module (#1977)Chris Patterson2023-02-165-894/+799
| | | | | | | | | | | | | | | | | | | | Create new azure package for better organization and move IMDS logic for fetching into it. Future work will clean up the test_azure.py tests a little further thanks to these changes, but wanted to minimize churn here to make changes fairly visible. Signed-off-by: Chris Patterson <cpatterson@microsoft.com>
| * docs: deprecation generation support [1/2] (#2013)Brett Holman2023-02-1613-160/+374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | docs: deprecation version generation support schema: Add the following metadata keys: - changed_version - deprecated_version - new_version - changed_description - new_description - deprecation_description - changed - new Generate formatted docs from this new metadata. Update current descriptions containing unstructured data. Switch current deprecation from a date to deprecated version. Ensure changed/new/deprecated keys have associated version keys.
| * add function is_virtual to distro/FreeBSD (#1957)Mina Galić2023-02-162-1/+80
| | | | | | | | | | | | | | | | | | | | | | | | - is_virtual property identifies identify if the thing we're running is any kind of virtualization - virtual() identifies what kind of virtualisation we're dealing with - is_container() tells us if we're running in a container, or in FreeBSD's case, in a jail. - the helper functions are @lru_cached, since this is very unlikely to change Sponsored by: The FreeBSD Foundation Co-authored-by: Brett Holman <brett.holman@canonical.com>
| * cc_ssh: support multiple hostcertificates (#2018)Alberto Contreras2023-02-165-21/+91
| | | | | | LP: #1999164
| * Fix minor schema validation regression and fixup typing (#2017)James Falcon2023-02-153-7/+15
| | | | | | | | | | When annotating a schema, we should print "Valid cloud-config" along with the filename if a file has been used rather than just the config type.
| * doc: Reword user data debug section (#2019)Brett Holman2023-02-151-6/+21
| |
| * Overhaul/rewrite of certificate handling as follows: (#1962)dermotbradley2023-02-144-225/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change "ca-certs" references to "ca_certs". New certificates are written to individual files, with an incrementing number as part of their filename, rather than all being placed in a single file. This resolves issues caused when certificate files containing more than a single certificate are placed in /etc/ssl/certs (by utilities such as "update-ca-certificates" run by ca_certs). Alpine / Debian / Ubuntu: The current behaviour, whilst it works, is incorrect with regard to the design of the underlying OS utilities for managing certificates. For "remove_defaults" the system-installed certificate files should not be actually deleted (otherwise it becomes problematic if someone wishes to later re-enable one or more of them), rather they should be deactivated and these OSes already provide the means to do so - this MR modifies the certificate entries in the /etc/ca-certificates.conf file by prefixing them with "!" - when the update-ca-certificate utility is then run it will *not* place such delimited certificates into either the /etc/ssl/certs/ directory (via symlinks) nor add them to the (re)generated certificates bundle file. Additionally it is incorrect for added certificates to be placed in the /usr/share/ca-certificates directory - this location is intended for standard/"official" certificates, the /usr/local/share/ca-certificates directory is intended for "local" or "site-specific" certificates and so this PR adds them there instead - for certs in /usr/local/share/ca-certificates the update-ca-certificates utility will automatically use them, there is *no* need to add their filenames to the /etc/ca-certificates.conf file. LP: #1931174
| * disk_setup: use byte string when purging the partition table (#2012)Stefan Prietl2023-02-132-2/+19
| | | | | | | | | | | | | | This writes a byte string to the device instead of a string when purging the partition table. Essentially, this will prevent the error "a bytes-like object is required, not 'str'" from happening.
| * cli: schema also validate vendordata*.Chad Smith2023-02-095-129/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cloud-init schema --annotate now walks any valid user-data, vendor-data and vendor2-data to report whether any of these cloud-config files provide invalid or deprecated schema values. Also, fix a bug in nested mapping annotations to properly report the full nested indexed schema path. The following now can be annotated without KeyErrors: users: - default - lock-passwd: false name: root
| * ci: sort and add checks for cla signers fileStefan Prietl2023-02-094-2/+27
| | | | | | | | | | | | | | This sorts the CLA signers file and adds a convenience script for users to check and sort the file. A workflow job - which uses the script - makes sure that the file does not get merged in an unsorted state.
| * Add "ederst" as contributor (#2010)Stefan Prietl2023-02-091-0/+1
| |
| * readme: add reference to packages dir (#2001)Alberto Contreras2023-02-082-1/+16
| |
| * docs: update downstream package list (#2002)Brett Holman2023-02-081-0/+4
| |
| * docs: add google search verification (#2000)s-makin2023-02-082-0/+3
| | | | | | | | | | | | Added google verification file to ensure that the Google bots can find and index the site. Should speed up the listing of our docs in Google's search results.
| * docs: fix 404 render use default notfound_urls_prefix in RTD conf (#2004)Chad Smith2023-02-081-1/+0
| | | | | | | | | | | | | | 404 styling was off due to invalid config notfound_urls_prefix = "/" Drop custom config. The default "/en/latest" value properly renders the 404 page with style.
| * Fix OpenStack datasource detection on bare metal (#1923)Alexander Birkner2023-02-078-52/+239
| | | | | | LP: #1815990
| * docs: add themed RTD 404 page and pointer to readthedocs-hosted (#1993)Chad Smith2023-02-072-1/+17
| |
| * schema: fix gpt labels, use type string for GUID (#1995)Brett Holman2023-02-062-3/+30
| | | | | | LP #2004599