I am struggling with WF vCO Machine Menus.
I have installed everything according to http://www.vcoteam.info/articles/learn-vco/263-run-a-program-in-guest-from-vcloud-automation-center-..., but the assigned workflow is never called.
Request is created and immediately switched to Successful status. There is no sign that VCAC tried to call VCO. There is no error in logs.
Do I need higher than Standard vRA license to run ExternalWFStubs.WFvCOMachineMenuX?
State change stubs work without problems.
Anyone has it working with Standard license?
What does your blueprint look like? This is where you add the setting to kick off that stub
This is the blueprint:
(vRA v6.2.2)
WFvCOMachineMenu3 - it is pointing to workflow that does not need any inputs (besides the VirtualMachineId input)
WFvCOMachineMenu1 button is broken. All I can tell for sure is: Do not use white space when changing DefaultDisplayName of WFvCOMachineMenu using "Customize a menu operation" vCO workflow. Weird things happen. This exception is just beginning:
Caused by: java.net.URISyntaxException: Illegal character in path at index 57: https://vcac-iaas.company.local/WAPI/api/ManagedMachines/Do TEST
at java.net.URI$Parser.fail(URI.java:2829)
at java.net.URI$Parser.checkChars(URI.java:3002)
at java.net.URI$Parser.parseHierarchical(URI.java:3086)
at java.net.URI$Parser.parse(URI.java:3034)
at java.net.URI.<init>(URI.java:595)
at java.net.URI.create(URI.java:857)
... 83 more
It is possible to rename button, but it will not work unless the stub is completely removed from vRA and added again.
So I went deeper, found two more bugs, but have not found the solution to MachineMenu. This is from catalina.out (attached)
2015-07-15 08:47:45,210 vcac: [component="cafe:iaas-proxy" priority="INFO" thread="tomcat-http--856" tenant="vsphere.local"] com.vmware.vcac.iaas.service.impl.MachineResourceActionServiceImpl.invokeResourceAction:340 - Starting a task with id [55693297-53b0-4629-8cdc-ad431caf05ed] to execute a resource action for service id [458ac961-bcec-4312-a2c7-8f9cb77e3ade], machineId [e2443251-4629-4159-902e-3ec203bc417c] and resourceActionId [Infrastructure.Machine.Action.WFvCOMac
hineMenu5]
2015-07-15 08:47:45,946 vcac: [component="cafe:iaas-proxy" priority="INFO" thread="tomcat-http--848" tenant="vsphere.local"] com.vmware.vcac.iaas.controller.MachineResourceController.getResource:65 - {Response for Resource completed: [serviceId: 458ac961-bcec-4312-a2c7-8f9cb77e3ade], [resourceTypeId: Infrastructure.Virtual], [bindingId: e2443251-4629-4159-902e-3ec203bc417c]}
2015-07-15 08:47:46,561 vcac: [component="cafe:iaas-proxy" priority="INFO" thread="tomcat-http--856" tenant="vsphere.local"] com.vmware.vcac.iaas.service.impl.MachineResourceActionServiceImpl.invokeResourceAction:353 - Task with id [55693297-53b0-4629-8cdc-ad431caf05ed] sumitted for service id [458ac961-bcec-4312-a2c7-8f9cb77e3ade], machineId [e2443251-4629-4159-902e-3ec203bc417c] and resourceActionId [Infrastructure.Machine.Action.WFvCOMachineMenu5]
2015-07-15 08:47:46,563 vcac: [component="cafe:iaas-proxy" priority="INFO" thread="tomcat-http--856" tenant="vsphere.local"] com.vmware.vcac.iaas.controller.BlueprintRequestCallbackController.submitRequest:124 - {Successful Submit Request for Resource Action: [serviceId: 458ac961-bcec-4312-a2c7-8f9cb77e3ade], [requestedObjectId: Infrastructure.Machine.Action.WFvCOMachineMenu5], [catalogRequestId: 194b03e8-1d70-402d-a555-4ed03622256e]}
2015-07-15 08:47:46,564 vcac: [component="cafe:iaas-proxy" priority="INFO" thread="tomcat-http--856" tenant="vsphere.local"] com.vmware.vcac.iaas.controller.BlueprintRequestCallbackController.submitRequest:127 - {Submit Response for Resource Action: [newRequestId: 55693297-53b0-4629-8cdc-ad431caf05ed]}
I do not understand who is responsible for calling vCO worflow (is it iaas-cafe?) and why it returns success state after less than 1 second.
And the bugs:
Bug#1: Typo in logs
2015-07-15 08:47:46,561 vcac: [component="cafe:iaas-proxy" priority="INFO" thread="tomcat-http--856" tenant="vsphere.local"] com.vmware.vcac.iaas.service.impl.MachineResourceActionServiceImpl.invokeResourceAction:353 - Task with id [55693297-53b0-4629-8cdc-ad431caf05ed] sumitted for service id [458ac961-bcec-4312-a2c7-8f9cb77e3ade], machineId [e2443251-4629-4159-902e-3ec203bc417c] and resourceActionId [Infrastructure.Machine.Action.WFvCOMachineMenu5]
Bug#2: IIS7 Filtering setting is low (2048b)
c:\Program Files (x86)\VMware\vCAC\Server\Website\Logs\Web_Admin_Error.log contains error with this text:
Request filtering is configured on the Web server to deny the request because the query string is too long.
Once I changed the "Request limits" on IIS7, this error seems to be gone. I have set requestLimits maxQueryString to 8kB.