Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Lai, Weijian <laiweijian4@huawei.com> Co-committed-by: Lai, Weijian <laiweijian4@huawei.com>
111 KiB
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 |
---|---|---|
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 |
---|---|---|
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.