Hi,
So I have one request ... but on the whole .. translates into a lot. In one of our environments, we have a number of VMs defined on one of our systems with anywhere from 5 to 9 running at any given time. As these VMs run on a headless system, I have put together a web interface that allows me to monitor and control the environments.
Unfortunately, there is no "efficient" way to determine when a VM has been "updated/changed". For most changes (adding drives, modifying parameters), the Machine XML is updated and so checking the date-time stamp on the XML works well. Unfortunately, if a machine is paused or started, no updates are done anywhere. Currently, the only reliable way to determine what has changed is to periodically run "VBoxManage showvminfo <VM ID> -- machinereadable". This works well ... but unfortunately adds considerable overhead to execute this for 25 VMs every 10 seconds.
So here is my first request: Would it be possible to add an extra field/parameter to the VBoxManage --list vms command that would also show the last date-time any config or state change happened? That way it will only be necessary to interrogate a VM that had a modification rather than all.
My second request: The VBoxManage showvminfo with the --machinereadable option does not show all the options. For example, the 'biossystemtimeoffset' value is provided but 'bioslogofadein, bioslogofadeout, biospxedebug' options among many others are not. Some other examples that are not listed are 'dvdpassthrough' and 'snapshotfolder'. Other critical settings that are not provided are the list of SCSI drives that are attached. Luckily, those are in the Machine XML.
Though it might be possible some options are not being reported because there is no setting, from my tests it does not seem that is the case.
To work past this problem, I have had to parse the output from showvminfo and the XML file. Yup ... I know ... not good to look at the XML file ... but am unable to see any other option right now.
Any suggestions/thoughts ?
Thanks,
Joe

