bilalinamdar opened a new issue, #12362:
URL: https://github.com/apache/cloudstack/issues/12362

   ### problem
   
   CloudStack 4.22 – VM deployment on LINSTOR primary fails during ROOT volume 
population (qemu-img convert), while volume creation succeeds
   
   ======================================================================
   
   Deployment Topology
   -------------------
   
   Management Node:
   - Hostname: csmgmt01
   - Role: CloudStack Management Server
   - OS: Ubuntu 22.04.5 LTS
   - CloudStack Version: 4.22.0.0
   - Does NOT run LINSTOR or DRBD
   - Manages:
     - CloudStack API / UI
     - Database (cloud DB)
     - Storage orchestration only
   
   KVM + LINSTOR Cluster:
   - Total Nodes: 3
   - Hosts:
     - cskvm01.poc.local
     - cskvm02.poc.local
     - cskvm03.poc.local
   
   LINSTOR Deployment Model:
   - cskvm01:
     - LINSTOR Controller
     - LINSTOR Satellite
     - DRBD
     - LVM_THIN storage pool
   - cskvm02:
     - LINSTOR Satellite
     - DRBD
     - LVM_THIN storage pool
   - cskvm03:
     - LINSTOR Satellite
     - DRBD
     - LVM_THIN storage pool
   
   All three KVM nodes:
   - Registered as CloudStack KVM hosts
   - Participate in LINSTOR storage
   - Have identical LVM_THIN pools for DRBD-backed volumes
   
   Storage Pools:
   - LINSTOR LVM_THIN pool present and healthy on all three KVM nodes
   - LINSTOR diskless pools auto-created where required
   - CloudStack primary storage points to LINSTOR controller on cskvm01
   
   Secondary Storage:
   - NFSv4.2
   - Exported from management-side storage
   - Mounted dynamically by CloudStack agent on KVM hosts
   - Used for templates and ISOs
   
   ======================================================================
   
   Environment Summary
   -------------------
   
   MANAGEMENT NODE (csmgmt01)
   Role: CloudStack Management Server
   OS: Ubuntu 22.04.5 LTS
   CloudStack Version: 4.22.0.0
   DB Schema Version: 4.22.0.0
   
   Installed Packages:
   - cloudstack-management 4.22.0.0
   - cloudstack-usage 4.22.0.0
   - cloudstack-common 4.22.0.0
   
   Primary Storage (CloudStack DB):
   - Name: linstor-primary
   - Pool Type: Linstor
   - Status: Up
   - UUID: 381f423d-5c3d-4037-85bb-f704bbebaa5f
   
   
   KVM HOST (example: cskvm01)
   Role: CloudStack KVM Hypervisor + LINSTOR Controller
   OS: Ubuntu 22.04.5 LTS
   Kernel: 5.15.0-164-generic
   
   CloudStack Agent:
   - cloudstack-agent 4.22.0.0
   
   LINSTOR:
   - Controller/Satellite version: 1.33.1
   - Client: 1.27.1
   - Storage driver: LVM_THIN
   - Controller runs only on cskvm01
   - Satellites run on cskvm01, cskvm02, cskvm03
   
   DRBD:
   - Kernel module: 9.3.0
   - drbd-utils: 9.33.0
   - drbd-reactor: 1.10.0
   - Transport: TCP
   
   QEMU / libvirt:
   - qemu-img: 6.2.0
   - QEMU hypervisor: 6.2.0
   - libvirtd: 8.0.0
   
   Virtualization checks:
   - Hardware virtualization (vmx/svm): Enabled
   - /dev/kvm accessible
   - virt-host-validate: PASS (only IOMMU warning)
   
   ======================================================================
   
   Templates
   ---------
   Templates registered in CloudStack DB:
   
   - Ubuntu 22.04
     - DB format: RAW
     - DB size: ~0.64 GB
   
   - Ubuntu 24.04
     - DB format: RAW
     - DB size: ~0.58 GB
   
   On KVM hosts, template files stored on secondary NFS and named *.raw
   are detected as QCOW2 via:
     qemu-img info <template-file>
   
   Example:
   - file format: qcow2
   - virtual size: ~2.2 GiB
   - disk size: ~600–700 MiB
   
   
   Service Offering
   ----------------
   Service offering used: testlinstor
   ROOT disk sizes tested:
   - 10 GB
   - 20 GB
   
   ROOT volume sizes verified in CloudStack DB match the offering.
   
   ======================================================================
   
   Observed Problem
   ----------------
   LINSTOR primary storage is detected as UP in CloudStack and volumes can
   be created successfully across the 3-node LINSTOR cluster. However,
   VM deployment fails specifically during ROOT volume population
   from template.
   
   Key behavior:
   - LINSTOR volume creation succeeds
   - DRBD-backed block device is created on KVM host
   - Failure occurs only during instance ROOT disk population
   - qemu-img convert to the DRBD block device fails
   - CloudStack cleans up the DRBD resource and libvirt storage pool
   - VM ends in Error state
   - ROOT volume is marked Destroy in CloudStack DB
   
   ======================================================================
   
   Relevant KVM Agent Log Excerpts
   ------------------------------
   INFO  Linstor: Creating volume for ROOT disk
   INFO  Linstor: Created DRBD device: /dev/drbd1001
   INFO  Executing qemu-img convert to DRBD device
   ERROR qemu-img convert failed: output file is smaller than input file
   WARN  Template copy failed, cleaning up DRBD resource
   INFO  Linstor: Removed DRBD device and volume as part of cleanup
   
   
   CloudStack Management Log Excerpts
   ---------------------------------
   ERROR Unable to find ObjectInDataStore mapping for TemplateObject on Linstor 
storage pool
   WARN  Failed to create ROOT volume for VM, marking volume as Destroy
   
   ======================================================================
   
   Database Evidence
   -----------------
   Failed instances:
   
   - i-2-12-VM
     - ROOT volume size: 20 GB
     - state: Destroy
     - service offering: testlinstor
   
   - i-2-13-VM
     - ROOT volume size: 10 GB
     - state: Destroy
     - service offering: testlinstor
   
   LINSTOR storage pool remains in state = Up throughout.
   
   ======================================================================
   
   Key Observation
   ---------------
   LINSTOR and DRBD are functioning correctly across all three KVM nodes:
   - Storage pools are healthy
   - DRBD devices are created successfully
   
   The failure occurs only at the template-to-root-volume population stage
   (qemu-img convert writing to /dev/drbdX).
   
   This suggests an issue in CloudStack’s LINSTOR integration or template
   handling during ROOT volume deployment, rather than a LINSTOR or DRBD
   volume provisioning problem.
   
   
   Expected Behavior
   -----------------
   CloudStack should successfully populate the ROOT volume on LINSTOR
   primary storage from the template and continue VM deployment without
   cleaning up the DRBD resource.
   
   ### versions
   
   The versions of ACS, hypervisors, storage, network etc..
   
   ### The steps to reproduce the bug
   
   1.
   2.
   3.
   ...
   
   
   ### What to do about it?
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to