Lxd: Unable to publish image: Bad type

Created on 17 Mar 2020  路  3Comments  路  Source: lxc/lxd

Required information

  • Distribution: centos
  • Distribution version: 8
client@lxd-node1:~$ lxc info
config:
  core.https_address: '[::]:8443'
  core.trust_password: true
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
- 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
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses:
  - 192.168.0.1:8443
  - 192.168.1.1:8443
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    MIIC.....
    -----END CERTIFICATE-----
  certificate_fingerprint: a90....
  driver: lxc
  driver_version: 3.2.1
  firewall: xtables
  kernel: Linux
  kernel_architecture: x86_64
  kernel_features:
    netnsid_getifaddrs: "true"
    seccomp_listener: "false"
    seccomp_listener_continue: "false"
    shiftfs: "false"
    uevent_injection: "true"
    unpriv_fscaps: "true"
  kernel_version: 4.18.0-147.3.1.el8_1.x86_64
  lxc_features:
    cgroup2: "false"
    mount_injection_file: "true"
    network_gateway_device_route: "true"
    network_ipvlan: "true"
    network_l2proxy: "true"
    network_phys_macvlan_mtu: "true"
    network_veth_router: "true"
    seccomp_notify: "true"
  project: default
  server: lxd
  server_clustered: false
  server_name: lxd-node1
  server_pid: 26474
  server_version: "3.22"
  storage: lvm
  storage_version: 2.02.133(2) (2015-10-30) / 1.02.110 (2015-10-30) / 4.39.0

Issue description

Unable to publish an image after updating from 3.20 to 3.22.

client@lxd-node1:~$ lxc publish daily --alias daily_d8_base --compression none --debug
DBUG[03-17|10:36:24] Connecting to a local LXD over a Unix socket 
DBUG[03-17|10:36:24] Sending request to LXD                   method=GET url=http://unix.socket/1.0 etag=
DBUG[03-17|10:36:24] Got response struct from LXD 
DBUG[03-17|10:36:24] 
    {
        "config": {
            "core.https_address": "[::]:8443",
            "core.trust_password": true
        },
        "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",
            "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"
        ],
        "api_status": "stable",
        "api_version": "1.0",
        "auth": "trusted",
        "public": false,
        "auth_methods": [
            "tls"
        ],
        "environment": {
            "addresses": [
                "192.168.0.1:8443",
                "192.168.1.1:8443"
            ],
            "architectures": [
                "x86_64",
                "i686"
            ],
            "certificate": "-----BEGIN CERTIFICATE-----\nMIICD.....\n-----END CERTIFICATE-----\n",
            "certificate_fingerprint": "a90...",
            "driver": "lxc",
            "driver_version": "3.2.1",
            "firewall": "xtables",
            "kernel": "Linux",
            "kernel_architecture": "x86_64",
            "kernel_features": {
                "netnsid_getifaddrs": "true",
                "seccomp_listener": "false",
                "seccomp_listener_continue": "false",
                "shiftfs": "false",
                "uevent_injection": "true",
                "unpriv_fscaps": "true"
            },
            "kernel_version": "4.18.0-147.3.1.el8_1.x86_64",
            "lxc_features": {
                "cgroup2": "false",
                "mount_injection_file": "true",
                "network_gateway_device_route": "true",
                "network_ipvlan": "true",
                "network_l2proxy": "true",
                "network_phys_macvlan_mtu": "true",
                "network_veth_router": "true",
                "seccomp_notify": "true"
            },
            "project": "default",
            "server": "lxd",
            "server_clustered": false,
            "server_name": "lxd-node1",
            "server_pid": 26474,
            "server_version": "3.22",
            "storage": "lvm",
            "storage_version": "2.02.133(2) (2015-10-30) / 1.02.110 (2015-10-30) / 4.39.0"
        }
    } 
