VMware vSphere

 View Only

VMware tools suspend script do not seem to on a guest VM.

  • 1.  VMware tools suspend script do not seem to on a guest VM.

    Posted Jul 29, 2023 02:24 PM

    Hi,

    Apologies if this is the incorrect place to post - I could not find a decent location to post a question regarding VMware tools. If there is a better place, please let me know. 

    • ESXi Host v8
    • VMware tools Windows version: 11.3.5.31214 (build-18557794)
    • OpenVM tools Linus version: 11.3.0.29534 (build-18090558)

    I have noted that several of my VMware tools scripts do not run, both on Windows (2022) and Linux (Ubuntu 20.04 server) guests. I enabled additional logging (as per https://kb.vmware.com/s/article/1007873), then grepped the logs. You can see various `powerop` changes and then script executions.

    On the Windows 2022 box, the "power on" and "power off" scripts are left as the default, but I am using a custom script for suspend and resume. The "C:\ProgramData\VMware\VMware Tools\tools.conf" show the correct location for both the resume and suspend scripts, but I never see the suspend script powerop or the script being executed.

    The `tools.conf` files show:

     

    [powerops]
    resume-script=C:\\Script\\resume-vm-custom.bat
    suspend-script=C:\\Script\\suspend-vm-custom.bat

     

     

    Looking at just the script executions on the Windows VM, we things like:

     

    [2023-07-29T11:57:35.600Z] [ message] [powerops] [2824] Executing script: "C:\Program Files\VMware\VMware Tools\poweron-vm-default.bat"
    [2023-07-29T12:17:36.906Z] [ message] [powerops] [2824] Executing script: "C:\Script\resume-vm-custom.bat"
    [2023-07-29T12:33:36.290Z] [ message] [powerops] [2824] Executing script: "C:\Program Files\VMware\VMware Tools\poweroff-vm-default.bat"
    [2023-07-29T11:44:07.173Z] [ message] [powerops] [2904] Executing script: "C:\Program Files\VMware\VMware Tools\poweron-vm-default.bat"
    [2023-07-29T12:34:45.731Z] [ message] [powerops] [2916] Executing script: "C:\Program Files\VMware\VMware Tools\poweron-vm-default.bat"
    [2023-07-29T12:35:53.118Z] [ message] [powerops] [2916] Executing script: "C:\Script\resume-vm-custom.bat"
    [2023-07-29T12:51:47.360Z] [ message] [powerops] [2916] Executing script: "C:\Script\resume-vm-custom.bat"

     

     

    Obviously, the VM has resumed from a suspended state, but the suspend script is never run (and there is no state change `powerop` of "OS_suspend"). 

    On the Linux VM, there is only one `vmsrv.log` file (even though the `tools.conf` defines there should be 3), but again we see other scripts get executed:

    [2023-07-29T14:05:42.984Z] [ message] [vmsvc] [759] Executing script for state change 'OS_PowerOn'.
    [2023-07-29T14:05:42.984Z] [ message] [powerops] [759] Executing script: '/etc/vmware-tools/poweron-vm-default'
    [2023-07-29T14:07:00.113Z] [ message] [vmsvc] [759] Executing script for state change 'OS_Resume'.
    [2023-07-29T14:07:00.113Z] [ message] [powerops] [759] Executing script: '/etc/vmware-tools/resume-vm-default'

     

    I have edited the VM, unchecked all the VM tools options, saved them, then rechecked them and saved them again. I also tried to use suspend as a power option rather than standby, but there is no difference.

    swinster_0-1690640530075.png

    This screenshot was taken with the VM switched on so obviously the option highlighted are greyed out, but you should get the idea.