23.4
General:
- Add shellcheck to CI
- util: Remove function abs_join()
- Add support for cloud-init "degraded" state
- status.json: Don't override detail key with error condition
- tools/render-template: Make yaml loading opt-in, fix setup.py
- boothook: allow stdout/stderr to emit to cloud-init-output.log
- cloud-init-generator: Various performance optimizations
- systemd: Standardize cloud-init systemd enablement
- benchmark: benchmark cloud-init-generator independent of ds-identify
- Automatically linkcheck in CI
- cmd: Don't write json status files for non-boot stages
- apport: collect ubuntu-pro logs if ubuntu-advantage.log present
- sources: do not override datasource detection if None is in list
- clean: add a new option to clean generated config files
- pep-594: drop deprecated pipes module import
Distributions:
- Debian: Set Debian's default locale to be c.UTF-8
- Gentoo: upstream gentoo patch
- OpenBSD: Update build-on-openbsd dependencies
- SUSE: Add suse
AliYun: Allow aliyun ds to fetch data in init-local
Azure:
- report failure to eject as error instead of debug
- Check for stale pps data from IMDS
- imds: remove limit for connection errors if route present
- workaround to disable reporting IMDS failures on Azure Stack
- errors: include http code in reason for IMDS failure
- report failure to host if ephemeral DHCP secondary NIC
- imds: ensure new errors are logged immediately when retrying
- check for primary interface when performing DHCP
- imds: retry on 429 errors for reprovisiondata
- add option to enable/disable secondary ip config
- Ignore system volume information folder while scanning
for files in the ntfs resource disk
MAAS: Add datasource to init-local timeframe
NWCS: Update DataSourceNWCS.py
VMware: Fall back to vmtoolsd if vmware-rpctool errs
ConfigModules:
- cc_apt_configure:
- add deb822 support for default sources file
- install software-properties-common when absent but needed
- Install gnupg if gpg not found
- kill dirmngr/gpg-agent without gpgconf dependency
- cc_apt_pipelining: Update docs, deprecate options
- cc_resizefs: Add bcachefs resize support
- cc_package_update_upgrade_install:
- Allow installing snaps via package_update_upgrade_install module
- cc_ubuntu_advantage:
- do not rely on uaclient.messages module
- shift CLI command from ua to pro for all interactions
- cc_set_hostname, cc_update_hostname: check for create_hostname_file
key before writing /etc/hostname
Network:
- ephemeral: Handle link up failure for both ipv4 and ipv6
- warn invalid cfg add /run/cloud-init/network-config
- remove the word "on instance boot" from cloud-init generated config
Schema:
- non-root fallback to default paths on perm errors
- annotation path for invalid top-level keys
- top-level additionalProperties: false
- network-config optional network key. route uses oneOf
- add cloud_init_deepest_matches for best error message
- add network-config support to schema subcommand
- cloud-init schema in early boot or in dev environ
- annotation of nested dicts lists in schema marks
DsIdentify:
- exit 2 on disabled state from marker or cmdline
- Allow disable service and override environment
- match Azure datasource's ds_detect() behavior
- Use grep for faster parsing of cloud config in ds-identify
Logging:
- Standardize logging output to stderr
- Don't configure NullHandler
- Standardize use of cloudinit's logging module
- Log PPID for better debuggin
- Remove logging of PPID path
- style: Make cloudinit.log functions use snake case
- Export warning logs to status.json
Docs:
- man: Document cloud-init error codes
- Add summit digest/trip report to docs
- Clarify boothook docs
- Describe disabling cloud-init using an environment variable
- Tidy up contributing docs
- Add cloud-init overview/introduction
- vmware: Update contents relevant to disable_vmware_customization
- summit-notes: add 2023 notes for reference in mailinglist/discourse