cloudstack/plugins/hypervisors
Daman Arora ea6cbada9b
Multiple CD-ROM / ISO Support Per VM (#13101)
* pre-allocate a second empty cdrom slot at boot (hardcoded)

* drive cdrom slot count via vm.cdrom.max.count ConfigKey

* add vm_iso_map table + VO/DAO

* persist multi-ISO state via vm_iso_map

* carry target cdrom slot through AttachCommand to KVM agent

* enforce per-VM cdrom cap, clamp to hypervisor max

* make detachIso accepts an ISO id

* expose attached ISOs as isos[] in listVirtualMachines response

* extract CDROM_PRIMARY_DEVICE_SEQ constant

* unit tests for cdrom slot allocation logic

* implement multi-ISO attachment and detachment for VMs with enhanced validation

* implement multi-ISO display in InstanceTab with computed property for attached ISOs

* add warning alert for max CDROM selections and enhance global capacity fetching

* enhance ISO attachment validation to handle multiple ISOs and prevent duplicates

* refactor ISO attachment logic for detachment and validation

* add unit tests for ISO detachment resolution and validation logic

* add mock for VmIsoMapDao in UserVmJoinDaoImplTest and set lenient behavior for listByVmId

* refactor ISO attachment logic and enhance UI for multi-CDROM management

* refactor ISO attachment methods to use VM ID and improve parameter handling

* remove unnecessary mock for VM ISO mapping in TemplateManagerImplTest

* add 'since' attribute to ISO detach command parameter description

* scope vm.cdrom.max.count to cluster

* add support for configurable CD-ROM count per VM and improve handling in TemplateManager

* add HostDetailsDao mock to UserVmJoinDaoImplTest

* fix: handle null poolId when loading attached ISO slots in prepareIsoForVmProfile

* implement listByIsoId method in VmIsoMapDao and update TemplateManagerImpl for ISO deletion checks

* improve logging messages for ISO deletion checks

* add unit tests for CD-ROM handling and enforce limits in TemplateManager

* refactor: update configuration value handling and improve notification logic

* refactor: rename CD-ROM references to ISO and update related logic

* refactor: enhance effective CD-ROM max count logic to handle missing host IDs and improve cluster ID retrieval

* refactor: enhance effective CD-ROM max count logic to handle misconfigurations during VM boot

* refactor: enhance effective CD-ROM max count logic to retrieve host ID from candidates based on hypervisor type

* refactor: enhance host ID retrieval logic for VMs based on hypervisor type

* feat: add bootable ISO flag to AttachedIsoResponse and update UI to display it

* refactor: simplify effectiveMaxCdroms method and improve logging for CD-ROM capacity

* test: update AttachedIsoResponseTest to include bootable flag in constructor tests

* feat: include bootable flag in AttachedIsoResponse for user VMs

* feat: enhance CD-ROM management by defining empty slots for user VMs
2026-06-24 16:38:26 +05:30
..
baremetal Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
external Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
hyperv Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
kvm Multiple CD-ROM / ISO Support Per VM (#13101) 2026-06-24 16:38:26 +05:30
ovm Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
ovm3 Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
simulator Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
ucs Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
vmware Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
xenserver Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30