sru cloud-init (23.4 update) Focal, Jammy, and Mantic

Bug #2045582 reported by Alberto Contreras
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cloud-init (Ubuntu)
Fix Released
Undecided
Alberto Contreras
Focal
Fix Released
Undecided
Alberto Contreras
Jammy
Fix Released
Undecided
Alberto Contreras
Lunar
Won't Fix
Undecided
Alberto Contreras
Mantic
Fix Released
Undecided
Alberto Contreras

Bug Description

== Begin SRU Template ==
[Impact]
This release sports both bug-fixes and new features and we would like to
make sure all of our supported customers have access to these
improvements. The notable ones are:

   - 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 (LP: #2038945)
   - 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 (LP: #2030729)
  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

See the changelog entry below for a full list of changes and bugs.

[Test Case]
The following development and SRU process was followed:
https://wiki.ubuntu.com/CloudinitUpdates

The cloud-init team will be in charge of attaching the artifacts and
console output of the appropriate run to the bug. cloud-init team
members will not mark ‘verification-done’ until this has happened.

* Automated Test Results
<TODO-SRU-VERIFICATION: attach automated cloud-init-proposed test artifacts from tests for each release with lxd artifacts>
<TODO-SRU-VERIFICATION: attach automated cloud-init-proposed test artifacts from tests for each release with kvm artifacts>
<TODO-SRU-VERIFICATION: attach automated curtin vmtest with cloud-init proposed>
<TODO-SRU-VERIFICATION: attach Solutions Testing team test results for each LTS>

* Manual Test Results
<TODO-SRU-VERIFICATION: attach manual cloud-init-proposed test artifacts from tests for each release on ec2 datasource>
<TODO-SRU-VERIFICATION: attach manual cloud-init-proposed test artifacts from tests for each release on gce datasource>
<TODO-SRU-VERIFICATION: attach manual cloud-init-proposed test artifacts from tests for each release on azure datasource>

[Regression Potential]
In order to mitigate the regression potential, the results of the
aforementioned integration tests are attached to this bug.

== End SRU Template ==

 - 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

Changed in cloud-init (Ubuntu):
assignee: nobody → Alberto Contreras (aciba)
Changed in cloud-init (Ubuntu Focal):
assignee: nobody → Alberto Contreras (aciba)
Changed in cloud-init (Ubuntu Jammy):
assignee: nobody → Alberto Contreras (aciba)
Changed in cloud-init (Ubuntu Mantic):
assignee: nobody → Alberto Contreras (aciba)
Changed in cloud-init (Ubuntu Lunar):
assignee: nobody → Alberto Contreras (aciba)
Changed in cloud-init (Ubuntu Focal):
status: New → In Progress
Changed in cloud-init (Ubuntu):
status: New → In Progress
Changed in cloud-init (Ubuntu Lunar):
status: New → In Progress
Changed in cloud-init (Ubuntu Jammy):
status: New → In Progress
Changed in cloud-init (Ubuntu Mantic):
status: New → In Progress
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Alberto, or anyone else affected,

Accepted cloud-init into mantic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/23.4-0ubuntu1~23.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-mantic to verification-done-mantic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-mantic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in cloud-init (Ubuntu Mantic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-mantic
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Alberto, or anyone else affected,

Accepted cloud-init into lunar-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/23.4-0ubuntu1~23.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-lunar to verification-done-lunar. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-lunar. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in cloud-init (Ubuntu Lunar):
status: In Progress → Fix Committed
tags: added: verification-needed-lunar
Changed in cloud-init (Ubuntu Jammy):
status: In Progress → Fix Committed
tags: added: verification-needed-jammy
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Alberto, or anyone else affected,

Accepted cloud-init into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/23.4-0ubuntu1~22.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Alberto, or anyone else affected,

Accepted cloud-init into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/23.4-0ubuntu1~20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in cloud-init (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed-focal
Changed in cloud-init (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Alberto Contreras (aciba) wrote (last edit ): Re: sru cloud-init (23.4 update) Focal, Jammy, and Lunar, Mantic

Regression testing attached. This includes:
* Cloud-init integration tests on EC2, GCE, Azure, LXD Containers, and LXD VMs for focal, jammy, lunar, and mantic.
* Curtin SRU.

Any failures were transient, pre-existing issues, or test failures and called out in failures.txt or rerun in <job>-rerun.txt file.

Revision history for this message
Jeffrey Chang (modern911) wrote :

Hello all,

SQA has tested cloud-init on jammy and focal and didnt run into any issues.

The results are only visible by Canonical employees but,

The Focal testplan can be found at:
https://solutions.qa.canonical.com/releasetests/59233206-2070-49a8-972b-c6480249e66d/

and Jammy testplan can be found at:
https://solutions.qa.canonical.com/releasetests/d9ab2069-21d4-47b8-a748-3c37125296b3/

Revision history for this message
Alberto Contreras (aciba) wrote :

We have detected a couple of issues regarding 23.4:

1. https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2046483
Which has been already fixed upstream.

2. We forgot to add quilt patches disabling apt deb822-style sources files for stable releases.
PR that added that functionality upstream: https://github.com/canonical/cloud-init/pull/4437

We have upstream-released 23.4.1 including the fix for (1) and are working on downstream releases for f, j, m, l including both fixes.

Revision history for this message
Chris Patterson (cjp256) wrote :
Download full text (3.8 KiB)

Request to pause SRU to reconsider impact of changes to exit code for cloud-init status --wait​.

In the cases where there are recoverable warnings/errors, users checking status by exit code will start failing without changes on their end to accommodate the new behavior. We suspect this will be an issue for deployments where some of the warnings/errors are considered "normal".

Consider a customer using the Ubuntu minimal images (on Azure) which is currently missing "eject" and an error is being emitted. I believe if cloud-init 23.4 rolls out as-is, the status checks will start failing 100% of the time.

```
cpatterson@temp-vm-cpatterson-eastus-t20240105174837:~$ cloud-init status --wait

status: done
cpatterson@temp-vm-cpatterson-eastus-t20240105174837:~$ echo $?
2
cpatterson@temp-vm-cpatterson-eastus-t20240105174837:~$ cloud-init --version
/usr/bin/cloud-init 23.4-0ubuntu1~22.04.1
cpatterson@temp-vm-cpatterson-eastus-t20240105174837:~$ cloud-init status --wait --format json
{
  "_schema_version": "1",
  "boot_status_code": "enabled-by-generator",
  "datasource": "azure",
  "detail": "DataSourceAzure [seed=/dev/sr0]",
  "errors": [],
  "extended_status": "degraded done",
  "init": {
    "errors": [],
    "finished": 1704494973.501599,
    "recoverable_errors": {},
    "start": 1704494969.534187
  },
  "init-local": {
    "errors": [],
    "finished": 1704494968.0249393,
    "recoverable_errors": {
      "ERROR": [
        "Failed ejecting the provisioning iso: Unexpected error while running command.\nCommand: ['eject', '/dev/sr0']\nExit code: -\nReason: [Errno 2] No such file or directory: b'eject'\nStdout: -\nStderr: -"
      ]
    },
    "start": 1704494956.9926035
  },
  "last_update": "Fri, 05 Jan 2024 22:49:35 +0000",
  "modules-config": {
    "errors": [],
    "finished": 1704494975.1977916,
    "recoverable_errors": {},
    "start": 1704494974.6474068
  },
  "modules-final": {
    "errors": [],
    "finished": 1704494975.8049285,
    "recoverable_errors": {},
    "start": 1704494975.5019412
  },
  "recoverable_errors": {
    "ERROR": [
      "Failed ejecting the provisioning iso: Unexpected error while running command.\nCommand: ['eject', '/dev/sr0']\nExit code: -\nReason: [Errno 2] No such file or directory: b'eject'\nStdout: -\nStderr: -"
    ]
  },
  "schemas": {
    "1": {
      "boot_status_code": "enabled-by-generator",
      "datasource": "azure",
      "detail": "DataSourceAzure [seed=/dev/sr0]",
      "errors": [],
      "extended_status": "degraded done",
      "init": {
        "errors": [],
        "finished": 1704494973.501599,
        "recoverable_errors": {},
        "start": 1704494969.534187
      },
      "init-local": {
        "errors": [],
        "finished": 1704494968.0249393,
        "recoverable_errors": {
          "ERROR": [
            "Failed ejecting the provisioning iso: Unexpected error while running command.\nCommand: ['eject', '/dev/sr0']\nExit code: -\nReason: [Errno 2] No such file or directory: b'eject'\nStdout: -\nStderr: -"
          ]
        },
        "start": 1704494956.9926035
      },
      "last_update": "Fri, 05 Jan 2024 22:49:35 +0000",
      "modules-config": {
        "errors": [],
 ...

Read more...

Revision history for this message
Chris Patterson (cjp256) wrote :

For images created from base images with cloud-init <= 23.3 and upgraded to the latest (like being done with this testing), I notice that the user will see some complaints when it comes to apt update due to the old sources.list configuration alongside new sources.list.d configuration. This may be expected, but figured I'd share anyways.

$ sudo apt update
<snip>
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:11 and /etc/apt/sources.list.d/ubuntu.sources:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:11 and /etc/apt/sources.list.d/ubuntu.sources:1
W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:11 and /etc/apt/sources.list.d/ubuntu.sources:1
...
<snip>

James Falcon (falcojr)
tags: added: verification-failed-focal verification-failed-jammy verification-failed-lunar verification-failed-mantic
removed: verification-needed verification-needed-focal verification-needed-jammy verification-needed-lunar verification-needed-mantic
Revision history for this message
Alberto Contreras (aciba) wrote :

Chris Patterson:

https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2045582/comments/8 is being fixed as part of https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2048522 and will be included in cloud-init 23.4.1-0ubuntu1~XX.YY.2 versions.

https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2045582/comments/9 was fixed in cloud-init 23.4.1-0ubuntu1~XX.YY.1 versions.

tags: added: verification-needed verification-needed-focal verification-needed-jammy verification-needed-lunar verification-needed-mantic
removed: verification-failed-focal verification-failed-jammy verification-failed-lunar verification-failed-mantic
James Falcon (falcojr)
tags: added: verification-failed verification-failed-focal verification-failed-jammy verification-failed-lunar verification-failed-mantic
removed: verification-needed verification-needed-focal verification-needed-jammy verification-needed-lunar verification-needed-mantic
Revision history for this message
Alberto Contreras (aciba) wrote :

Marking lunar as 'won't fix' as it goes EOL the 25th, and the unapproved uploads to the lunar queue have been rejected because of that, I think.

Changed in cloud-init (Ubuntu Lunar):
status: Fix Committed → Won't Fix
Revision history for this message
Alberto Contreras (aciba) wrote :
tags: added: regression-proposed
James Falcon (falcojr)
tags: removed: regression-proposed
summary: - sru cloud-init (23.4 update) Focal, Jammy, and Lunar, Mantic
+ sru cloud-init (23.4 update) Focal, Jammy, and Mantic
Revision history for this message
Andreas Hasenack (ahasenack) wrote : Please test proposed package

Hello Alberto, or anyone else affected,

Accepted cloud-init into mantic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/23.4.2-0ubuntu0~23.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-mantic to verification-done-mantic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-mantic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

tags: added: verification-needed verification-needed-mantic
removed: verification-failed verification-failed-mantic
tags: added: verification-needed-jammy
removed: verification-failed-jammy
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello Alberto, or anyone else affected,

Accepted cloud-init into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/23.4.2-0ubuntu0~22.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

tags: added: verification-needed-focal
removed: verification-failed-focal
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello Alberto, or anyone else affected,

Accepted cloud-init into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/23.4.2-0ubuntu0~20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

A second instance of https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2046483 was found in the packages currently in proposed

tags: added: regression-proposed
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello Alberto, or anyone else affected,

Accepted cloud-init into mantic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/23.4.3-0ubuntu0~23.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-mantic to verification-done-mantic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-mantic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello Alberto, or anyone else affected,

Accepted cloud-init into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/23.4.3-0ubuntu0~22.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello Alberto, or anyone else affected,

Accepted cloud-init into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/23.4.3-0ubuntu0~20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Alberto Contreras (aciba) wrote :

Attaching supplemental test runs on azure, ec2 and focal, jammy and mantic. I have verified that 23.4.3-0ubuntu0~20.04.1, 23.4.3-0ubuntu0~22.04.1 and 23.4.3-0ubuntu0~23.10.1 work as expected and fixes

https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2046483/
https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2051147
https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2048522

James Falcon (falcojr)
tags: added: verification-done verification-done-focal verification-done-jammy verification-done-mantic
removed: verification-failed-lunar verification-needed verification-needed-focal verification-needed-jammy verification-needed-mantic
Revision history for this message
Chad Smith (chad.smith) wrote (last edit ):

Given that the two minor commits fixed in during initial verification/proposed-regression of 23.4 were focused on generic areas covered now by cloud-init integration tests and specifically Azure platform changes, there is little additional risk warranting a full re-run of SoutionsQA tests, curtin and all clouds beyond the included azure and ec2.

As such, we've limited our additional test runs to ec2 and azure on the affected Ubuntu series.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cloud-init - 23.4.3-0ubuntu0~23.10.1

---------------
cloud-init (23.4.3-0ubuntu0~23.10.1) mantic; urgency=medium

  * Upstream snapshot based on 23.4.3. (LP: #2046483).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4.3/ChangeLog

cloud-init (23.4.2-0ubuntu0~23.10.1) mantic; urgency=medium

  * Upstream snapshot based on 23.4.2. (LP: #2045582).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4.2/ChangeLog
    - Bugs fixed in this snapshot: (LP: #2051147)

cloud-init (23.4.1-0ubuntu1~23.10.2) mantic; urgency=medium

  * d/p/status-retain-recoverable-error-exit-code.patch:
    Retain exit code in cloud-init status for recoverable errors.
    (LP: #2048522).

cloud-init (23.4.1-0ubuntu1~23.10.1) mantic; urgency=medium

  * d/p/retain-apt-pre-deb822.patch:
    - Disable apt source list generation with DEB822 style
  * d/p/do-not-block-user-login.patch:
    - revert redacted patch content introduced in 23.4-0
  * refresh patches:
    - d/p/status-do-not-remove-duplicated-data.patch
  * d/changelog: amend 23.4-0 refresh patches and dropped cherry-picks entry
  * Upstream snapshot based on 23.4.1. (LP: #2045582).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4.1/ChangeLog

cloud-init (23.4-0ubuntu1~23.10.1) mantic; urgency=medium

  * d/p/status-do-not-remove-duplicated-data.patch:
    - Revert behavior downstream, leave duplicate data
  * d/control: add python3-apt as Recommends to read APT config from apt_pkg
  * refresh patches:
    - d/p/do-not-block-user-login.patch
  * drop the following cherry-picks now included:
    - cpick-0d9f149a-Pytestify-apt-config-test-modules-4424
    - cpick-5023e9f9-Refactor-test_apt_source_v1.py-to-use-pytest-4427
    - cpick-e9cdd7e3-Install-gnupg-if-gpg-not-found-4431
    - cpick-015543d3-apt-install-software-properties-common-when-absent-but
    - cpick-2ab1f340-fix-cc_apt_configure-avoid-unneeded-call-to-apt-install
  * Upstream snapshot based on 23.4. (LP: #2045582).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4/ChangeLog

 -- James Falcon <email address hidden> Fri, 02 Feb 2024 16:00:04 -0600

Changed in cloud-init (Ubuntu Mantic):
status: Fix Committed → Fix Released
Revision history for this message
Andreas Hasenack (ahasenack) wrote : Update Released

The verification of the Stable Release Update for cloud-init has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cloud-init - 23.4.3-0ubuntu0~22.04.1

---------------
cloud-init (23.4.3-0ubuntu0~22.04.1) jammy; urgency=medium

  * Upstream snapshot based on 23.4.3. (LP: #2046483).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4.3/ChangeLog

cloud-init (23.4.2-0ubuntu0~22.04.1) jammy; urgency=medium

  * Upstream snapshot based on 23.4.2. (LP: #2045582).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4.2/ChangeLog
    - Bugs fixed in this snapshot: (LP: #2051147)

cloud-init (23.4.1-0ubuntu1~22.04.2) jammy; urgency=medium

  * d/p/status-retain-recoverable-error-exit-code.patch:
    Retain exit code in cloud-init status for recoverable errors.
    (LP: #2048522).

cloud-init (23.4.1-0ubuntu1~22.04.1) jammy; urgency=medium

  * d/p/retain-apt-pre-deb822.patch:
    - Disable apt source list generation with DEB822 style
  * refresh patches:
    - d/p/status-do-not-remove-duplicated-data.patch
  * d/changelog: amend 23.4-0 refresh patches entry
  * Upstream snapshot based on 23.4.1. (LP: #2045582).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4.1/ChangeLog

cloud-init (23.4-0ubuntu1~22.04.1) jammy; urgency=medium

  * d/control: add python3-apt as Recommends to read APT config from apt_pkg
  * d/p/status-do-not-remove-duplicated-data.patch:
    - Revert behavior downstream, leave duplicate data
  * d/p/series: bring back retain-old-groups.patch.
    This patch was inadvertently dropped in 5d4a3cf.
  * refresh patches:
    - d/p/do-not-block-user-login.patch
  * Upstream snapshot based on 23.4. (LP: #2045582).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4/ChangeLog

 -- James Falcon <email address hidden> Fri, 02 Feb 2024 15:59:14 -0600

Changed in cloud-init (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cloud-init - 23.4.3-0ubuntu0~20.04.1

---------------
cloud-init (23.4.3-0ubuntu0~20.04.1) focal; urgency=medium

  * Upstream snapshot based on 23.4.3. (LP: #2046483).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4.3/ChangeLog

cloud-init (23.4.2-0ubuntu0~20.04.1) focal; urgency=medium

  * Upstream snapshot based on 23.4.2. (LP: #2045582).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4.2/ChangeLog
    - Bugs fixed in this snapshot: (LP: #2051147)

cloud-init (23.4.1-0ubuntu1~20.04.2) focal; urgency=medium

  * d/p/status-retain-recoverable-error-exit-code.patch:
    Retain exit code in cloud-init status for recoverable errors.
    (LP: #2048522).

cloud-init (23.4.1-0ubuntu1~20.04.1) focal; urgency=medium

  * d/p/retain-apt-pre-deb822.patch:
    - Disable apt source list generation with DEB822 style
  * refresh patches:
    - d/p/status-do-not-remove-duplicated-data.patch
  * d/changelog: amend 23.4-0 refresh patches entry
  * Upstream snapshot based on 23.4.1. (LP: #2045582).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4.1/ChangeLog

cloud-init (23.4-0ubuntu1~20.04.1) focal; urgency=medium

  * d/p/status-do-not-remove-duplicated-data.patch:
    - Revert behavior downstream, leave duplicate data
  * d/control: add python3-apt as Recommends to read APT config from apt_pkg
  * refresh patches:
    - d/p/do-not-block-user-login.patch
    - d/p/netplan99-cannot-use-default.patch
  * Upstream snapshot based on 23.4. (LP: #2045582).
    List of changes from upstream can be found at
    https://raw.githubusercontent.com/canonical/cloud-init/23.4/ChangeLog

 -- James Falcon <email address hidden> Fri, 02 Feb 2024 16:00:45 -0600

Changed in cloud-init (Ubuntu Focal):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.