Issue
When migrating a VMware VM that has multiple disks, the migration completes successfully, and all disk data is transferred to OpenStack. However, only the root volume is attached to the created instance. Any additional data volumes are not attached automatically.
Environment
- VMware Migration Toolkit: 2.2.5
- Source Platform: VMware (8)
- Destination Platform: OpenStack (17.1)
Example
- Source VM: vm-02-2d
- Hard Disk1: 20 GB (root volume)
- Hard Disk2: 30 GB (Data volume)
Expected Behavior:
- Data volumes should be automatically attached to the instance.
Actual behavior:
- Root volume is migrated and attached successfully.
- Data volume is migrated successfully and exists in OpenStack.
- Data volume is not attached to the instance.
- The VM enters maintenance state until the volume is attached manually.
- After manual attachment, the VM boots successfully, and all data on both disks is accessible.
Observation
While reviewing the generated heat_template.yaml, only the boot volume is referenced in the block_device_mapping_v2 section. No resources or attachments are created for the secondary volume.
heat_template.yaml
heat_template_version: wallaby
description: 'Migrated VMware workloads managed by os-migrate (Stack - os-migrate-1781698205)'
parameters:
vm_02_2d_boot_volume_id:
type: string
description: Boot volume ID for vm-02-2d
security_group_id:
type: string
description: Security group ID for instances
resources:
vm_02_2d_boot_volume:
type: OS::Cinder::Volume
external_id: { get_param: vm_02_2d_boot_volume_id }
vm_02_2d_port:
type: OS::Neutron::Port
properties:
network: 017259d3-79ad-42ea-b3fa-9a91313400d9
security_groups:
- { get_param: security_group_id }
vm_02_2d_instance:
type: OS::Nova::Server
properties:
name: vm-02-2d
flavor: 15e5eb6b-b239-4c92-a0ad-35e5221a72ec
block_device_mapping_v2:
- volume_id: { get_resource: vm_02_2d_boot_volume }
boot_index: 0
delete_on_termination: false
networks:
- port: { get_resource: vm_02_2d_port }
outputs:
vm_02_2d_instance_id:
description: Instance ID for vm-02-2d
value: { get_resource: vm_02_2d_instance }
vm_02_2d_port_id:
description: Port ID for vm-02-2d
value: { get_resource: vm_02_2d_port }
- The source VM contains two disks, which are correctly detected during migration
disk_info.json
cat disk_info.json
{
"disk_keys": [
"2000",
"2001"
],
"disks": [
{
"backing": {
"type": "VMDK_FILE",
"vmdk_file": "[datastore-002] vm-02-2d_1/vm-02-2d.vmdk"
},
"capacity": 21474836480,
"label": "Hard disk 1",
"scsi": {
"bus": 0,
"unit": 0
},
"type": "SCSI"
},
{
"backing": {
"type": "VMDK_FILE",
"vmdk_file": "[datastore-002] vm-02-2d_1/vm-02-2d_1.vmdk"
},
"capacity": 32212254720,
"label": "Hard disk 2",
"scsi": {
"bus": 0,
"unit": 1
},
"type": "SCSI"
}
]
Issue
When migrating a VMware VM that has multiple disks, the migration completes successfully, and all disk data is transferred to OpenStack. However, only the root volume is attached to the created instance. Any additional data volumes are not attached automatically.
Environment
Example
Expected Behavior:
Actual behavior:
Observation
While reviewing the generated
heat_template.yaml, only the boot volume is referenced in theblock_device_mapping_v2section. No resources or attachments are created for the secondary volume.heat_template.yaml
disk_info.json
cat disk_info.json { "disk_keys": [ "2000", "2001" ], "disks": [ { "backing": { "type": "VMDK_FILE", "vmdk_file": "[datastore-002] vm-02-2d_1/vm-02-2d.vmdk" }, "capacity": 21474836480, "label": "Hard disk 1", "scsi": { "bus": 0, "unit": 0 }, "type": "SCSI" }, { "backing": { "type": "VMDK_FILE", "vmdk_file": "[datastore-002] vm-02-2d_1/vm-02-2d_1.vmdk" }, "capacity": 32212254720, "label": "Hard disk 2", "scsi": { "bus": 0, "unit": 1 }, "type": "SCSI" } ]