← Back to team overview

cloud-init team mailing list archive

[community notice] Release of cloud-init 23.4

 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hello All,

Cloud-init release 23.4 is now available at:
https://github.com/canonical/cloud-init/releases/tag/23.4

The 23.4 release:
 * spanned about 3 months
 * had 25 contributors
 * fixed 4 Launchpad issues

Highlights:
  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


Thank you for your contributions,
The cloud-init team.


The full changelog is below:

 - tests: datasourcenone use client.restart to block until done (#4635)
 - tests: increase number of retries across reboot to 90 (#4651)
 - fix: Add schema for merge types (#4648)
 - feat: Allow aliyun ds to fetch data in init-local (#4590) [qidong.ld]
 - azure: report failure to eject as error instead of debug (#4643)
   [Chris Patterson]
 - bug(schema): write network-config if instance dir present (#4635)
 - test: fix schema fuzzing test (#4639)
 - Update build-on-openbsd dependencies (#4644) [CodeBleu]
 - fix(test): Fix expected log for ipv6-only ephemeral network (#4641)
 - refactor: Remove metaclass from network_state.py (#4638)
 - schema: non-root fallback to default paths on perm errors (# 4631)
 - fix: Don't loosen the permissions of the log file (#4628)
 - Revert "logging: keep current file mode of log file if its stricter
   than the new mode (#4250)"
 - ephemeral: Handle link up failure for both ipv4 and ipv6  (#4547)
 - fix(main): Don't call logging too early (#4595)
 - fix: Remove Ubuntu-specific kernel naming convention assertion (#4617)
 - fix(log): Do not implement handleError with a self parameter (#4617)
 - fix(log): Don't try to reuse stderr logger (#4617)
 - feat: Standardize logging output to stderr (#4617)
 - chore: Sever unmaintained TODO.rst (#4625)
 - test: Skip failing tests
 - distros: Add suse
 - test: Add default hello package version (#4614)
 - fix(net): Improve DHCPv4 SUSE code, add test
 - net: Fix DHCPv4 not enabled on SUSE in some cases [bin456789]
 - fix(schema): Warn if missing dependency (#4616)
 - fix(cli): main source cloud_config for schema validation (#4562)
 - feat(schema): annotation path for invalid top-level keys (#4562)
 - feat(schema): top-level additionalProperties: false (#4562)
 - test: ensure top-level properties tests will pass (#4562)
 - fix(schema): Add missing schema definitions (#4562)
 - test: Fix snap tests (#4562)
 - azure: Check for stale pps data from IMDS (#4596) [Ksenija Stanojevic]
 - test: Undo dhcp6 integration test changes (#4612)
 - azure: update diagnostic from warning level to debug [Chris Patterson]
 - azure/imds: remove limit for connection errors if route present (#4604)
   [Chris Patterson]
 - [enhancement]: Add shellcheck to CI (#4488) [Aviral Singh]
 - chore: add conventional commits template (#4593)
 - Revert "net: allow dhcp6 configuration from
   generate_fallback_configuration()" (#4607)
 - azure: workaround to disable reporting IMDS failures on Azure Stack
   [Chris Patterson]
 - cc_apt_pipelining: Update docs, deprecate options (#4571)
 - test: add gh workflows on push to main, update status badges (#4597)
 - util: Remove function abs_join() (#4587)
 - url_helper: Remove unused function retry_on_url_exc() (#4587)
 - cc_resizefs: Add bcachefs resize support (#4594)
 - integration_tests: Support non-Ubuntu distros (#4586)
 - fix(cmdline): fix cmdline parsing with MAC containing cc:
 - azure/errors: include http code in reason for IMDS failure
   [Chris Patterson]
 - tests: cloud-init schema --system does not return exit code 2
 - github: allow pull request to specify desired rebase and merge
 - tests: fix integration test expectations of exit 2 on schema warning
 - tests: fix schema test expected cli output Valid schema <type>
 - fix(schema cli): check raw userdata when processed cloud-config empty
 - azure: report failure to host if ephemeral DHCP secondary NIC (#4558)
   [Chris Patterson]
 - man: Document cloud-init error codes (#4500)
 - Add support for cloud-init "degraded" state (#4500)
 - status.json: Don't override detail key with error condition (#4500)
 - status: Remove duplicated data (#4500)
 - refactor: Rename exported_errors in status.json (#4500)
 - test: Remove stale status.json value (#4500)
 - tools/render-template: Make yaml loading opt-in, fix setup.py (#4564)
 - Add summit digest/trip report to docs (#4561) [Sally]
 - doc: Fix incorrect statement about `cloud-init analyze`
 - azure/imds: ensure new errors are logged immediately when retrying
   (#4468) [Chris Patterson]
 - Clarify boothook docs (#4543)
 - boothook: allow stdout/stderr to emit to cloud-init-output.log
 - summit-notes: add 2023 notes for reference in mailinglist/discourse
 - fix: added mock to stop leaking journalctl that slows down unit test
   (#4556) [Alec Warren]
 - tests: maas test for DataSourceMAASLocal get_data
 - maas tests: avoid using CiTest case and prefer pytest.tmpdir fixture
 - MAAS: Add datasource to init-local timeframe
 - Ensure all tests passed and/or are skipped
 - Support QEMU in integration tests
 - fix(read-dependencies): handle version specifiers containing [~!]
 - test: unpin pytest
 - schema: network-config optional network key. route uses oneOf (#4482)
 - schema: add cloud_init_deepest_matches for best error message (#4482)
 - network: warn invalid cfg add /run/cloud-init/network-config  (#4482)
 - schema: add network-config support to schema subcommand (#4482)
 - Update version number and merge ChangeLog from 23.3.3 into main (#4553)
 - azure: check for primary interface when performing DHCP (#4465)
   [Chris Patterson]
 - Fix hypothesis failure
 - subp: add a log when skipping a file for execution for lack of exe
   permission (#4506) [Ani Sinha]
 - azure/imds: refactor max_connection_errors definition (#4467)
   [Chris Patterson]
 - chore: fix PR template rendering (#4526)
 - fix(cc_apt_configure): avoid unneeded call to apt-install (#4519)
 - comment difference between sysconfig and NetworkManager renderer (#4517)
   [Ani Sinha]
 - Set Debian's default locale to be c.UTF-8 (#4503) (LP: #2038945)
 - Convert test_debian.py to pytest (#4503)
 - doc: fix cloudstack link
 - doc: fix development/contributing.html references
 - doc: hide duplicated links
 - Revert "ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen
   (#4281)" (#4511) (LP: #2039453)
 - Fix the missing mcopy argument [Vladimir Pouzanov]
 - tests: Add logging fix (#4499)
 - Update upgrade test to account for dhcp6
 - Remove logging of PPID path (#4502)
 - Make Python 3.12 CI test non-experimental (#4498)
 - ds-identify: exit 2 on disabled state from marker or cmdline (#4399)
 - cloud-init-generator: Various performance optimizations (#4399)
 - systemd: Standardize cloud-init systemd enablement (#4399)
 - benchmark: benchmark cloud-init-generator independent of ds-identify
   (#4399)
 - tests/integration_tests: add cloud-init disablement coverage (#4399)
 - doc: Describe disabling cloud-init using an environment variable (#4399)
 - fix: cloud-init status --wait broken with KERNEL_CMDLINE (#4399)
 - azure/imds: retry on 429 errors for reprovisiondata (#4470)
   [Chris Patterson]
 - cmd: Don't write json status files for non-boot stages (#4478)
 - ds-identify: Allow disable service and override environment (#4485)
   [Mina Galić]
 - Update DataSourceNWCS.py (#4496) [shell-skrimp]
 - Add r00ta to CLA signers file
 - Fix override of systemd_locale_conf in rhel [Jacopo Rota]
 - ci(linkcheck): minor fixes (#4495)
 - integration test fix for deb822 URI format (#4492)
 - test: use a mantic-compatible tz in t/i/m/test_combined.py (#4494)
 - ua: shift CLI command from ua to pro for all interactions
 - pro: avoid double-dash when enabling inviddual services on CLI
 - net: allow dhcp6 configuration from generate_fallback_configuration()
   (#4474) [Ani Sinha]
 - tests: apt re.search to match alternative ordering of installed pkgs
 - apt: doc apt_pkg performance improvement over subp apt-config dump
 - Tidy up contributing docs (#4469) [Sally]
 - [enhancement]: Automatically linkcheck in CI (#4479) [Aviral Singh]
 - Revert allowing pro service warnings (#4483)
 - Export warning logs to status.json (#4455)
 - Fix regression in package installation (#4466)
 - schema: cloud-init schema in early boot or in dev environ (#4448)
 - schema: annotation of nested dicts lists in schema marks (#4448)
 - feat(apport): collect ubuntu-pro logs if ubuntu-advantage.log present
   (#4443)
 - apt_configure: add deb822 support for default sources file (#4437)
 - net: remove the word "on instance boot" from cloud-init generated config
   (#4457) [Ani Sinha]
 - style: Make cloudinit.log functions use snake case (#4449)
 - Don't recommend using cloud-init as a library (#4459)
 - vmware: Fall back to vmtoolsd if vmware-rpctool errs (#4444)
   [Andrew Kutz]
 - azure: add option to enable/disable secondary ip config (#4432)
   [Ksenija Stanojevic]
 - Allow installing snaps via package_update_upgrade_install module (#4202)
 - docs: Add cloud-init overview/introduction (#4440) [Sally]
 - apt: install software-properties-common when absent but needed (#4441)
 - sources/Azure: Ignore system volume information folder while scanning
   for files in the ntfs resource disk (#4446) [Anh Vo]
 - refactor: Remove unnecessary __main__.py file
 - style: Drop vi format comments
 - cloudinit.log: Use more appropriate exception (#4435)
 - cloudinit.log: Don't configure NullHandler (#4435)
 - commit 6bbbfbbb030831c72b5aa2bba9cb8492f19d56f4
 - cloudinit.log: Remove unnecessary module function and variables (#4435)
 - cloudinit.log: Remove unused getLogger wrapper (#4435)
 - cloudinit.log: Standardize use of cloudinit's logging module (#4435)
 - Remove unnecessary logging wrapper in Cloud class (#4435)
 - integration test: allow pro service warnings (#4447)
 - integration tests: fix mount indentation (#4445)
 - sources/Azure: fix for conflicting reports to platform (#4434)
   [Chris Patterson]
 - docs: link the cloud-config validation service (#4442)
 - Fix pip-managed ansible on pip < 23.0.1 (#4403)
 - Install gnupg if gpg not found (#4431)
 - Add "phsm" as contributor (#4429) [Phsm Qwerty]
 - cc_ubuntu_advantage: do not rely on uaclient.messages module (#4397)
   [Grant Orndorff]
 - tools/ds-identify: match Azure datasource's ds_detect() behavior (#4430)
   [Chris Patterson]
 - Refactor test_apt_source_v1.py to use pytest (#4427)
 - sources: do not override datasource detection if None is in list (#4426)
   [Chris Patterson]
 - feat: check for create_hostname_file key before writing /etc/hostname
   (SC-1588) (#4330) [Cat Red]
 - Pytestify apt config test modules (#4424)
 - upstream gentoo patch (#4422)
 - Work around no instance ip (#4419)
 - Fix typing issues in subp module (#4401)
 - net: fix ipv6_dhcpv6_stateful/stateless/slaac configuration for rhel
   (#4395) [Ani Sinha]
 - Release 23.3.1
 - apt: kill dirmngr/gpg-agent without gpgconf dependency (LP: #2034273)
 - integration tests: fix mount indentation (#4405)
 - Use grep for faster parsing of cloud config in ds-identify (#4327)
   [Scott Moser] (LP: #2030729)
 - doc: fix instructions on how to disable cloud-init from kernel command
   line (#4406) [Ani Sinha]
 - doc/vmware: Update contents relevant to disable_vmware_customization
   [PengpengSun]
 - Bring back flake8 for python 3.6 (#4394)
 - integration tests: Fix cgroup parsing (#4402)
 - summary: Update template parameter descriptions in docs [MJ Moshiri]
 - Log PPID for better debugging (#4398)
 - integration tests: don't clean when KEEP_* flags true (#4400)
 - clean: add a new option to clean generated config files [Ani Sinha]
 - pep-594: drop deprecated pipes module import
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEtXGJmQjllKGaxWyeAEzasFr+6iAFAmVuCcwACgkQAEzasFr+
6iDFIxAAsmhdVQah6+tHI4HLBFvrQQ7b3NkYIVIYPqr49KwhT/pN6ilRjGK+xjW/
5AmCmDXiWFHXVXzmXA35r0iy3mvIL2Zt7AQBvovZxSx/e+cUpLsbn4xZwUmWjsGB
gjA4IMd+JjQ3ez+mnREFqdsLxGl5cBmdQA+4N5iT9BDOh1f68C6Xl5EcqqZx4Fbk
yGBb2jiCVNFXQqgHlw5KkoGYi49BL+VWUWLWCGeWos6iFFoanNNzVEYJ98f0Z0Oc
G48YtGX1mYuw6tFMuCtx3q9l44buCoVJYmJd3MUjLfTnbFoaQaC/IW8XComAv0+p
6+wp24ZwnbLvMx88BNtWrZ1PF1+GitF+XZ3pZ0RK5kMm5gU3y2IgYJ/wsknpq4fL
EoPVrwpvVQj0DP+iCxrH2uUHrxlY+PR9kzk7MYjpk+OMRRrlduu8QSpFXrd/m/m4
qoiwaUuXcSRFf79VVimj05xtm8bNciHXAxHGBkYHqQIQhJrESTC3gnDau/iJEzMw
CWFEsjAYmx6x3+u6dvUIAZkXmykQxRMLseN3rj7yKN14mzz0GBIMBzspb4tSg8tD
cQmpUnVR32imwVYw48zwF3Ttr6O4bZYux4zuXK3QFt+W6D4yrFDMsZ8hEBSwSFG0
q+Ze+5yWqDPLgad+ubXy8zHH8KgDNNtLN6pKucjbEQ1+X3GGo3A=
=mGlz
-----END PGP SIGNATURE-----