El contenido no se encuentra disponible en el idioma seleccionado. Estamos trabajando continuamente para agregar más idiomas. Gracias por su apoyo.
Obtaining Details About a Cluster Upgrade or AZ Switchover
Function
The upgrade may take a long time. This API can be used to check phase-by-phase information during a cluster upgrade or AZ switchover.
Calling Method
For details, see Calling APIs.
URI
GET /v1.0/{project_id}/clusters/{cluster_id}/upgrade/detail
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Parameter description: Project ID. For details about how to obtain the project ID and name, see Obtaining the Project ID and Name. Constraints: N/A Options: For details about how to obtain the project ID and name, see Obtaining the Project ID and Name. Default value: N/A |
cluster_id |
Yes |
String |
Parameter description: ID of the cluster to be upgraded. Constraints: N/A Options: For details about how to obtain the cluster ID, see Obtaining the Cluster ID. Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
start |
No |
Integer |
Parameter description: The start value of the query. The default value is 1, indicating that the query starts from the first task. Constraints: N/A Options: 1-1000 Default value: 1 |
limit |
No |
Integer |
Parameter description: Number of tasks to be queried. The default value is 10, indicating that 10 tasks are queried at a time. Constraints: N/A Options: 1-1000 Default value: 10 |
action_mode |
No |
String |
Parameter description: Query details about a cluster upgrade or AZ switchover. Constraints: N/A Options:
Default value: UPGRADING |
Request Parameters
None
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
totalSize |
Integer |
Parameter description: Total number of tasks. |
detailList |
Array of GetUpgradeDetailInfo objects |
Parameter description: Details about the upgrade or AZ switchover task. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Parameter description: Task ID. |
startTime |
String |
Parameter description: Task start time. |
endTime |
String |
Parameter description: Task end time. |
status |
String |
Parameter description: Task status. Options:
|
agencyName |
String |
Parameter description: Agency name. You can create an agency to allow CSS to call other cloud services. |
imageInfo |
GetTargetImageIdDetail object |
Parameter description: Image details. |
totalNodes |
String |
Parameter description: Names of all nodes that need to be upgraded or switched to another AZ. |
completedNodes |
String |
Parameter description: Names of all nodes that have been upgraded or switched to another AZ. |
currentNodeName |
String |
Parameter description: Name of the node that is being upgraded or switched to another AZ. |
executeTimes |
String |
Parameter description: Retry times. |
migrateParam |
String |
Parameter description: This parameter is available only when action_mode is set to AZ_MIGRATION. It indicates the request parameter of the AZ switchover task. |
finalAzInfoMap |
String |
Parameter description: This parameter is available only when action_mode is set to AZ_MIGRATION. It indicates the AZ details of each node after AZ switchover. |
currentNodeDetail |
Array of CurrentNodeDetail objects |
Parameter description: Task details of the node that is being upgraded or switched to another AZ. |
batchSize |
Integer |
Parameter description: Number of nodes where data is being migrated concurrently. |
currentBatchNodes |
String |
Parameter description: Nodes where data is being migrated. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Parameter description: ID of an image that can be upgraded. |
displayName |
String |
Parameter description: Name of an image that can be upgraded. |
imageDesc |
String |
Parameter description: Image description. |
datastoreType |
String |
Parameter description: Image engine type. |
datastoreVersion |
String |
Parameter description: Image engine version. |
priority |
Integer |
Parameter description: Priority of the target image. A larger value indicates a higher priority. |
Parameter |
Type |
Description |
---|---|---|
order |
Integer |
Parameter description: SN of the upgrade or AZ switchover task. |
name |
String |
Parameter description: Name of the upgrade or AZ switchover task. |
status |
String |
Parameter description: Current task status. Options:
|
desc |
String |
Parameter description: Description of the current task. |
beginTime |
String |
Parameter description: Start time of the current task. |
endTime |
String |
Parameter description: End time of the current task. |
Example Requests
-
Query cluster upgrade details.
GET https://{Endpoint}/v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/upgrade/detail
-
Example of an AZ switchover.
GET /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/upgrade/detail?action_mode=AZ_MIGRATION
Example Responses
Status code: 200
Request succeeded.
-
Example of a cluster image upgrade response.
{ "totalSize" : 1, "detailList" : [ { "id" : "b7ac4c5b-3bda-4feb-a303-eb80f4bce986", "startTime" : "2023-01-05T02:23:39", "endTime" : "", "status" : "RUNNING", "agencyName" : "css_test_agency", "imageInfo" : { "id" : "439b5d30-5968-45df-b088-d030a858522d", "displayName" : "7.10.2_22.5.1_1230", "imageDesc" : "The latest image of version 7.10.2 will be officially released on December 30, 2022. the stability of the cluster has been optimized. It is recommended that you upgrade to this version.", "datastoreType" : "elasticsearch", "datastoreVersion" : "7.10.2", "priority" : 16 }, "totalNodes" : "css-test-ess-esn-1-1,css-test-ess-esn-2-1,css-test-ess-esn-3-1", "completedNodes" : "", "currentNodeName" : "css-test-ess-esn-1-1", "executeTimes" : "1", "currentNodeDetail" : [ { "order" : 0, "name" : "Data migration", "status" : "SUCCESS", "desc" : "Data is migrated from a node to other nodes in the cluster by running the exclude command.", "beginTime" : "2023-01-05T02:23:42", "endTime" : "2023-01-05T02:29:51" }, { "order" : 12, "name" : "Task status update", "status" : "WAITING", "desc" : "The cluster task status is refreshed. If there are no nodes to be replaced, the task is marked as completed. Otherwise, another node starts to be replaced.", "beginTime" : "", "endTime" : "" } ] } ] }
-
Example of an AZ switchover response.
{ "totalSize" : 1, "detailList" : [ { "id" : "8ebe958b-b8c6-4939-b5a7-85aee9468888", "startTime" : "2022-12-29T08:32:29", "endTime" : "", "status" : "RUNNING", "agencyName" : "css_test_agency", "totalNodes" : "css-test-ess-esn-2-1,css-test-ess-esn-1-1,css-test-ess-esn-3-1", "completedNodes" : "css-test-ess-esn-2-1", "currentNodeName" : "css-test-ess-esn-1-1", "executeTimes" : "1", "migrateParam" : "{\"instType\":\"ess\",\"migrateType\":\"az_migrate\",\"sourceAz\":\"cn-north-4a\",\"targetAz\":\"cn-north-4c\"}", "finalAzInfoMap" : "{\"cn-north-4c\":\"css-test-ess-esn-2-1,css-test-ess-esn-1-1,css-test-ess-esn-3-1\"}", "currentNodeDetail" : [ { "order" : 0, "name" : "Data migration", "status" : "SUCCESS", "desc" : "Data is migrated from a node to other nodes in the cluster by running the exclude command.", "beginTime" : "2022-12-29T08:41:05", "endTime" : "2022-12-29T08:41:23" }, { "order" : 12, "name" : "Task status update", "status" : "RUNNING", "desc" : "The cluster task status is refreshed. If there are no nodes to be replaced, the task is marked as completed. Otherwise, another node starts to be replaced.", "beginTime" : "2023-01-04T06:53:42", "endTime" : "" } ] } ] }
SDK Sample Code
The SDK sample code is as follows.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
package com.huaweicloud.sdk.test;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.css.v1.region.CssRegion;
import com.huaweicloud.sdk.css.v1.*;
import com.huaweicloud.sdk.css.v1.model.*;
public class UpgradeDetailSolution {
public static void main(String[] args) {
// The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
// In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
String ak = System.getenv("CLOUD_SDK_AK");
String sk = System.getenv("CLOUD_SDK_SK");
String projectId = "{project_id}";
ICredential auth = new BasicCredentials()
.withProjectId(projectId)
.withAk(ak)
.withSk(sk);
CssClient client = CssClient.newBuilder()
.withCredential(auth)
.withRegion(CssRegion.valueOf("<YOUR REGION>"))
.build();
UpgradeDetailRequest request = new UpgradeDetailRequest();
request.withClusterId("{cluster_id}");
try {
UpgradeDetailResponse response = client.upgradeDetail(request);
System.out.println(response.toString());
} catch (ConnectionException e) {
e.printStackTrace();
} catch (RequestTimeoutException e) {
e.printStackTrace();
} catch (ServiceResponseException e) {
e.printStackTrace();
System.out.println(e.getHttpStatusCode());
System.out.println(e.getRequestId());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
}
|
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcss.v1.region.css_region import CssRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcss.v1 import *
if __name__ == "__main__":
# The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
# In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
ak = os.environ["CLOUD_SDK_AK"]
sk = os.environ["CLOUD_SDK_SK"]
projectId = "{project_id}"
credentials = BasicCredentials(ak, sk, projectId)
client = CssClient.new_builder() \
.with_credentials(credentials) \
.with_region(CssRegion.value_of("<YOUR REGION>")) \
.build()
try:
request = UpgradeDetailRequest()
request.cluster_id = "{cluster_id}"
response = client.upgrade_detail(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
|
Go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
css "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1/model"
region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1/region"
)
func main() {
// The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
// In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
ak := os.Getenv("CLOUD_SDK_AK")
sk := os.Getenv("CLOUD_SDK_SK")
projectId := "{project_id}"
auth := basic.NewCredentialsBuilder().
WithAk(ak).
WithSk(sk).
WithProjectId(projectId).
Build()
client := css.NewCssClient(
css.CssClientBuilder().
WithRegion(region.ValueOf("<YOUR REGION>")).
WithCredential(auth).
Build())
request := &model.UpgradeDetailRequest{}
request.ClusterId = "{cluster_id}"
response, err := client.UpgradeDetail(request)
if err == nil {
fmt.Printf("%+v\n", response)
} else {
fmt.Println(err)
}
}
|
More
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
Request succeeded. |
400 |
Invalid request. The client should not repeat the request without modifications. |
403 |
Request rejected. The server has received the request and understood it, but the server refuses to respond to it. The client should not repeat the request without modifications. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot