Skip to main content

I’m creating a workflow to restore a VM, start it and other steps.

Snip from documentation: You must provide either the vmName or the vmGUID.

If I’m using the vmName as Input, the job failes:

 

If I’m using the vmGUID, the job is successfull:

 

This is the log of the job.

(replaced the clientname with ***CLIENT***)
(replaced CS name with ***CS***)


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Machine : ***CS***
File : WorkflowEngine.log
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

12424 39 03/06 12:57:59 945831 WorkflowManager: initializing job i945831] for workflow oTest-Marc]
12424 42 03/06 12:57:59 945831 WorkflowManager: starting workflow oTest-Marc] with inputs <inputs />]
12424 43 03/06 12:57:59 945831 SetActivityInputs: IStart (Start_1)] starting activity with inputs <inputs />]
12424 43 03/06 12:57:59 945831 WorkflowStep: oStart (Start_1)] completing activity with status COMPLETED], outputs o<Start_1><system><startTime>1646567879</startTime><endTime></endTime><status>RUNNING</status><timedOut>false</timedOut></system></Start_1>]
12424 46 03/06 12:57:59 945831 SetActivityInputs: IPowerOn (PowerOn_1)] starting activity with inputs <inputs><vmClientName><clientName>***CLIENT***</clientName><clientId /><displayName>***CLIENT***</displayName></vmClientName><vmName>***CLIENT***</vmName><vmGUID /><virtualizationClient><clientName>Vshpere_srsms216</clientName><clientId /><displayName>Vshpere_srsms216</displayName></virtualizationClient><waitForPowerOnComplete>true</waitForPowerOnComplete><sessionOptions><useImpersonatedAccount>true</useImpersonatedAccount><tokenFile /><token /></sessionOptions></inputs>]
12424 46 03/06 12:57:59 945831 CommandActivity: tPowerOn (PowerOn_1)] executing command cqoperation execute -af 'D:\Program Files\Commvault\ContentStore\Base\Temp\397a7bb3-e818-4587-843e-e550e93364e6.xml' -cs '***CS***' -tk 379bdb9f459b4503ea670541849c41104537346a6f17eea618fc43d820b937e2fddce843cba77a2127c222ba0da55e0881445641a7faa8c249afc23fae17f8163e9c418b46f9bdbaada625e37d699f7a054562873eea6ec62442d75816a94f86077f31511c898d968f805e2a934d9e89c944a076fec884408c76f7dbacd5d1629b720b6a1392ab7c9cf0711bded2aa70a0d1364fdf90d4b6b72e0e20cb51ba1e0245369918679f3251ed9b1fb5f5cc23c4eadcc1d84df4e9637c5a411521c0ca44e4cbfc95d2b1f86a15629c3e3f303b33fa7116f2f7759d5]
12424 46 03/06 12:58:02 945831 CommandActivity: tPowerOn (PowerOn_1)] command succeeded with result <TMMsg_GenericResp>
<errorCode>3</errorCode>
<errorMessage>Invalid input specified.</errorMessage>
</TMMsg_GenericResp>]
12424 46 03/06 12:58:02 945831 PowerOn: ERROR: PowerOn (PowerOn_1)] VM _***CLIENT***] failed to Power On . Error Invalid input specified.]
12424 46 03/06 12:58:02 945831 ExecuteActivity: WARNING: APowerOn (PowerOn_1)] execution of activity returned a status of aFAILED]
12424 42 03/06 12:58:02 945831 WorkflowProcess: WARNING: failing workflow job lTest-Marc]
12424 42 03/06 12:58:02 945831 WorkflowManager: workflow oTest-Marc] exiting with status PENDING], failed activities iPowerOn_1(46)]

Even if the job is pending, D:\Program Files\Commvault\ContentStore\Base\Temp\397a7bb3-e818-4587-843e-e550e93364e6.xml doesn't exist anymore.

I would have expected an error like “client doesn’t exist” or “client name not found”, but “Invalid input specified” is not helpfull.

Does anybody have experience whit this “PowerOn” activity?

Hey @Marc S. 

Does the VM name have any special characters in it that could be tripping up the workflow? that is my only thought. You could try put it in quotes and see if that helps at all?

Adding @RMcG in case he has seen this before


With vSphere I’ve only ever managed to use it successfully when supplying the vmGUID field.

 

You can use the API GET /client/byName(clientName=’myClientName’) to fetch the client properties then get the vmGuid from the response at the path /App_GetClientPropertiesResponse/clientProperties/vmStatusInfo/@strGUID or via the clientGuid attribute of the clientEntity at the path /App_GetClientPropertiesResponse/clientProperties/client/clientEntity/@clientGUID as that should be the same.


Please excuse the delayed response, I only have time during weekends for tasks like this.

@RMcG  : Your response seems to be the solution for my problem, but I have no idea how to work with REST API in workflows. I checked lots of example workflows and even downloaded some from cloud, but without success.
Once I found out how to implement this in my workflow I’ll let you know.

Thanks to both of you for your quick response.