all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH esxi-import-tools v2] listvms: exclude VMs without datastore_name from manifest.json
@ 2025-04-08 13:24 Daniel Herzig
  2025-04-08 15:22 ` [pve-devel] applied: " Wolfgang Bumiller
  0 siblings, 1 reply; 2+ messages in thread
From: Daniel Herzig @ 2025-04-08 13:24 UTC (permalink / raw)
  To: pve-devel

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.fsf@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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pve-devel] applied: [PATCH esxi-import-tools v2] listvms: exclude VMs without datastore_name from manifest.json
  2025-04-08 13:24 [pve-devel] [PATCH esxi-import-tools v2] listvms: exclude VMs without datastore_name from manifest.json Daniel Herzig
@ 2025-04-08 15:22 ` Wolfgang Bumiller
  0 siblings, 0 replies; 2+ messages in thread
From: Wolfgang Bumiller @ 2025-04-08 15:22 UTC (permalink / raw)
  To: Daniel Herzig; +Cc: pve-devel

applied, thanks


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-04-08 15:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-08 13:24 [pve-devel] [PATCH esxi-import-tools v2] listvms: exclude VMs without datastore_name from manifest.json Daniel Herzig
2025-04-08 15:22 ` [pve-devel] applied: " Wolfgang Bumiller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal