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 supersedes: https://lore.proxmox.com/pve-devel/875xjft34o....@proxmox.com/T/#t Changes from v1: * query the ESXI VM config more purposefully -- thanks @Wolfgang * prepare logging of dropped VMs to stderr listvms.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/listvms.py b/listvms.py index a2fb2a5..89ddfb2 100755 --- a/listvms.py +++ b/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: -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel