How to generate a support bundle
1. POST /support-bundle API
The POST /support-bundle endpoint is to trigger the asynchronous process to generate the support bundle. The following is an example of the response:
{
"async_task_id": 1,
"operation": "SUPPORT_BUNDLE_GENERATE",
"reference": "hyperscale-support-20240319-13-38-33",
"status": "RUNNING",
"start_time": "2024-03-19T13:38:34.325159Z",
"cancellable": true
}
2. GET /async-tasks/{async-task-id} API
Since the generation of support bundle is an asynchronous process, it is helpful to know the current status of these activities by utilizing the GET /async-tasks/{async-task-id} endpoint. Here the value of request parameter async-task-id will be the value of async_task_id field of the response of /support-bundle API (defined above)/
In the response of the API, the current status of the support-bundle generation can be identified by the field status.
The following is an example of the response:
{
"async_task_id": 1,
"operation": "SUPPORT_BUNDLE_GENERATE",
"reference": "hyperscale-support-20240319-13-38-33.tar.gz",
"status": "SUCCEEDED",
"start_time": "2024-03-19T13:38:34.325159Z",
"end_time": "2024-03-19T13:39:43.118582Z",
"cancellable": true
}
3. GET /file-download API
GET /file-download API can be triggered to download the generated support-bundle when status from the response of GET /async-tasks/{async-task-id} is received as SUCCEEDED or PARTIAL_SUCCEEDED.
This API expects query parameter entity_type as SUPPORT_BUNDLE and id as the value of async_task_id from the above response.
The response of this API will be in octet-stream and a download link will be provided of the support-bundle tar file.
4. Other related APIs
a) DELETE /support-bundle/{async-task-id} API
The DELETE /support-bundle/{async-task-id} API is useful to delete any already SUCCEEDED or PARTIAL_SUCCEEDED or FAILED support-bundle file or directory.
This is useful to clean up the disk space consumed by these tar files or directories.
b) PUT /async-tasks/{async-task-id}/cancel API
The PUT async-tasks/{async-task-id}/cancel API is useful to cancel any RUNNING support-bundle asynchronous generation.
The following is an example of the response:
{
"async_task_id": 1,
"operation": "SUPPORT_BUNDLE_GENERATE",
"reference": "hyperscale-support-20240319-13-38-33",
"status": "CANCELLED",
"start_time": "2024-03-19T13:38:34.325159Z",
"end_time": "2024-03-19T13:38:43.118582Z",
"cancellable": true
}
c) GET /async-tasks
This API is useful to list all async tasks. The following is an example of the response:
[
{
"async_task_id": 1,
"operation": "SUPPORT_BUNDLE_GENERATE",
"reference": "hyperscale-support-20240318-09-54-53.tar.gz",
"status": "SUCCEEDED",
"start_time": "2024-03-18T09:54:53.419806Z",
"end_time": "2024-03-18T09:55:53.957697Z",
"cancellable": true
},
{
"async_task_id": 2,
"operation": "SUPPORT_BUNDLE_GENERATE",
"reference": "hyperscale-support-20240318-14-45-03.tar.gz",
"status": "PARTIAL_SUCCEEDED",
"start_time": "2024-03-18T14:45:04.00008Z",
"end_time": "2024-03-18T14:46:04.294322Z",
"cancellable": true,
"errors": [
{
"message": "Support bundle generation API is not enabled",
"object_name": "load-service"
},
{
"message": "Support bundle generation API is not enabled",
"object_name": "unload-service"
}
]
},
{
"async_task_id": 3,
"operation": "SUPPORT_BUNDLE_GENERATE",
"reference": "hyperscale-support-20240319-13-38-33",
"status": "CANCELLED",
"start_time": "2024-03-19T13:38:34.325159Z",
"end_time": "2024-03-19T13:39:34.356925Z",
"cancellable": true
}
]