Cross posting from the charmhub forum, as I think this issue is better raised here.
Hello,
I am running Jammy on a dev box and am hitting some interesting issues launching centos7 lxd containers. Please keep in mind that launching the containers works as expected using 20.04.
I seemed to be blocked from using centos7 containers in general and with Juju.
$ juju add-machine --series centos7
$ juju status | grep centos7
15 pending juju-91c14c-15 centos7 Running
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
$ lxd --version
5.6
$ snap info lxd | grep installed
installed: 5.6-794016a (23680) 142MB -
$ snap info juju | grep installed
installed: 2.9.34 (20510) 95MB classic
Try to launch centos7 upstream image.
$ lxc launch images:centos/7/amd64
Creating the instance
Instance name is: inviting-macaw
Starting inviting-macaw
Error: The image used by this instance requires a CGroupV1 host system
Try `lxc info --show-log local:inviting-macaw` for more info
$ lxc launch images:centos/7/amd64 --debug
DEBUG [2022-10-07T16:39:26Z] Connecting to a local LXD over a Unix socket
DEBUG [2022-10-07T16:39:26Z] Sending request to LXD etag= method=GET url="http://unix.socket/1.0"
DEBUG [2022-10-07T16:39:26Z] Got response struct from LXD
DEBUG [2022-10-07T16:39:26Z]
{
"config": {
"core.https_address": "[::]"
},
"api_extensions": [
"storage_zfs_remove_snapshots",
"container_host_shutdown_timeout",
"container_stop_priority",
"container_syscall_filtering",
"auth_pki",
"container_last_used_at",
"etag",
"patch",
"usb_devices",
"https_allowed_credentials",
"image_compression_algorithm",
"directory_manipulation",
"container_cpu_time",
"storage_zfs_use_refquota",
"storage_lvm_mount_options",
"network",
"profile_usedby",
"container_push",
"container_exec_recording",
"certificate_update",
"container_exec_signal_handling",
"gpu_devices",
"container_image_properties",
"migration_progress",
"id_map",
"network_firewall_filtering",
"network_routes",
"storage",
"file_delete",
"file_append",
"network_dhcp_expiry",
"storage_lvm_vg_rename",
"storage_lvm_thinpool_rename",
"network_vlan",
"image_create_aliases",
"container_stateless_copy",
"container_only_migration",
"storage_zfs_clone_copy",
"unix_device_rename",
"storage_lvm_use_thinpool",
"storage_rsync_bwlimit",
"network_vxlan_interface",
"storage_btrfs_mount_options",
"entity_description",
"image_force_refresh",
"storage_lvm_lv_resizing",
"id_map_base",
"file_symlinks",
"container_push_target",
"network_vlan_physical",
"storage_images_delete",
"container_edit_metadata",
"container_snapshot_stateful_migration",
"storage_driver_ceph",
"storage_ceph_user_name",
"resource_limits",
"storage_volatile_initial_source",
"storage_ceph_force_osd_reuse",
"storage_block_filesystem_btrfs",
"resources",
"kernel_limits",
"storage_api_volume_rename",
"macaroon_authentication",
"network_sriov",
"console",
"restrict_devlxd",
"migration_pre_copy",
"infiniband",
"maas_network",
"devlxd_events",
"proxy",
"network_dhcp_gateway",
"file_get_symlink",
"network_leases",
"unix_device_hotplug",
"storage_api_local_volume_handling",
"operation_description",
"clustering",
"event_lifecycle",
"storage_api_remote_volume_handling",
"nvidia_runtime",
"container_mount_propagation",
"container_backup",
"devlxd_images",
"container_local_cross_pool_handling",
"proxy_unix",
"proxy_udp",
"clustering_join",
"proxy_tcp_udp_multi_port_handling",
"network_state",
"proxy_unix_dac_properties",
"container_protection_delete",
"unix_priv_drop",
"pprof_http",
"proxy_haproxy_protocol",
"network_hwaddr",
"proxy_nat",
"network_nat_order",
"container_full",
"candid_authentication",
"backup_compression",
"candid_config",
"nvidia_runtime_config",
"storage_api_volume_snapshots",
"storage_unmapped",
"projects",
"candid_config_key",
"network_vxlan_ttl",
"container_incremental_copy",
"usb_optional_vendorid",
"snapshot_scheduling",
"snapshot_schedule_aliases",
"container_copy_project",
"clustering_server_address",
"clustering_image_replication",
"container_protection_shift",
"snapshot_expiry",
"container_backup_override_pool",
"snapshot_expiry_creation",
"network_leases_location",
"resources_cpu_socket",
"resources_gpu",
"resources_numa",
"kernel_features",
"id_map_current",
"event_location",
"storage_api_remote_volume_snapshots",
"network_nat_address",
"container_nic_routes",
"rbac",
"cluster_internal_copy",
"seccomp_notify",
"lxc_features",
"container_nic_ipvlan",
"network_vlan_sriov",
"storage_cephfs",
"container_nic_ipfilter",
"resources_v2",
"container_exec_user_group_cwd",
"container_syscall_intercept",
"container_disk_shift",
"storage_shifted",
"resources_infiniband",
"daemon_storage",
"instances",
"image_types",
"resources_disk_sata",
"clustering_roles",
"images_expiry",
"resources_network_firmware",
"backup_compression_algorithm",
"ceph_data_pool_name",
"container_syscall_intercept_mount",
"compression_squashfs",
"container_raw_mount",
"container_nic_routed",
"container_syscall_intercept_mount_fuse",
"container_disk_ceph",
"virtual-machines",
"image_profiles",
"clustering_architecture",
"resources_disk_id",
"storage_lvm_stripes",
"vm_boot_priority",
"unix_hotplug_devices",
"api_filtering",
"instance_nic_network",
"clustering_sizing",
"firewall_driver",
"projects_limits",
"container_syscall_intercept_hugetlbfs",
"limits_hugepages",
"container_nic_routed_gateway",
"projects_restrictions",
"custom_volume_snapshot_expiry",
"volume_snapshot_scheduling",
"trust_ca_certificates",
"snapshot_disk_usage",
"clustering_edit_roles",
"container_nic_routed_host_address",
"container_nic_ipvlan_gateway",
"resources_usb_pci",
"resources_cpu_threads_numa",
"resources_cpu_core_die",
"api_os",
"container_nic_routed_host_table",
"container_nic_ipvlan_host_table",
"container_nic_ipvlan_mode",
"resources_system",
"images_push_relay",
"network_dns_search",
"container_nic_routed_limits",
"instance_nic_bridged_vlan",
"network_state_bond_bridge",
"usedby_consistency",
"custom_block_volumes",
"clustering_failure_domains",
"resources_gpu_mdev",
"console_vga_type",
"projects_limits_disk",
"network_type_macvlan",
"network_type_sriov",
"container_syscall_intercept_bpf_devices",
"network_type_ovn",
"projects_networks",
"projects_networks_restricted_uplinks",
"custom_volume_backup",
"backup_override_name",
"storage_rsync_compression",
"network_type_physical",
"network_ovn_external_subnets",
"network_ovn_nat",
"network_ovn_external_routes_remove",
"tpm_device_type",
"storage_zfs_clone_copy_rebase",
"gpu_mdev",
"resources_pci_iommu",
"resources_network_usb",
"resources_disk_address",
"network_physical_ovn_ingress_mode",
"network_ovn_dhcp",
"network_physical_routes_anycast",
"projects_limits_instances",
"network_state_vlan",
"instance_nic_bridged_port_isolation",
"instance_bulk_state_change",
"network_gvrp",
"instance_pool_move",
"gpu_sriov",
"pci_device_type",
"storage_volume_state",
"network_acl",
"migration_stateful",
"disk_state_quota",
"storage_ceph_features",
"projects_compression",
"projects_images_remote_cache_expiry",
"certificate_project",
"network_ovn_acl",
"projects_images_auto_update",
"projects_restricted_cluster_target",
"images_default_architecture",
"network_ovn_acl_defaults",
"gpu_mig",
"project_usage",
"network_bridge_acl",
"warnings",
"projects_restricted_backups_and_snapshots",
"clustering_join_token",
"clustering_description",
"server_trusted_proxy",
"clustering_update_cert",
"storage_api_project",
"server_instance_driver_operational",
"server_supported_storage_drivers",
"event_lifecycle_requestor_address",
"resources_gpu_usb",
"clustering_evacuation",
"network_ovn_nat_address",
"network_bgp",
"network_forward",
"custom_volume_refresh",
"network_counters_errors_dropped",
"metrics",
"image_source_project",
"clustering_config",
"network_peer",
"linux_sysctl",
"network_dns",
"ovn_nic_acceleration",
"certificate_self_renewal",
"instance_project_move",
"storage_volume_project_move",
"cloud_init",
"network_dns_nat",
"database_leader",
"instance_all_projects",
"clustering_groups",
"ceph_rbd_du",
"instance_get_full",
"qemu_metrics",
"gpu_mig_uuid",
"event_project",
"clustering_evacuation_live",
"instance_allow_inconsistent_copy",
"network_state_ovn",
"storage_volume_api_filtering",
"image_restrictions",
"storage_zfs_export",
"network_dns_records",
"storage_zfs_reserve_space",
"network_acl_log",
"storage_zfs_blocksize",
"metrics_cpu_seconds",
"instance_snapshot_never",
"certificate_token",
"instance_nic_routed_neighbor_probe",
"event_hub",
"agent_nic_config",
"projects_restricted_intercept",
"metrics_authentication",
"images_target_project",
"cluster_migration_inconsistent_copy",
"cluster_ovn_chassis",
"container_syscall_intercept_sched_setscheduler",
"storage_lvm_thinpool_metadata_size",
"storage_volume_state_total",
"instance_file_head",
"instances_nic_host_name",
"image_copy_profile",
"container_syscall_intercept_sysinfo",
"clustering_evacuation_mode",
"resources_pci_vpd",
"qemu_raw_conf",
"storage_cephfs_fscache",
"network_load_balancer",
"vsock_api",
"instance_ready_state",
"network_bgp_holdtime",
"storage_volumes_all_projects",
"metrics_memory_oom_total",
"storage_buckets",
"storage_buckets_create_credentials",
"metrics_cpu_effective_total",
"projects_networks_restricted_access",
"storage_buckets_local",
"loki"
],
"api_status": "stable",
"api_version": "1.0",
"auth": "trusted",
"public": false,
"auth_methods": [
"tls"
],
"environment": {
"addresses": [
"192.168.7.10:8443",
"172.17.0.1:8443",
"10.158.215.1:8443",
"10.1.218.0:8443"
],
"architectures": [
"x86_64",
"i686"
],
"certificate": "-----BEGIN CERTIFICATE-----\nMIIB+TCCAYCgAwIBAgIQBUboQB/5csnl61SrG78ykDAKBggqhkjOPQQDAzAxMRww\nGgYDVQQKExNsaW51eGNvbnRhaW5lcnMub3JnMREwDwYDVQQDDAhyb290QGJkeDAe\nFw0yMjA5MDMxODMxMjdaFw0zMjA4MzExODMxMjdaMDExHDAaBgNVBAoTE2xpbnV4\nY29udGFpbmVycy5vcmcxETAPBgNVBAMMCHJvb3RAYmR4MHYwEAYHKoZIzj0CAQYF\nK4EEACIDYgAEbToJsr2Z/QhOpmphFidPIZU9mod+ogGSANM3gasZqKKVXdOiyI5Z\nXjLa9XneSAdQP5HQjKMEai5yDGqEsuzT54TbnMoVWkUz5YQJz/V9c/MO3X3VWnBz\nF25pgyC30F8co10wWzAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUH\nAwEwDAYDVR0TAQH/BAIwADAmBgNVHREEHzAdggNiZHiHBH8AAAGHEAAAAAAAAAAA\nAAAAAAAAAAEwCgYIKoZIzj0EAwMDZwAwZAIwBk7x2PCL4sVpyy7z113wrrN8vTNQ\nYSChkKF37WMJtn6HY3idDyF3WM5gkiZP59M5AjA3M4J8BFygppIopXDMkyW62eFE\n8AY7LDjf6ECyX6j0mIH4R8jECT0PkkteyQ65ybU=\n-----END CERTIFICATE-----\n",
"certificate_fingerprint": "6f962636c7c072c4fc3add998d5fd6544a684d248383bf99d61fc91fd80a7d3a",
"driver": "lxc | qemu",
"driver_version": "5.0.1 | 7.1.0",
"firewall": "nftables",
"kernel": "Linux",
"kernel_architecture": "x86_64",
"kernel_features": {
"idmapped_mounts": "true",
"netnsid_getifaddrs": "true",
"seccomp_listener": "true",
"seccomp_listener_continue": "true",
"shiftfs": "false",
"uevent_injection": "true",
"unpriv_fscaps": "true"
},
"kernel_version": "5.15.0-48-generic",
"lxc_features": {
"cgroup2": "true",
"core_scheduling": "true",
"devpts_fd": "true",
"idmapped_mounts_v2": "true",
"mount_injection_file": "true",
"network_gateway_device_route": "true",
"network_ipvlan": "true",
"network_l2proxy": "true",
"network_phys_macvlan_mtu": "true",
"network_veth_router": "true",
"pidfd": "true",
"seccomp_allow_deny_syntax": "true",
"seccomp_notify": "true",
"seccomp_proxy_send_notify_fd": "true"
},
"os_name": "Ubuntu",
"os_version": "22.04",
"project": "default",
"server": "lxd",
"server_clustered": false,
"server_event_mode": "full-mesh",
"server_name": "raton00",
"server_pid": 2756,
"server_version": "5.6",
"storage": "dir | zfs | btrfs",
"storage_version": "1 | 2.1.4-0ubuntu0.1 | 5.4.1",
"storage_supported_drivers": [
{
"Name": "ceph",
"Version": "15.2.16",
"Remote": true
},
{
"Name": "cephfs",
"Version": "15.2.16",
"Remote": true
},
{
"Name": "cephobject",
"Version": "15.2.16",
"Remote": true
},
{
"Name": "dir",
"Version": "1",
"Remote": false
},
{
"Name": "lvm",
"Version": "2.03.07(2) (2019-11-30) / 1.02.167 (2019-11-30) / 4.45.0",
"Remote": false
},
{
"Name": "zfs",
"Version": "2.1.4-0ubuntu0.1",
"Remote": false
},
{
"Name": "btrfs",
"Version": "5.4.1",
"Remote": false
}
]
}
}
Creating the instance
DEBUG [2022-10-07T16:39:26Z] Connecting to a remote simplestreams server URL="https://images.linuxcontainers.org"
DEBUG [2022-10-07T16:39:26Z] Connected to the websocket: ws://unix.socket/1.0/events
DEBUG [2022-10-07T16:39:26Z] Sending request to LXD etag= method=POST url="http://unix.socket/1.0/instances"
DEBUG [2022-10-07T16:39:26Z]
{
"architecture": "",
"config": {},
"devices": {},
"ephemeral": false,
"profiles": null,
"stateful": false,
"description": "",
"name": "",
"source": {
"type": "image",
"certificate": "",
"alias": "centos/7/amd64",
"server": "https://images.linuxcontainers.org",
"protocol": "simplestreams",
"mode": "pull",
"allow_inconsistent": false
},
"instance_type": "",
"type": "container"
}
DEBUG [2022-10-07T16:39:26Z] Got operation from LXD
DEBUG [2022-10-07T16:39:26Z]
{
"id": "2e7ed9d7-563d-4b49-9ec1-6bf57ea620c7",
"class": "task",
"description": "Creating instance",
"created_at": "2022-10-07T16:39:26.47522011Z",
"updated_at": "2022-10-07T16:39:26.47522011Z",
"status": "Running",
"status_code": 103,
"resources": {
"containers": [
"/1.0/containers/massive-dinosaur"
],
"instances": [
"/1.0/instances/massive-dinosaur"
]
},
"metadata": null,
"may_cancel": false,
"err": "",
"location": "none"
}
DEBUG [2022-10-07T16:39:26Z] Sending request to LXD etag= method=GET url="http://unix.socket/1.0/operations/2e7ed9d7-563d-4b49-9ec1-6bf57ea620c7"
DEBUG [2022-10-07T16:39:26Z] Got response struct from LXD
DEBUG [2022-10-07T16:39:26Z]
{
"id": "2e7ed9d7-563d-4b49-9ec1-6bf57ea620c7",
"class": "task",
"description": "Creating instance",
"created_at": "2022-10-07T16:39:26.47522011Z",
"updated_at": "2022-10-07T16:39:26.47522011Z",
"status": "Running",
"status_code": 103,
"resources": {
"containers": [
"/1.0/containers/massive-dinosaur"
],
"instances": [
"/1.0/instances/massive-dinosaur"
]
},
"metadata": null,
"may_cancel": false,
"err": "",
"location": "none"
}
Instance name is: massive-dinosaur
DEBUG [2022-10-07T16:39:26Z] Sending request to LXD etag= method=GET url="http://unix.socket/1.0/instances/massive-dinosaur"
DEBUG [2022-10-07T16:39:26Z] Got response struct from LXD
DEBUG [2022-10-07T16:39:26Z]
{
"architecture": "x86_64",
"config": {
"image.architecture": "amd64",
"image.description": "Centos 7 amd64 (20221007_07:08)",
"image.os": "Centos",
"image.release": "7",
"image.requirements.cgroup": "v1",
"image.serial": "20221007_07:08",
"image.type": "squashfs",
"image.variant": "default",
"volatile.apply_template": "create",
"volatile.base_image": "26f5f8a7ee17c67f918b9dc0386b0a50a3437ed1b35794105849684239f367e3",
"volatile.cloud-init.instance-id": "4a420f24-e5c3-4b4f-ba84-f0fb4bd07192",
"volatile.eth0.hwaddr": "00:16:3e:fa:27:bf",
"volatile.idmap.base": "0",
"volatile.idmap.next": "[{\"Isuid\":true,\"Isgid\":false,\"Hostid\":1000000,\"Nsid\":0,\"Maprange\":1000000000},{\"Isuid\":false,\"Isgid\":true,\"Hostid\":1000000,\"Nsid\":0,\"Maprange\":1000000000}]",
"volatile.last_state.idmap": "[]",
"volatile.uuid": "aeb4ae20-eeeb-4e73-8569-815e0779b211"
},
"devices": {},
"ephemeral": false,
"profiles": [
"default"
],
"stateful": false,
"description": "",
"created_at": "2022-10-07T16:39:26.550066651Z",
"expanded_config": {
"image.architecture": "amd64",
"image.description": "Centos 7 amd64 (20221007_07:08)",
"image.os": "Centos",
"image.release": "7",
"image.requirements.cgroup": "v1",
"image.serial": "20221007_07:08",
"image.type": "squashfs",
"image.variant": "default",
"volatile.apply_template": "create",
"volatile.base_image": "26f5f8a7ee17c67f918b9dc0386b0a50a3437ed1b35794105849684239f367e3",
"volatile.cloud-init.instance-id": "4a420f24-e5c3-4b4f-ba84-f0fb4bd07192",
"volatile.eth0.hwaddr": "00:16:3e:fa:27:bf",
"volatile.idmap.base": "0",
"volatile.idmap.next": "[{\"Isuid\":true,\"Isgid\":false,\"Hostid\":1000000,\"Nsid\":0,\"Maprange\":1000000000},{\"Isuid\":false,\"Isgid\":true,\"Hostid\":1000000,\"Nsid\":0,\"Maprange\":1000000000}]",
"volatile.last_state.idmap": "[]",
"volatile.uuid": "aeb4ae20-eeeb-4e73-8569-815e0779b211"
},
"expanded_devices": {
"eth0": {
"name": "eth0",
"network": "lxdbr0",
"type": "nic"
},
"root": {
"path": "/",
"pool": "zfs-pool",
"type": "disk"
}
},
"name": "massive-dinosaur",
"status": "Stopped",
"status_code": 102,
"last_used_at": "1970-01-01T00:00:00Z",
"location": "none",
"type": "container",
"project": "default"
}
Starting massive-dinosaur
DEBUG [2022-10-07T16:39:26Z] Sending request to LXD etag= method=PUT url="http://unix.socket/1.0/instances/massive-dinosaur/state"
DEBUG [2022-10-07T16:39:26Z]
{
"action": "start",
"timeout": -1,
"force": false,
"stateful": false
}
DEBUG [2022-10-07T16:39:26Z] Got operation from LXD
DEBUG [2022-10-07T16:39:26Z]
{
"id": "e116f3f4-5f26-41cd-aaee-e48a8d0ab95b",
"class": "task",
"description": "Starting instance",
"created_at": "2022-10-07T16:39:26.698924181Z",
"updated_at": "2022-10-07T16:39:26.698924181Z",
"status": "Running",
"status_code": 103,
"resources": {
"instances": [
"/1.0/instances/massive-dinosaur"
]
},
"metadata": null,
"may_cancel": false,
"err": "",
"location": "none"
}
DEBUG [2022-10-07T16:39:26Z] Sending request to LXD etag= method=GET url="http://unix.socket/1.0/operations/e116f3f4-5f26-41cd-aaee-e48a8d0ab95b"
DEBUG [2022-10-07T16:39:26Z] Got response struct from LXD
DEBUG [2022-10-07T16:39:26Z]
{
"id": "e116f3f4-5f26-41cd-aaee-e48a8d0ab95b",
"class": "task",
"description": "Starting instance",
"created_at": "2022-10-07T16:39:26.698924181Z",
"updated_at": "2022-10-07T16:39:26.698924181Z",
"status": "Running",
"status_code": 103,
"resources": {
"instances": [
"/1.0/instances/massive-dinosaur"
]
},
"metadata": null,
"may_cancel": false,
"err": "",
"location": "none"
}
Error: The image used by this instance requires a CGroupV1 host system
Try `lxc info --show-log local:massive-dinosaur` for more info
If I build and import my own centos7 as opposed to using the upstream image, I am able launch the centos7 container, but it doesn’t get an ipaddress.
$ lxc launch juju/centos7/amd64 jca
Creating jca
Starting jca
$ lxc list | grep jca
| jca | RUNNING | | | CONTAINER | 0 |
We can see the ubuntu container does get an ipaddress though.
$ lxc launch ubuntu:22.04
Creating the instance
Instance name is: certain-mammoth
Starting certain-mammoth
$ lxc list | grep certain-mammoth
| certain-mammoth | RUNNING | 10.158.215.85 (eth0) | | CONTAINER | 0 |
Introspecting a bit further, it seems the instance interface just doesn’t want to take an ip address, even when I try to force it by defining a static ip
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.158.215.242
NETMASK=255.255.255.0
GATEWAY=10.158.215.1
[root@c1 ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::216:3eff:fea9:4b2d prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:a9:4b:2d txqueuelen 1000 (Ethernet)
RX packets 25 bytes 1846 (1.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 21 bytes 1662 (1.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
I suppose this is more of a lxd issue than a Juju issue, but Juju is definitely affected as centos7 deployments no longer work using the lxd/localhost provider.
Any ideas?
Possibly I need to file a bug with lxd somewhere.
Thank you