- if disk.get("vim_id"):
- block_device_mapping["_vd" + chr(base_disk_index)] = disk[
- "vim_id"
- ]
- existing_vim_volumes.append({"id": disk["vim_id"]})
- else:
- if "image_id" in disk:
- base_disk_index = ord("a")
+ if "image_id" in disk:
+ # persistent root volume
+ base_disk_index = ord("a")
+ image_id = ""
+ # use existing persistent root volume
+ if disk.get("vim_volume_id"):
+ block_device_mapping["vd" + chr(base_disk_index)] = disk[
+ "vim_volume_id"
+ ]
+ existing_vim_volumes.append({"id": disk["vim_volume_id"]})
+ # use existing persistent root volume
+ elif disk.get("vim_id"):
+ block_device_mapping["vd" + chr(base_disk_index)] = disk[
+ "vim_id"
+ ]
+ existing_vim_volumes.append({"id": disk["vim_id"]})
+ else:
+ # create persistent root volume