Updating a Resource Pool¶
Function¶
This API is used to update a specified resource pool.
Debugging¶
You can debug this API in which supports automatic authentication. API Explorer automatically generates sample SDK code and provides the debug function.
URI¶
PATCH /v2/{project_id}/pools/{pool_name}
Parameter | Mandatory | Type | Description |
---|---|---|---|
project_id | Yes | String | Project ID. For details, see Obtaining a Project ID and Name. |
pool_name | Yes | String | Automatically generated resource pool name. |
Request Parameters¶
Parameter | Mandatory | Type | Description |
---|---|---|---|
X-ModelArts-User-ID | No | String | Tenant ID. If there is a tenant ID, it will be used for workspace authentication. |
Content-Type | Yes | String | application/merge-patch+json. |
request-type | No | String | Request source. The order function of CBC is enabled only when console is set. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
metadata | No | PoolMetadataUpdate object | Resource pool metadata |
spec | No | PoolSpecUpdate object | Description of a resource pool |
Parameter | Mandatory | Type | Description |
---|---|---|---|
annotations | No | annotations object | Resource pool annotations |
labels | No | labels object | Resource pool annotations |
Parameter | Mandatory | Type | Description |
---|---|---|---|
os.modelarts/description | No | String | Description of a resource pool, specifying the application scenarios of the resource pool. The value cannot contain the following special characters: !<>=&"' |
os.modelarts/order.id | No | String | Order ID. |
os.modelarts/scheduler.extension | No | String | Priority that can be set for the jobs delivered by other users to the shared resource pool. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
os.modelarts/sharing | No | String | Whether the resource pool can be shared. The options are as follows:
|
Parameter | Mandatory | Type | Description |
---|---|---|---|
scope | No | Array of strings | Job type enabled in an update, which cannot be specified for logical pools. The options are as follows:
|
resources | No | Array of resources objects | Updated resources. |
jobFlavors | No | Array of strings | Job flavors supported by a resource pool. |
driver | No | PoolDriver object | Resource pool driver, which cannot be specified for logical pools. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
flavor | Yes | String | Resource flavor |
count | Yes | Integer | Number of resources of the specified flavor |
azs | No | Array of PoolNodeAz objects | Updated AZs |
Parameter | Mandatory | Type | Description |
---|---|---|---|
az | Yes | String | AZ name |
count | Yes | Integer | Number of nodes for expanding the capacity of a specified AZ |
Parameter | Mandatory | Type | Description |
---|---|---|---|
gpuVersion | No | String | GPU driver version. This parameter is available when GPUs are used in a physical resource pool. For example, the GPU driver version is 440.33. |
npuVersion | No | String | NPU driver version. This parameter is available when Ascend chips are used in a physical resource pool. For example, the Ascend driver version is C78. |
updateStrategy | No | String | Driver upgrade policy. The options are as follows:
|
Response Parameters¶
Status code: 200
Parameter | Type | Description |
---|---|---|
apiVersion | String | API version. The options are as follows:
|
kind | String | Resource type. The options are as follows:
|
metadata | PoolMetadata object | Resource pool metadata. |
spec | PoolSpec object | Expected resource pool specifications. |
status | PoolStatus object | Resource pool status. |
Parameter | Type | Description |
---|---|---|
name | String | Automatically generated resource pool name, which is equivalent to the pool ID |
creationTimestamp | String | Timestamp, for example, 2021-11-01T03:49:41Z |
labels | PoolMetaLabels object | Resource pool labels |
annotations | PoolMetaAnnotations object | Resource pool annotations |
Parameter | Type | Description |
---|---|---|
os.modelarts/workspace.id | String | Workspace ID. |
os.modelarts/name | String | Specified resource pool name. |
os.modelarts/resource.id | String | ID of the primary resource in the resource pool, which is usually provided for CBC. |
os.modelarts/tenant.domain.id | String | ID of the tenant corresponding to the resource pool, which records the tenant account where the resource pool is created. |
os.modelarts/create-from | String | Source where a resource pool is created. |
os.modelarts.pool/biz | String | Business type of a resource pool. The value can be public or private. |
os.modelarts/sharing | String | Whether the resource pool can be shared. The options are as follows:
|
Parameter | Type | Description |
---|---|---|
os.modelarts/description | String | Description of a resource pool. |
os.modelarts/billing.mode | String | Billing mode. The options are as follows:
|
os.modelarts/period.num | String | Subscription period, for example, 2. |
os.modelarts/period.type | String | Subscription type. The options are as follows:
|
os.modelarts/auto.renew | String | Whether to enable auto-renewal. The options are as follows:
|
os.modelarts/promotion.info | String | Discount selected in CBC. |
os.modelarts/service.console.url | String | URL of the page displayed after the subscription order is paid. |
os.modelarts/order.id | String | Order ID. |
os.modelarts/flavor.resource.ids | String | Resource ID corresponding to each flavor, which is used for interaction with CBC. |
os.modelarts/tms.tags | String | TMS tags specified by the user during creation. |
os.modelarts/scheduler.extension | String | Priority that can be set for the jobs delivered by other users to the shared resource pool. |
os.modelarts.pool/subpools.count | String | Number of logical sub-pools in a resource pool. |
Parameter | Type | Description |
---|---|---|
type | String | Resource pool type. The options are as follows:
|
scope | Array of strings | Job type supported by a resource pool. Select at least one type. All options are supported by physical resource pools. Logical resource pools support only training jobs. The options are as follows:
|
resources | Array of resources objects | Resource flavor list in a resource pool, including resource flavors and the number of resources for each flavor. |
network | network object | Network settings for a resource pool. This parameter is mandatory for physical resource pools and is unavailable for logical resource pools. |
masters | Array of masters objects | Master node parameters in a resource pool. This parameter is optional for physical resource pools and is unavailable for logical resource pools. |
jobFlavors | Array of strings | Names of the job flavors supported by a resource pool. |
driver | PoolDriver object | Resource pool driver information. |
controlMode | Integer | Restriction status of a resource pool. The options are as follows:
|
Parameter | Type | Description |
---|---|---|
flavor | String | Resource flavor, for example, modelarts.vm.gpu.t4u8 |
count | Integer | Number of resources of the specified flavor |
azs | Array of PoolNodeAz objects | AZ list |
Parameter | Type | Description |
---|---|---|
az | String | AZ name |
count | Integer | Number of nodes for expanding the capacity of a specified AZ |
Parameter | Type | Description |
---|---|---|
name | String | Network name. When you create a network with a specified name, the system will automatically create subnets for you. By default, the first subnet will be used. |
Parameter | Type | Description |
---|---|---|
az | String | AZ where the master node is located |
Parameter | Type | Description |
---|---|---|
gpuVersion | String | GPU driver version. This parameter is available when GPUs are used in a physical resource pool. For example, the GPU driver version is 440.33. |
npuVersion | String | NPU driver version. This parameter is available when Ascend chips are used in a physical resource pool. For example, the Ascend driver version is C78. |
updateStrategy | String | Driver upgrade policy. The options are as follows:
|
Parameter | Type | Description |
---|---|---|
phase | String | Status of a resource pool. The options are as follows:
|
message | String | Message indicating that the resource pool is in the current state. |
resources | resources object | Resources in different states in a resource pool. |
scope | Array of scope objects | Service status in the resource pool. |
driver | driver object | Resource pool driver information. |
parent | String | Name of the parent node of a resource pool. This parameter is left blank for physical pools. |
root | String | Name of the root node in a resource pool. For a physical pool, the value is its name. |
Parameter | Type | Description |
---|---|---|
creating | PoolResourceFlavorCount object | Number of resources that are being created |
available | PoolResourceFlavorCount object | Number of available resources |
abnormal | PoolResourceFlavorCount object | Number of abnormal resources |
deleting | PoolResourceFlavorCount object | Number of resources that are being deleted |
Parameter | Type | Description |
---|---|---|
flavor | String | Resource flavor name, for example, modelarts.vm.gpu.t4u8. |
count | Integer | Minimum count for the flavors in a resource pool. |
maxCount | Integer | Elastic usage of the resource flavor. This parameter value is the same the count value in a physical pool. It is greater than or equal to the count value in a logical pool. |
azs | Array of azs objects | Number of AZs where resources are located. |
Parameter | Type | Description |
---|---|---|
az | String | AZ name |
count | Integer | Number of AZ resources |
Parameter | Type | Description |
---|---|---|
scopeType | String | Service type. The options are as follows:
|
state | String | Service status. The options are as follows:
|
Parameter | Type | Description |
---|---|---|
gpu | PoolDriverStatus object | GPU driver information |
npu | PoolDriverStatus object | NPU driver information |
Parameter | Type | Description |
---|---|---|
version | String | Current driver version. |
state | String | Current driver status. The options are as follows:
|
Status code: 400
Parameter | Type | Description |
---|---|---|
error_code | String | Error code |
error_msg | String | Error message |
Status code: 404
Parameter | Type | Description |
---|---|---|
error_code | String | Error code |
error_msg | String | Error message |
Example Requests¶
Scale out a resource pool.
PATCH https://{endpoint}/v2/{project_id}/pools/{pool_name}
{
"spec" : {
"resources" : [ {
"flavor" : "modelarts.vm.cpu.4ud",
"count" : 3
} ]
}
}
Example Responses¶
Status code: 200
OK.
{
"kind" : "Pool",
"apiVersion" : "v2",
"metadata" : {
"name" : "auto-pool-os-86c13962597848eeb29c5861153a391f",
"creationTimestamp" : "2022-09-16T03:10:40Z",
"labels" : {
"os.modelarts/name" : "auto-pool-os",
"os.modelarts/workspace.id" : "0",
"os.modelarts/resource.id" : "maos-auto-pool-os-72w8d"
},
"annotations" : {
"os.modelarts/description" : "",
"os.modelarts/billing.mode" : "0"
}
},
"spec" : {
"type" : "Dedicate",
"scope" : [ "Train", "Infer" ],
"resources" : [ {
"flavor" : "modelarts.vm.cpu.4ud",
"count" : 3
} ],
"network" : {
"name" : "network-maos-86c13962597848eeb29c5861153a391f"
}
},
"status" : {
"phase" : "Running",
"root" : "auto-pool-os-86c13962597848eeb29c5861153a391f",
"scope" : [ {
"scopeType" : "Train",
"state" : "Enabled"
}, {
"scopeType" : "Infer",
"state" : "Enabled"
} ],
"resources" : {
"creating" : [ {
"flavor" : "modelarts.vm.cpu.4ud",
"count" : 1,
"azs" : [ {
"az" : "xxxxx-7c",
"count" : 1
} ]
} ],
"available" : [ {
"flavor" : "modelarts.vm.cpu.4ud",
"count" : 2,
"azs" : [ {
"az" : "xxxxx-7c",
"count" : 2
} ]
} ]
}
}
}
Status code: 400
Bad request
{
"error_code" : "ModelArts.50004000",
"error_msg" : "Bad request"
}
Status code: 404
Not found.
{
"error_code" : "ModelArts.50015001",
"error_msg" : "pool not found"
}
Status Codes¶
Status Code | Description |
---|---|
200 | OK. |
400 | Bad request. |
404 | Not found. |
Error Codes¶
For details, see Error Codes.