mirror of
https://git.proxmox.com/git/pve-esxi-import-tools
synced 2025-04-28 12:14:40 +00:00
listvms: exclude VMs without datastore_name from manifest.json
On newer ESXI-8x versions, the diskless vCLS machines in an ESXI-cluster are not stored on a datastore anymore. Instead, they are placed under `/var/run/crx` on the ESXI-hosts' filesystem. This can lead to issues with the ESXI-storage not being activated on the PVE-side [0]. This commit prevents these machines from being included in `manifest.json`. It also excludes VMs without a datastore string in its configuration. [0] https://forum.proxmox.com/threads/new-import-wizard-available-for-migrating-vmware-esxi-based-virtual-machines.144023/post-759288
This commit is contained in:
parent
fd97b5d38a
commit
d793cd1834
14
listvms.py
14
listvms.py
@ -265,6 +265,20 @@ def main():
|
||||
with connect_to_esxi_host(connection_args) as connection:
|
||||
data = {}
|
||||
for vm in list_vms(connection):
|
||||
# drop vCLS machines
|
||||
vCLS = any(cfg.key == "HDCS.agent"
|
||||
and cfg.value.lower() == "true"
|
||||
for cfg in vm.config.extraConfig)
|
||||
if vCLS:
|
||||
continue
|
||||
# drop vms with empty datastore
|
||||
datastore_name, relative_vmx_path = parse_file_path(
|
||||
vm.config.files.vmPathName
|
||||
)
|
||||
if not datastore_name:
|
||||
print(f"Skipping VM (no datastore value): {vm.name}",
|
||||
file=sys.stderr)
|
||||
continue
|
||||
try:
|
||||
fetch_and_update_vm_data(vm, data)
|
||||
except Exception as err:
|
||||
|
Loading…
Reference in New Issue
Block a user