Ran into this problem recently. We noticed our View pool vms were not deleting after use – and as they are set the non peristent the following message was being logged in the VMware tasks pane:
vim.fault.GenericVmConfigFault An error occurred while reverting to a snapshot
To fix the problem:
- Download the namespace.db from the VMware KB article linked here.
- Upload the namespace.db to the folder.
- SSH to a host with access to the problem VM in question and cd to the /vmfs/path folder.
- vi the .vmx and add the line:
namespaceMgr.dbFile = "namespace.db"
to the bottom of the .vmx file. Be sure to wq! your vim session so it saves the changes.
- Recompose / refresh your instant clone pool.
Upon researching the issue this is a known bug in vSphere and a fix is slated for vSphere 7.7 / 8.x.
On another note if you see the following error:
general system error occurred: Fault cause: vim.fault.GenericVmConfigFault
The snapshot file is being hard locked by ESXi and that stops the View scheduler from deleting the VM.
1. To fix this problem SSH into the host.
2. CD to the working vmfs directory.
3. Create a temp folder with mkdir tmp
4. move the .vmsd and .vmsn files to the tmp folder. If only one type exists just move that one.
Once you do this the View resource management account will clear the VM if it was pending deletion. You can read more about that error on this blog post which was super helpful.