Skip to content

Daily 22.04: lxd_vm #72

Daily 22.04: lxd_vm

Daily 22.04: lxd_vm #72

Triggered via schedule August 23, 2026 23:05
Status Failure
Total duration 3h 1m 46s
Artifacts 2
jammy-lxd_vm  /  integration-test
3h 1m
jammy-lxd_vm / integration-test
Fit to window
Zoom out
Zoom in

Annotations

4 errors and 1 warning
Failed Test: test_default_user_settings_override
test_default_user_settings_override: AssertionError: assert None + where None = <function search at 0x7fef27455580>('^ubuntu\\s+P\\b', 'ubuntu L 08/24/2026 0 99999 7 -1') + where <function search at 0x7fef27455580> = re.search - client = <tests.integration_tests.instances.IntegrationInstance object at 0x7fef08db57c0> @pytest.mark.ci @pytest.mark.skipif(not IS_UBUNTU, reason="Test is Ubuntu specific") @pytest.mark.user_data(USER_DATA_OVERRIDE) def test_default_user_settings_override(client: IntegrationInstance): """ Test that the default user settings are correctly overridden. """ # Check shell shell_set = ( client.execute(["getent", "passwd", "ubuntu"]) .stdout.strip() .split(":")[-1] ) if CLOUD_INIT_SOURCE in ["NONE", "IN_PLACE"]: assert ( "/bin/sh" == shell_set ), "Shell setting not overriden even though the user is new" else: assert ( "/bin/bash" == shell_set ), "Shell setting overriden even though user already exists" # Check password is not locked passwd_status = client.execute(["passwd", "-S", "ubuntu"]).stdout > assert re.search(r"^ubuntu\s+P\b", passwd_status) E AssertionError: assert None E + where None = <function search at 0x7fef27455580>('^ubuntu\\s+P\\b', 'ubuntu L 08/24/2026 0 99999 7 -1') E + where <function search at 0x7fef27455580> = re.search tests/integration_tests/modules/test_users_groups.py:243: AssertionError
Failed Test: test_cli
test_cli: AssertionError: Unexpected return code (0) while running 'cloud-init status --long', expected 2. Command produced stdout: status: done extended_status: degraded done boot_status_code: enabled-by-generator last_update: Thu, 01 Jan 1970 00:00:54 +0000 detail: DataSourceLXD errors: [] recoverable_errors: DEPRECATED: - Deprecated cloud-config provided: users.1.sudo: Changed in version 22.2. The value ``false`` is deprecated for this key, use ``null`` instead. stderr: assert 2 == 0 + where 0 = 'status: done\r\nextended_status: degraded done\r\nboot_status_code: enabled-by-generator\r\nlast_update: Thu, 01 Jan 1970 00:00:54 +0000\r\ndetail: DataSourceLXD\r\nerrors: []\r\nrecoverable_errors:\r\nDEPRECATED:\r\n\t- Deprecated cloud-config provided: users.1.sudo: Changed in version 22.2. The value ``false`` is deprecated for this key, use ``null`` instead.'.return_code - self = <test_combined.TestCombined object at 0x7fef1b6703e0> class_client = <tests.integration_tests.instances.IntegrationInstance object at 0x7fef1b5329f0> def test_cli(self, class_client: IntegrationInstance): """Check that various commands work as expected The following checks are pretty quick and check a couple of basic expectations for the happy path of these commands. The strategy employed is not to test every possible combination, but to test each one individually as well as at least one call with a combination of flags and arguments. """ for command in [ # collect-logs generate file in expected location ( "cloud-init collect-logs --redact-sensitive --tarfile " "/root/redacted.tar.gz" ), "ls /root/redacted.tar.gz", # single subcommands "cloud-init single --name cc_write_files --frequency always", "cloud-init single --name cc_write_files --frequency instance", "cloud-init single --name cc_write_files --frequency once", ( "cloud-init single --name cc_write_files --frequency once " "--report" ), # single subcommands "cloud-init schema --system", "cloud-init schema --system --annotate", "cloud-init schema --config-file /dev/null", "cloud-init schema --config-file /dev/null --annotate", ( "cloud-init schema --config-file /dev/null --annotate " "--instance-data /run/cloud-init/instance-data.json" ), ( "cloud-init schema " "--config-file /etc/netplan/50-cloud-init.yaml " "--schema-type network-config" ), # analyze subcommands "cloud-init analyze blame", "cloud-init analyze show", "cloud-init analyze dump", # query subcommands "cloud-init query userdata", "cloud-init query --list-keys", "cloud-init query --format '{{v1.cloud_name}}'", ( "cloud-init query userdata --instance-data " "/run/cloud-init/instance-data.json" ), ( "cloud-init query userdata --vendor-data " "/var/lib/cloud/instance/vendor-data.txt" ), ( "cloud-init query userdata --user-data " "/var/lib/cloud/instance/user-data.txt" ), ( "cloud-init query userdata --format '{{v1.cloud_name}}' " "--instance-data /run/cloud-init/instance-data.json " "--vendor-data /var/lib/cloud/instance/vendor-data.txt " "--user-data /var/lib/cloud/instance/user-data.txt" ), ]: check_for_unwanted( class_client.execute(command), command, text=UNWANTED_WORDS, ) # status subcommands for command in
Failed Test: test_mount_point_with_space_is_escaped
test_mount_point_with_space_is_escaped: AssertionError: assert '/mnt/Cdrom\\040Drive' in 'LABEL=cloudimg-rootfs\t/\t ext4\tdiscard,errors=remount-ro\t0 1\nLABEL=UEFI\t/boot/efi\tvfat\tumask=0077\t0 1\nserver.example:/export\t/mnt/Cdrom Drive\tnfs\tdefaults,noauto,comment=cloudconfig\t0\t0' - client = <tests.integration_tests.instances.IntegrationInstance object at 0x7fef1b4c4680> @pytest.mark.user_data(USER_DATA) def test_mount_point_with_space_is_escaped(client: IntegrationInstance): # cloud-init should have configured mounts without any errors. log = client.read_from_file("/var/log/cloud-init.log") verify_clean_log(log) assert "SUCCESS: config-mounts ran successfully" in log # The space must be octal-escaped (\040) in the /etc/fstab entry. fstab = client.read_from_file("/etc/fstab") > assert "/mnt/Cdrom\\040Drive" in fstab E AssertionError: assert '/mnt/Cdrom\\040Drive' in 'LABEL=cloudimg-rootfs\t/\t ext4\tdiscard,errors=remount-ro\t0 1\nLABEL=UEFI\t/boot/efi\tvfat\tumask=0077\t0 1\nserver.example:/export\t/mnt/Cdrom Drive\tnfs\tdefaults,noauto,comment=cloudconfig\t0\t0' tests/integration_tests/bugs/test_gh3603.py:42: AssertionError
jammy-lxd_vm / integration-test
Process completed with exit code 1.
jammy-lxd_vm / integration-test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: ctrf-io/github-test-reporter@024bc4b64d997ca9da86833c6b9548c55c620e40. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Artifacts

Produced during runtime
Name Size Digest
ctrf-report-lxd_vm-jammy
22.5 KB
sha256:ac8fbf8eadbf083c277705606349574892241107ffb3f946894ca2e036704cfa
failure-integration-test
960 KB
sha256:389bf2593c9664ae9fc1402e2cc7e7a466d455b89a8493d5761c2131cf12cd89