Daily 22.04: lxd_vm #72
120-daily-integration-22.04-lxd_vm.yml
on: schedule
jammy-lxd_vm
/
integration-test
3h 1m
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
|
|