Creating Resource Pools
Function
This API is used to create resource pools.
URI
POST /v2/{project_id}/pools
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
request-type |
No |
String |
Request type. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
apiVersion |
Yes |
String |
API version. Options: |
kind |
Yes |
String |
Resource type. Options: |
metadata |
Yes |
PoolMetadataCreation object |
Metadata of a resource pool. |
spec |
No |
PoolSpecCreation object |
Description of a resource pool. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
labels |
Yes |
PoolLabelsCreation object |
Resource pool labels. |
annotations |
No |
PoolAnnotationsCreation object |
Resource pool annotations. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
os.modelarts/workspace.id |
No |
String |
Workspace ID. The default value is 0. Default: 0 |
os.modelarts/name |
Yes |
String |
Specified resource pool name Minimum: 4 Maximum: 64 |
os.modelarts/sharing |
No |
String |
Whether the resource pool can be shared. The value can be unshared or shared. |
os.modelarts/node.prefix |
No |
String |
Customized node prefix. This parameter is optional. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
os.modelarts/description |
No |
String |
Description of a resource pool |
os.modelarts/billing.mode |
No |
String |
Billing mode. Options: |
os.modelarts/period.num |
No |
String |
Subscription period on a yearly/monthly basis, for example, 2. This parameter is mandatory when Billing Mode is set to Yearly/Monthly. |
os.modelarts/period.type |
No |
String |
Yearly/Monthly subscription type. Options: This parameter is mandatory when Billing Mode is set to Yearly/Monthly. |
os.modelarts/auto.renew |
No |
String |
Whether to automatically renew the subscription. Options: |
os.modelarts/promotion.info |
No |
String |
Discount selected on the operations platform |
os.modelarts/service.console.url |
No |
String |
URL of the page displayed after the subscription order is paid |
os.modelarts/order.id |
No |
String |
Order ID, which is mandatory for creating a yearly/monthly resource pool or changing the billing mode |
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 |
---|---|---|---|
type |
Yes |
object |
Resource pool type. |
scope |
No |
Array of strings |
Job type enabled, which cannot be specified for logical pools. Options: |
resources |
Yes |
Array of PoolResourceFlavorCount objects |
Resource specifications in a resource pool, including resource specifications and the number of resources for each specification |
parent |
No |
String |
Parent resource pool ID. This parameter is mandatory when a logical sub-pool is created based on a specified resource pool. |
network |
No |
PoolNetwork object |
Network settings for a resource pool. This parameter is mandatory for creating physical resource pools and is unavailable for creating logical resource pools. |
containerNetwork |
No |
containerNetwork object |
Kubernetes container network segment. Only one container network segment is supported. This parameter is optional. If this parameter is not set, the default value is specified by CCE. |
kubernetesSvcIpRange |
No |
String |
CIDR of the Kubernetes service network segment |
masters |
No |
Array of PoolClusterMaster objects |
Master node parameters in a resource pool. This parameter is optional for physical resource pools and is unavailable for logical resource pools. |
driver |
No |
PoolDriver object |
Resource pool driver |
userLogin |
No |
PoolUserLogin object |
Node login information of a privilege pool |
clusters |
No |
Array of PoolClusterInfo objects |
Privilege pool cluster information |
ipv6enable |
No |
Boolean |
Whether to enable IPv6 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
flavor |
Yes |
String |
Resource specifications name, for example, modelarts.vm.gpu.t4u8 |
count |
Yes |
Integer |
Minimum count for the specifications in a resource pool |
maxCount |
Yes |
Integer |
Elastic usage of the resource specifications. 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 |
No |
Array of PoolNodeAz objects |
AZ where resource pool nodes are deployed. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
az |
Yes |
String |
AZ name. |
count |
Yes |
Integer |
Number of nodes for expanding the capacity of a specified AZ. Minimum: 1 Maximum: 2000 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
No |
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. Minimum: 4 Maximum: 128 |
vpcId |
No |
String |
VPC ID, which must be specified when a privileged pool is created and is unavailable for a non-privileged pool |
subnetId |
No |
String |
Subnet ID, which must be specified when a privileged pool is created and is unavailable for a non-privileged pool |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
cidr |
No |
String |
CIDR block of the container network segment. Recommended: 10.0.0.0/12-19, 172.16.0.0/16-19, or 192.168.0.0/16-19. If the selected CIDR block conflicts with existing ones, an error will be reported. This parameter cannot be modified after the cluster is created. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
az |
No |
String |
AZ where the master node is located |
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. Options: |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
apiVersion |
String |
API version. Options: |
kind |
String |
Resource type. Options: |
metadata |
PoolMetadata object |
Metadata of a resource pool. |
spec |
PoolSpec object |
Description of a resource pool. |
status |
PoolStatus object |
Status of a resource pool. |
Parameter |
Type |
Description |
---|---|---|
name |
String |
Automatically generated resource pool name, which is equivalent to pool ID. Minimum: 4 Maximum: 128 |
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. Default: 0 |
os.modelarts/name |
String |
Specified resource pool name. Minimum: 4 Maximum: 64 |
os.modelarts/resource.id |
String |
Resource ID, which is typically 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 of a resource pool, for example, admin-console, indicating that the resource pool is created by the administrator on the ModelArts console |
os.modelarts.pool/biz |
String |
Business type of a resource pool. The value can be public or private. |
os.modelarts/privileged |
String |
Whether a resource pool is a privileged pool. If this parameter is specified, the resource pool is a privileged one. |
os.modelarts/sharing |
String |
Whether the resource pool can be shared. Options: |
Parameter |
Type |
Description |
---|---|---|
os.modelarts/description |
String |
Description of a resource pool. |
os.modelarts/billing.mode |
String |
Billing mode. Options: |
os.modelarts/period.num |
String |
Subscription period on a yearly/monthly basis, for example, 2. |
os.modelarts/period.type |
String |
Yearly/monthly subscription. Options: |
os.modelarts/auto.renew |
String |
Whether to automatically renew the subscription. Options: |
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, which is mandatory when creating a yearly/monthly resource pool or changing its billing mode. |
os.modelarts/flavor.resource.ids |
String |
Resource ID corresponding to each specification, which is used for interaction with the operations platform |
os.modelarts/tms.tags |
String |
Resource 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 |
object |
Resource pool type. |
scope |
Array of strings |
Job type enabled, which cannot be specified for logical pools. Options: |
resources |
Array of PoolResourceFlavorCount objects |
Resource specifications in a resource pool, including resource specifications and the number of resources for each specification. |
network |
PoolNetwork object |
Network settings for a resource pool. This parameter is mandatory for physical resource pools and is unavailable for logical resource pools. |
containerNetwork |
PoolClusterContainerNetwork object |
Kubernetes container network |
kubernetesSvcIpRange |
String |
CIDR of the Kubernetes service network segment |
masters |
Array of PoolClusterMaster objects |
Master node parameters in a resource pool. This parameter is optional for physical resource pools and is unavailable for logical resource pools. |
driver |
PoolDriver object |
Resource pool driver. |
userLogin |
PoolUserLogin object |
Node login information of a privilege pool |
clusters |
Array of PoolClusterInfo objects |
Privilege pool cluster information |
ipv6enable |
Boolean |
Whether to enable IPv6 |
controlMode |
Integer |
Restriction status of a resource pool. Options: |
Parameter |
Type |
Description |
---|---|---|
flavor |
String |
Resource specifications name, for example, modelarts.vm.gpu.t4u8 |
count |
Integer |
Minimum count for the specifications in a resource pool |
maxCount |
Integer |
Elastic usage of the resource specifications. 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 PoolNodeAz objects |
AZ where resource pool nodes are deployed. |
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. Minimum: 4 Maximum: 128 |
vpcId |
String |
VPC ID, which must be specified when a privileged pool is created and is unavailable for a non-privileged pool |
subnetId |
String |
Subnet ID, which must be specified when a privileged pool is created and is unavailable for a non-privileged pool |
Parameter |
Type |
Description |
---|---|---|
mode |
String |
Container network model |
cidr |
String |
Container network segment. This parameter is available only when the container network model is overlay_l2 or vpc-router. |
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. Options: |
Parameter |
Type |
Description |
---|---|---|
keyPairName |
String |
Key pair name |
password |
String |
Password, which must be salted, encrypted, and encoded using Base64. The default username is root. |
Parameter |
Type |
Description |
---|---|---|
phase |
String |
Resource pool status. Options: |
message |
String |
Message indicating that the resource pool is in the current state. |
resources |
resources object |
Left blank for logical pools, which do not need to be created. |
scope |
Array of scope objects |
Service status of a resource pool. |
driver |
driver object |
Resource pool driver. |
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. |
clusters |
Array of PoolClusterInfo objects |
Resource pool cluster information. This parameter is available only for privileged pools. |
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 unavailable resources. |
deleting |
PoolResourceFlavorCount object |
Number of resources that are being deleted. |
Parameter |
Type |
Description |
---|---|---|
az |
String |
AZ name. |
count |
Integer |
Number of nodes for expanding the capacity of a specified AZ. Minimum: 1 Maximum: 2000 |
Parameter |
Type |
Description |
---|---|---|
scopeType |
String |
Job type enabled, which cannot be specified for logical pools. Options: |
state |
String |
Service status. Options: |
Parameter |
Type |
Description |
---|---|---|
gpu |
PoolDriverStatus object |
GPU driver. |
npu |
PoolDriverStatus object |
NPU driver. |
Parameter |
Type |
Description |
---|---|---|
version |
String |
Driver version |
state |
String |
Driver status. Options: |
Parameter |
Type |
Description |
---|---|---|
name |
String |
Cluster name |
providerId |
String |
Cluster ID |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 409
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Example Requests
-
POST https://{endpoint}/v2/{project_id}/pools { "kind" : "Pool", "apiVersion" : "v1", "metadata" : { "labels" : { "os.modelarts/name" : "pool-001", "os.modelarts/workspace.id" : "xxxxxx" }, "annotations" : { "os.modelarts/description" : "", "os.modelarts/billing.mode" : "0" } }, "spec" : { "type" : "Dedicate", "scope" : [ "Train" ], "network" : { "name" : "net-01" }, "masters" : [ { "az" : "xxxxxx-7a" } ], "resources" : [ { "flavor" : "modelarts.vm.gpu.t4u8", "count" : 2 } ], "driver" : { "gpuVersion" : "440.31" } } }
-
POST https://{endpoint}/v2/{project_id}/pools { "kind" : "Pool", "apiVersion" : "v1", "metadata" : { "labels" : { "os.modelarts/name" : "pool-logic-01" }, "annotations" : { "os.modelarts/description" : "", "os.modelarts/billing.mode" : 0, "os.modelarts/product.id" : "xxx" } }, "spec" : { "type" : "Logical", "scope" : [ "Train" ], "resources" : [ { "flavor" : "modelarts.vm.gpu.t4u8", "count" : 2 } ] } }
Example Responses
Status code: 400
Bad request
{ "error_code" : "ModelArts.50004000", "error_msg" : "Bad request" }
Status code: 409
Already exists
{ "error_code" : "ModelArts.50015000", "error_msg" : "Pool already exists." }
Status Codes
Status Code |
Description |
---|---|
200 |
OK |
400 |
Bad request |
409 |
Already exists |
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.