DBUG[03-17|10:36:24] Sending request to LXD                   method=GET url=http://unix.socket/1.0/instances/daily etag=
DBUG[03-17|10:36:24] Got response struct from LXD 
DBUG[03-17|10:36:24] 
    {
        "architecture": "x86_64",
        "config": {
            "volatile.base_image": "444f7c9b71b51744144e207091adbc76da31bcf758524fc5b40cd18c18b035eb",
            "volatile.eth0.hwaddr": "00:16:3e:ef:ac:01",
            "volatile.idmap.base": "0",
            "volatile.idmap.current": "[]",
            "volatile.idmap.next": "[]",
            "volatile.last_state.idmap": "[]",
            "volatile.last_state.power": "STOPPED"
        },
        "devices": {},
        "ephemeral": false,
        "profiles": [
            "default"
        ],
        "stateful": false,
        "description": "",
        "created_at": "2020-03-17T10:19:33.819168275+01:00",
        "expanded_config": {
            "security.privileged": "true",
            "volatile.base_image": "444f7c9b71b51744144e207091adbc76da31bcf758524fc5b40cd18c18b035eb",
            "volatile.eth0.hwaddr": "00:16:3e:ef:ac:01",
            "volatile.idmap.base": "0",
            "volatile.idmap.current": "[]",
            "volatile.idmap.next": "[]",
            "volatile.last_state.idmap": "[]",
            "volatile.last_state.power": "STOPPED"
        },
        "expanded_devices": {
            "eth0": {
                "name": "eth0",
                "nictype": "bridged",
                "parent": "lxdbr0",
                "type": "nic"
            },
            "root": {
                "path": "/",
                "pool": "default",
                "type": "disk"
            }
        },
        "name": "daily",
        "status": "Stopped",
        "status_code": 102,
        "last_used_at": "2020-03-17T10:19:34.191147949+01:00",
        "location": "none",
        "type": "container"
    } 
DBUG[03-17|10:36:24] Connected to the websocket: ws://unix.socket/1.0/events 
DBUG[03-17|10:36:24] Sending request to LXD                   method=POST url=http://unix.socket/1.0/images etag=
DBUG[03-17|10:36:24] 
    {
        "auto_update": false,
        "properties": null,
        "public": false,
        "expires_at": "0001-01-01T00:00:00Z",
        "profiles": null,
        "filename": "",
        "source": {
            "alias": "",
            "certificate": "",
            "protocol": "",
            "server": "",
            "image_type": "",
            "mode": "",
            "type": "instance",
            "url": "",
            "name": "daily",
            "fingerprint": "",
            "secret": ""
        },
        "compression_algorithm": "none",
        "aliases": null
    } 
DBUG[03-17|10:36:24] Got operation from LXD 
DBUG[03-17|10:36:24] 
    {
        "id": "77395916-835a-4c25-953b-01aa997408e4",
        "class": "task",
        "description": "Downloading image",
        "created_at": "2020-03-17T10:36:24.380946368+01:00",
        "updated_at": "2020-03-17T10:36:24.380946368+01:00",
        "status": "Failure",
        "status_code": 400,
        "resources": null,
        "metadata": null,
        "may_cancel": false,
        "err": "Bad type",
        "location": "none"
    } 
DBUG[03-17|10:36:24] Sending request to LXD                   method=GET url=http://unix.socket/1.0/operations/77395916-835a-4c25-953b-01aa997408e4 etag=
DBUG[03-17|10:36:24] Got response struct from LXD 
DBUG[03-17|10:36:24] 
    {
        "id": "77395916-835a-4c25-953b-01aa997408e4",
        "class": "task",
        "description": "Downloading image",
        "created_at": "2020-03-17T10:36:24.380946368+01:00",
        "updated_at": "2020-03-17T10:36:24.380946368+01:00",
        "status": "Failure",
        "status_code": 400,
        "resources": null,
        "metadata": null,
        "may_cancel": false,
        "err": "Bad type",
        "location": "none"
    } 
Error: Bad type

Steps to reproduce

  1. Create a container from existing image
  2. Try to create another image from it with command lxc publish daily --alias daily_d8_base

Most helpful comment

Fix pushed to candidate snap now, will roll-out to users within the next 2 hours.
Sorry about that, a bugfix uncovered another bug...

All 3 comments

Confirming the problem, have the same issue, starting from today's upgrade to 3.22

Also confirming the problem.

Fix pushed to candidate snap now, will roll-out to users within the next 2 hours.
Sorry about that, a bugfix uncovered another bug...

Was this page helpful?
0 / 5 - 0 ratings