Retry failed operations in Splunk Cloud Platform
The Admin Config Service (ACS) API lets you retry failed operations for certain features in Splunk Cloud Platform deployments on Classic Experience. You can use ACS to retry failed operations programmatically, without the need to manually retry the operation inside the Splunk Web UI.
The ability to retry failed operations programmatically is especially useful for deployments that perform bulk operations, or those that integrate ACS into CI/CD pipelines, as you can use it to build retry functionality into your automated processes.
Requirements
To retry failed operations using the ACS API:
- You must hold the sc_admin role.
- Your Splunk Cloud Platform deployment must be on Classic Experience. See Determine your Splunk Cloud Platform Experience.
- Your deployment must have one or more separate search heads or a search head cluster. ACS is not supported on single instance deployments.
Set up the ACS API
Before using the ACS API, you must download the ACS Open API 3.0 specification, which includes the parameters, codes, and other data you need to work with the ACS API. You must also create a JWT authentication token in Splunk Cloud Platform for use with ACS endpoint requests. For details on how to set up the ACS API to manage restarts, see Set up the ACS API.
Retry failed operations using the ACS API
The following instructions show you how to retry a failed operation using the ACS API. ACS retry functionality applies to Splunk Cloud Platform deployments on Classic Experience only.
The ACS API supports retry for private app installation and HEC token management operations only.
ACS tools, including the ACS CLI and Terraform Provider, automatically retry failed HEC token management operations when applicable. To access the Splunk Cloud Platform Terraform Provider (terraform-provider-scp
), see the Terraform Registry.
Check latest operation status
The ACS API lets you check the status of the latest run of certain operations, including private app installation and HEC token management operations. You can integrate this functionality into your workflows in a flexible manner to monitor operations based on your use case.
To check the status of your latest operation, send a GET request to the deployment/status
endpoint. For example:
curl 'https://admin.splunk.com/{stack}/adminconfig/v2/deployment/status' \ --header 'Authorization: Bearer eyJraWQiOiJzcGx1...'
The response shows information about the latest operation, including the deployment task ID, timestamp, and status. For example:
{ "lastDeployment": { "id": "AD11DDF4-B13B-4EDC-9B4F-A5FF539CD196", "timestamp": "6/16/2023, 11:31:22 AM", "status": "failed" } }
If the status shows that the latest operation failed, you can use the ACS API to retry the operation. See Retry a failed operation.
For endpoint details, see deployment/status in the ACS API endpoint reference.
Retry a failed operation
If you receive a failure message, such as a 424-failed-dependency
error, indicating that an app installation or HEC management operation has failed, you can use the ACS API to retry that operation.
To retry an operation after a failure, send an HTTP POST request to the deployment/retry
endpoint. The retry request automatically retries the latest operation. For example:
curl -X POST 'https://admin.splunk.com/{stack}/adminconfig/v2/deployment/retry' \ --header 'Authorization: Bearer eyJraWQiOiJzcGx1...'
The request returns information about the retry operation, including the deployment task ID, timestamp and status. For example:
{ "id": "30D3BC03-11AC-4A16-88F7-7924735638ED", "timestamp": "6/16/2023, 11:31:22 AM", "status": "new" }
A status of "new" indicates that your retry request was submitted successfully. Note that it can take some time for the request to complete, as retry jobs are performed asynchronously.
For endpoint details, see deployment/retry in the ACS API endpoint reference.
Check status of a retry operation
To check the status of a retry operation, send an HTTP GET request to the deployment/status/{deploymentID}
endpoint, specifying the deploymentID value returned in the retry request output. For example:
curl --location --request GET 'https://admin.splunk.com/{stack}/adminconfig/v2/deployment/status/{deploymentId}' \ --header 'Authorization: Bearer eyJraWQiOiJzcGx1...'
The request output shows the status of the retry operation. For example:
{ "id": "30D3BC03-11AC-4A16-88F7-7924735638ED", "timestamp": "6/16/2023, 11:31:22 AM", "status": "running" }
Possible retry status values include:
Status | Description |
---|---|
new | The retry request has been successfully submitted. |
failed | The retry operation has failed. |
running | The retry operation is in progress. |
completed | The retry operation has completed successfully. |
For endpoint details, see deployment/status/{deploymentID} in the ACS API endpoint reference.
Provision Enterprise Managed Encryption Keys (EMEK) for Splunk Cloud Platform | Manage users, roles, and capabilities in Splunk Cloud Platform |
This documentation applies to the following versions of Splunk Cloud Platform™: 8.2.2112, 8.2.2201, 8.2.2202, 8.2.2203, 9.0.2205, 9.0.2208, 9.0.2209, 9.0.2303, 9.0.2305, 9.1.2308, 9.1.2312, 9.2.2403, 9.2.2406 (latest FedRAMP release)
Feedback submitted, thanks!