If a request to deploy or import a
product fails, you use the Request APIs to get the error and inspect the response to find
the problem. After you update your request body, you can retry your request.
Procedure
-
Assign a variable to the request
ID for the product deployment or import.
$requestId = <failed_deployment_or_import_request_ID>
-
Using the request ID of the failed deployment or import request, get the cause
of the error.
curl -X GET '$url/lcm/request/api/v2/requests/$requestId/error-causes' \
-H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \
-H 'Content-Type: application/json' | jq "."
-
Examine the response. Look for an exception
message that explains the problem and read the message that suggests how to
correct the problem.
{
"messageId": "LCMVROPSYSTEM25000",
"message": "Confirm that the specified node is a member of vRealize Operations Manager cluster and the node is online and accessible",
"eventId": "89d5567a-f299-4d57-bee0-a768da0fe94e",
"retry": true,
"exceptionMessage": "Failed to get the vROps version during deployment discovery. Retry after verifying master node address and admin password.",
"exceptionStackTrace": "com.vmware.vrealize.lcm.plugin.common.vrops.exceptions.DiscoveryException: Failed to get the vROps version during deployment discovery. Retry after verifying master node address and admin password.\n\tat com.vmware.vrealize.lcm.plugin.core.vrops.tasks.DeploymentsDiscoveryTask.execute(DeploymentsDiscoveryTask.java:149)\n\tat com.vmware.vrealize.lcm.automata.core.TaskThread.run(TaskThread.java:45)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n",
"properties": {
"vropsMasterNodeIP": "lcm-34-241.sqa.local",
"vropsAdminPassword": "locker:password:92d4276c-57b6-4d66-b6ef-db552b722fa5:Common-pwd"
}
-
Verify the primary node address
and correct the error in the input. Use the request ID to retry the request.
curl -X PATCH \
'$url/lcm/request/api/v2/requests/$requestId/retry' \
-H 'Authorization: Basic YWRtaW5AbG9jYWw6VGhpc0lzUGFzc3dvcmQ=' \
-H 'Content-Type: application/json' \
-d '{
"messageId": "LCMVROPSYSTEM25000",
"message": "Confirm that the specified node is a member of vRealize Operations Manager cluster and the node is online and accessible",
"eventId": "89d5567a-f299-4d57-bee0-a768da0fe94e",
"retry": true,
"exceptionMessage": "Failed to get the vROps version during deployment discovery. Retry after verifying master node address and admin password.",
"exceptionStackTrace": "com.vmware.vrealize.lcm.plugin.common.vrops.exceptions.DiscoveryException: Failed to get the vROps version during deployment discovery. Retry after verifying master node address and admin password.\n\tat com.vmware.vrealize.lcm.plugin.core.vrops.tasks.DeploymentsDiscoveryTask.execute(DeploymentsDiscoveryTask.java:149)\n\tat com.vmware.vrealize.lcm.automata.core.TaskThread.run(TaskThread.java:45)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n",
"properties": {
"vropsMasterNodeIP": "lcm-35-141.sqa.local",
"vropsAdminPassword": "locker:password:92d4276c-57b6-4d66-b6ef-db552b722fa5:Common-pwd"
}' | jq "."
Results
If the request fails again, repeat the
steps to get the cause of the error again. The response includes a new
eventId
. After you correct the error and you are ready to resubmit
the retry request, the request body must include the new
eventId
.What to do next
Verify that your product has been
deployed or imported.