In VCF Automation 9.1.0, user-defined VCF Operations Orchestrator extensibility workflows executed via Event Broker Service (EBS) subscriptions experience the following issues:
This behavior is observed following an upgrade from the 9.0.2 to VCF 9.1.0.
PolyglotRunnerException: Function execution returned code: 1.guestcust.log or vmware-vmsvc.log) may report VIX error 3016 (VIX_E_TOOLS_NOT_RUNNING) or Win32 Error 1907 during the failure window.
The underlying cause is a timing race condition between the Guest OS initialization process (Cloud-init or Cloudbase-init) and the VCF Automation post-provisioning workflow execution.
If a workflow attempts to execute a script via Guest Ops (e.g., Invoke-VMScript) while the Guest OS agent is still performing intensive initialization tasks—such as joining a domain, applying group policies, or processing OOBE configurations—the VMware Tools RPC channel may become unresponsive or return an execution error. This race condition is more prevalent in VCF 9.1.0 due to changes in how execution threads are managed compared to previous versions.
Managing Event Subscriptions in VCF Automation
"Blocking subscriptions run in priority order. The highest priority value is 0 (zero). If you have more than one blocking subscription for the same event topic with the same priority level, the subscriptions run in a reverse alphabetical order based on the name of the subscription. After all blocking subscriptions are processed, the message is sent to all the non-blocking subscriptions at the same time. Because the blocking subscriptions run synchronously, the changed event payload includes the updated event when the subsequent subscriptions are notified."