How to create a VM with an existing hard disk (.vmdk file)

63 views
Skip to first unread message

Deepa Priyadarshini

unread,
May 22, 2017, 2:10:04 AM5/22/17
to pysphere
I have a vmdk file and I want to launch a vm using that. 

The steps I follow in vcenter is,

 In VM creation hardware configuration (or hardware edit settings),
1. Delete any HardDisk present
2. Add a new device by selecting "Existing Hard Disk" and click Add.
3. When prompted, select my vmdk file from datastore and click ok.
4. If I check the hard disk parameters, Disk File = [datastore]<my_vmdk_file_path>


How do I perform the same in Pysphere?

I tried the following during vm creation:

#add a hard disk

vmdk_filename
=  "[datastore1] vmdk/forvm2.vmdk"
guest_disk_gb
= 9
disk_spec
=config.new_deviceChange()
disk_spec
.set_element_fileOperation("create")
disk_spec
.set_element_operation("add")
disk_ctlr
=VI.ns0.VirtualDisk_Def("disk_ctlr").pyclass()
disk_backing
=VI.ns0.VirtualDiskFlatVer2BackingInfo_Def("disk_backing").pyclass()
disk_backing
.set_element_fileName(vmdk_filename)
#disk_backing.FileName = vmdk_filename
disk_backing
.set_element_diskMode("persistent")
disk_ctlr
.set_element_key(0)
disk_ctlr
.set_element_controllerKey(disk_ctrl_key)
disk_ctlr
.set_element_unitNumber(0)
disk_ctlr
.set_element_backing(disk_backing)
guest_disk_size
=guest_disk_gb*1024*1024
disk_ctlr
.set_element_capacityInKB(guest_disk_size)
disk_spec
.set_element_device(disk_ctlr)
devices
.append(disk_spec)    

But after vm creation, when I check hard disk properties, i find Disk File = [datastore1] <vmname>/forvm2.vmdk 



Reply all
Reply to author
Forward
0 new messages