Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: luhuayi <luhuayi@huawei.com> Co-committed-by: luhuayi <luhuayi@huawei.com>
22 KiB
Performing a Scale-Out Check
Function
This API is used to conduct a precheck for cluster scale-out to identify failures caused by insufficient subnets or permissions.
Calling Method
For details, see Calling APIs.
URI
POST /v2/{project_id}/clusters/{cluster_id}/grow-check
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
cluster_id |
Yes |
String |
Definition Cluster ID. For details about how to obtain the value, see Obtaining the Cluster ID. Constraints N/A Range N/A Default Value N/A |
project_id |
Yes |
String |
Definition Project ID. To obtain the value, see Obtaining a Project ID. Constraints N/A Range N/A Default Value N/A |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
scale_out |
Yes |
ScaleOut object |
Definition Request body for adding an idle node or scaling out a cluster. Constraints N/A Range N/A Default Value N/A |
create_node_only |
No |
Boolean |
Definition Whether only idle nodes are added. Constraints N/A Range true: Only nodes are added. If scale-out is required, perform it separately. false: Nodes are added and the cluster is scaled out. Default Value false |
waiting_for_killing |
No |
Integer |
Definition Time before blocked job termination. Constraints This parameter is available only for GuestAgent 8.2.1 or later. Range 30 to 1200 Default Value 0 (not limited) |
auto_redistribute |
No |
Boolean |
Definition Whether to automatically start redistribution after scale-out. The default value is true. If this parameter is set to false, redistribution is not performed after scale-out. In this case, the cluster task information displays To be redistributed and other operations cannot be performed. Constraints N/A Range true: Redistribution is performed immediately after scale-out. false: Redistribution is not performed after scale-out. In this case, the cluster task information displays To be redistributed. Default Value true |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
|---|---|---|
data |
Array of GrowCheckResult objects |
Definition Pre-scale-out check information. Range N/A |
note |
NoteInfo object |
Definition Message displayed before the scale-out. Value range N/A |
Parameter |
Type |
Description |
|---|---|---|
pass |
Boolean |
Definition Whether the check is passed. By default, the items that pass the check are not displayed. Range true/false |
reason |
String |
Definition Reason that the check fails. Range N/A |
required |
Boolean |
Definition Whether the check item is mandatory. Range
|
desc |
String |
Definition Description. Range N/A |
type |
String |
Definition Type. Range Quota, permission, version, and status |
Parameter |
Type |
Description |
|---|---|---|
bucket_split_info |
BucketSplitInfo object |
Definition Redistribution message. Range N/A |
Parameter |
Type |
Description |
|---|---|---|
current_dn_num |
Integer |
Definition Number of current DNs. Range N/A |
after_scale_out_dn_num |
Integer |
Definition Number of DN nodes after scale-out. Range N/A |
current_bucket_num |
Integer |
Definition Number of current buckets. Range N/A |
after_scale_out_bucket_num |
Integer |
Definition Number of buckets after scale-out. Range N/A |
is_bucket_split |
Boolean |
Definition Whether bucket splitting is involved in scale-out. Range N/A |
bucket_tilt_rate |
String |
Definition Bucket tilt rate on DN nodes. It is used to measure the imbalance of buckets on DN nodes. Range N/A |
after_scale_out_bucket_tilt_rate |
String |
Definition Bucket tilt rate on DN nodes after scale-out. It is used to measure the imbalance of buckets on DN nodes after scale-out. Range N/A |
Example Requests
Check whether the quota or permission is sufficient when three nodes are added to a cluster.
POST https://{Endpoint}/v2/89cd04f168b84af6be287f71730fdb4b/clusters/4ca46bf1-5c61-48ff-b4f3-0ad4e5e3ba90/grow-check
{
"scale_out" : {
"count" : 3
}
}
Example Responses
Status code: 200
Request submitted.
{
"note" : {
"bucket_split_info" : {
"current_dn_num" : 6,
"after_scale_out_bucket_num" : 32,
"is_bucket_split" : false,
"after_scale_out_dn_num" : 9,
"bucket_tilt_rate" : "16.67%",
"after_scale_out_bucket_tilt_rate" : "25.00%"
}
},
"data" : [ {
"pass" : false,
"reason" : "Subnet IP address quota exceeded. Required: 3; Used: 249/251",
"required" : true,
"desc" : "Subnet IP address check",
"type" : "Quota"
} ]
}
Status Codes
Status Code |
Description |
|---|---|
200 |
Request submitted. |
400 |
Request error. |
401 |
Authentication failed. |
403 |
You do not have required permissions. |
404 |
No resources found. |
500 |
Internal server error. |
503 |
Service unavailable. |