On Mon, Apr 07, 2025 at 05:04:22PM +0200, Daniel Herzig wrote: > On newer ESXI-8.x.y 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 changes the default behaviour of `manifest.json` creation by > excluding any machine that has an empty datastore-string in its config > and by that prevents querying a file that we cannot reach anyway. > > [0] > https://forum.proxmox.com/threads/new-import-wizard-available-for-migrating-vmware-esxi-based-virtual-machines.144023/post-759288 > > Signed-off-by: Daniel Herzig <d.her...@proxmox.com> > --- > This acts silently for now, if we'd prefer logging exclusion > of these VMs, please drop an idea! > > listvms.py | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/listvms.py b/listvms.py > index a2fb2a5..7a4aa06 100755 > --- a/listvms.py > +++ b/listvms.py > @@ -265,6 +265,12 @@ def main(): > with connect_to_esxi_host(connection_args) as connection: > data = {} > for vm in list_vms(connection): > + # skip vms with empty datastore_name > + datastore_name, relative_vmx_path = parse_file_path( > + vm.config.files.vmPathName > + ) > + if not datastore_name:
While this works as a stop-gap, I think we should use the example code here[1] to test if this is such an embedded(?) vCLS VM, and if it is *not* such a VM, print a warning to stderr that we're skipping this VM, so that in the future, if VMs magically disappear, we should see log messages about this. [1] https://knowledge.broadcom.com/external/article/370219/script-identification-for-embedded-vcls.html > + 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