canonical / lxd

Powerful system container and virtual machine manager
https://canonical.com/lxd
GNU Affero General Public License v3.0
4.38k stars 931 forks source link

'lxc publish' hangs forewer on invalid --compression param #7259

Closed edacval closed 4 years ago

edacval commented 4 years ago

lxc info

config:
  core.https_address: '[::]:8444'
  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
- 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
- resources_system
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses:
  - 192.168.1.1:8444
  architectures:
  - x86_64
  - i686
  driver: lxc
  driver_version: 4.0.2
  firewall: xtables
  kernel: Linux
  kernel_architecture: x86_64
  kernel_features:
    netnsid_getifaddrs: "true"
    seccomp_listener: "true"
    seccomp_listener_continue: "false"
    shiftfs: "false"
    uevent_injection: "true"
    unpriv_fscaps: "true"
  kernel_version: 5.4.35-1-lts
  lxc_features:
    cgroup2: "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"
    seccomp_notify: "true"
  os_name: Arch Linux
  os_version: ""
  project: default
  server: lxd
  server_clustered: false
  server_name: atomas
  server_pid: 203811
  server_version: 4.0.1
  storage: zfs
  storage_version: 0.8.3-1

Issue description:

'lxc publish' hangs forewer on invalid --compression param

Unsuccessful attempt

Tried to publish stopped debian/buster container instance as local image: lxc publish d-10 --compression tbz --alias buster/ansible

expetcted result:

error message sort of "invalid compression param tbz submitted, use A, B , C or none"

Current result

lxc just hanged, waited about 10 minutes , then canceled with triple C-c and restarted lxd service.

Steps to reproduce

  1. lxc publish any-stopped-container --compression tbz --alias any/alias

Information to attach

Log:

lxc d-10 20200427141347.651 WARN cgfsng - cgroups/cgfsng.c:cgroup_tree_create:1157 - File exists - The /sys/fs/cgroup/cpuset//lxc.monitor.d-10 cgroup already existed lxc d-10 20200427141347.651 ERROR cgfsng - cgroups/cgfsng.c:cgfsng_monitor_create:1264 - Failed to create cgroup "(null)" lxc d-10 20200427141347.652 WARN cgfsng - cgroups/cgfsng.c:cgroup_tree_create:1157 - File exists - The /sys/fs/cgroup/cpuset//lxc.monitor.d-10-1 cgroup already existed lxc d-10 20200427141347.652 ERROR cgfsng - cgroups/cgfsng.c:cgfsng_monitor_create:1264 - Failed to create cgroup "(null)" lxc d-10 20200427141347.652 WARN cgfsng - cgroups/cgfsng.c:cgroup_tree_create:1157 - File exists - The /sys/fs/cgroup/cpuset//lxc.monitor.d-10-2 cgroup already existed lxc d-10 20200427141347.652 ERROR cgfsng - cgroups/cgfsng.c:cgfsng_monitor_create:1264 - Failed to create cgroup "(null)" lxc d-10 20200427141347.730 ERROR cgfsng - cgroups/cgfsng.c:mkdir_eexist_on_last:1143 - File exists - Failed to create directory "/sys/fs/cgroup/cpuset//lxc.monitor.d-10-3" lxc d-10 20200427141347.731 ERROR cgfsng - cgroups/cgfsng.c:mkdir_eexist_on_last:1143 - File exists - Failed to create directory "/sys/fs/cgroup/cpuset//lxc.payload.d-10" lxc d-10 20200427141536.510 WARN cgfsng - cgroups/cgfsng.c:cgfsng_monitor_destroy:1110 - No space left on device - Failed to move monitor 241561 to "/sys/fs/cgroup/cpuset//lxc.pivot"

 - [ Container configuration (`lxc config show d-10 --expanded`)]

architecture: x86_64 config: image.architecture: amd64 image.description: Debian buster amd64 (20200427_05:24) image.os: Debian image.release: buster image.serial: "20200427_05:24" image.type: squashfs security.nesting: "true" security.privileged: "true" security.secureboot: "false" volatile.base_image: 5397f9caf9d8e19c8eeb330903338c158d0e5661f64fbc61d4c430cc2fe7bbfd volatile.eth0.hwaddr: 00:16:3e:ce:4c:a1 volatile.idmap.base: "0" volatile.idmap.current: '[]' volatile.idmap.next: '[]' volatile.last_state.idmap: '[]' volatile.last_state.power: STOPPED devices: eth0: name: eth0 nictype: bridged parent: br0 type: nic root: path: / pool: default size: 10GB type: disk ephemeral: false profiles:

stgraber commented 4 years ago

Interesting. @tomponline can you take a quick look at what may be going on here?

tomponline commented 4 years ago

@stgraber will do.