Skip to content

HELP! I can't set Additional properties when deploy ova using pyvmomi. #850

Open
@VMware-HaoyuLi

Description

@VMware-HaoyuLi

networkObj = None
try:
content = si.RetrieveContent()
view = content.viewManager.CreateContainerView(content.rootFolder, [vim.HostSystem], True)
hostObj = [v for v in view.view]
view.Destroy()
for network in hostObj[0].network:
if network.name == networkName:
networkObj = network
except Exception as e:
log.error(e)
raise

networkMapping = vim.OvfManager.NetworkMapping(name=networkName, network=networkObj)
propertyMappingList = []

if propertyMappingDict:
    **for key in propertyMappingDict:
        propertyMappingList.append(vim.KeyValue(key=key, value=propertyMappingDict[key]))**

try:
    cisp = vim.OvfManager.CreateImportSpecParams(entityName=vmName, diskProvisioning=diskProvisioning,
                                                 networkMapping=[networkMapping], propertyMapping=propertyMappingList)
except Exception as e:
    log.error(e)
    raise

cisr = ovfManager.CreateImportSpec(ovf_handle.get_descriptor(), rp, ds, cisp)

if len(cisr.error):
    log.error("The following errors will prevent import of this OVA:")
    for error in cisr.error:
        log.error("%s" % error)
    raise Exception("cisr error.")

ovf_handle.set_spec(cisr)

lease = rp.ImportVApp(cisr.importSpec, dc.vmFolder)
while lease.state == vim.HttpNfcLease.State.initializing:
    log.info("Waiting for lease to be ready...")
    time.sleep(1)

if lease.state == vim.HttpNfcLease.State.error:
    log.info("Lease error: %s" % lease.error)
    raise Exception("Lease error: %s" % lease.error)
if lease.state == vim.HttpNfcLease.State.done:
    return 0

log.info("Starting deploy...")
try:
    ovf_handle.upload_disks(lease, host)
except Exception:
    raise
return 0

I refer the document esxi6.7 , I find propertyMapping is KeyValue[], then I fill the ovfkey into the list.
But it not work.
Can somebody help me ?
Thanks a lot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions