All Products
Search
Document Center

Batch Compute:createCluster

Last Updated:Feb 20, 2024

Parameter description

All classes of parameters are converted to dictionary objects containing the attribute information.

Parameter

Type

Description

cluster_desc

ClusterDescription object, str, dict

Description of the cluster

Response description

  • The create_cluster method returns a CreateResponse object. The following lists the attributes of the CreateResponse object.

  • You can use response.Id to obtain the ID of the new cluster.

Attribute

Type

Description

Id

str

ID of the new cluster

Example

try:
    # Init a Client object.
    client = ...

    # Refer to ClusterDescription.
    cluster_desc = ClusterDescription(...)

    cluster = client.create_cluster(cluster_desc)
    # Print out the cluster id.
    print (cluster.Id)
except ClientError, e:
    print (e)

ClusterDescription class

Parameter description

Parameter

Type

Description

properties

dict, str, ClusterDescription object

Object that contains the cluster description

Attribute description

For information about Groups, see the description of the GroupDescription class.

Attribute

Type

Description

Name

str

Cluster name

Description

str

Brief description of the cluster

ImageId

str

Image ID. Currently, only the ECS image ID is supported

UserData

dict

Key-Value mapping, which is defined by the user and obtained by using metaserver of the ECS instance

Groups

GroupDescription object

Information about instance groups in the cluster, which is described using the JSON format

Configs

Configs object

Cluster configurations

Notification

Notification object

Notification message configuration

Method description

Method

Description

add_group(group_name, group)

Adds an instance group

get_group(group_name)

Obtains information about an instance group based on the name of this instance group

delete_group(group_name)

Deletes an instance group

GroupDescription class

Parameter description

Parameter

Type

Description

properties

dict, str, GroupDescription object

Information about instance groups in the cluster

Attribute description

Attribute

Type

Description

DesiredVMCount

int

Expected number of instances

InstanceType

str

Cluster instance type

ResourceType

str

Resource type. Optional values include OnDemand and Spot

SpotStrategy

str

Spot strategy for an instance. It takes effect only when ResourceType is Spot. Values: SpotWithPriceLimit (Set the maximum price for the spot instance) and SpotAsPriceGo (The system provides a price automatically, and the maximum value is the Pay-As-You-Go price)

SpotPriceLimit

float

Maximum price of an instance per hour (the price of each instance type, not the price per core*hour). The value can contain at most three decimals. It takes effect when SpotStrategy is SpotWithPriceLimit

Configs class

Parameter description

Parameter

Type

Description

properties

dict, str, GroupDescription object

Cluster configurations

Attribute description

Attribute

Type

Description

Disks

Disks object

Disk configurations of instances in a cluster

Mounts

Object

Network disk mounting configurations when a cluster is created

Networks

Networks object

Network configurations of instances in a cluster, which are described by Networks

Method description

Method

Description

addsystem_disk(size, type)

Sets the size and type of a system disk. Currently, supported types include cloud and ephemeral

adddata_disk(size, type, mount_point)

Adds and sets a data disk. Currently, supported types include cloud and ephemeral

Disks class

Parameter description

Parameter

Type

Description

properties

dict, str, Disks object

Disk configurations of the cluster

Attribute description

Attribute

Type

Description

SystemDisk

SystemDisk object

System disk configurations

DataDisk

DataDisk object

Data disk configurations

SystemDisk class

Parameter description

Parameter

Type

Description

properties

dict, str, SystemDisk object

System disk configurations

Attribute description

Attribute

Type

Description

Size

int

Size of the system disk

Type

str

Type of the data disk

DataDisk class

Parameter description

Parameter

Type

Description

properties

dict, str, DataDisk object

Data disk configurations

Attribute description

Attribute

Type

Description

Size

int

Size of the system disk

Type

str

Type of the data disk

MountPoint

str

Directory to which the data disk must be mounted in the Linux system

Notification class

Parameter description

Parameter

Type

Description

properties

dict, str, Command object

Command line parameters related to a user program

Attribute description

Attribute

Type

Description

Topic

Topic Object

Message topic

Topic class

Parameter description

Parameter

Type

Description

properties

dict, str, Command object

Command line parameters related to a user program

Attribute description

Attribute

Type

Description

Endpoint

str

Endpoint of the MNS region. The format is http://${your_user_id}.mns.${region}-internal.aliyuncs.com/ . Use the intranet endpoint whenever possible

Name

str

Topic name

Events

list

List of events. Make sure that you enter the cluster related events

Mounts class

Parameter description

Parameter

Type

Description

properties

dict, str, Command object

Network disk mounting configurations when a cluster is created

Attribute description

Attribute

Type

Description

Entries

array

List of network disk mount points, which is described by MountPoint

Locale

str

Language used when OSS or NAS storage is mounted

Lock

bool

Specifies whether the file lock is supported when OSS or NAS storage is mounted

NAS

dict

NAS configuration

OSS

dict

OSS configuration

MountPoint class

Parameter description

Parameter

Type

Description

properties

dict, str, Command object

Network mount point

Attribute description

Attribute

Type

Description

Source

str

Source directory for network disk mounting. It can be a string starting with “nas://“ or “oss://“

Destination

str

Local mount point directory of the network disk

WriteSupport

bool

Specifies whether the mount point is writable

NAS class

Parameter description

Parameter

Type

Description

properties

dict, str, Command object

NAS configuration

Attribute description

Attribute

Type

Description

AccessGroup

list

NAS access group to which the cluster instance must be added

FileSystem

list

File system to be accessed

OSS class

Parameter description

Parameter

Type

Description

properties

dict, str, Command object

OSS configuration

Attribute description

Attribute

Type

Description

AccessKeyId

str

AccessKey ID used for OSS mounting

AccessKeySecret

str

AccessKey Secret used for OSS mounting

SecurityToken

str

Security token used for OSS mounting

Note

Note: Take the following precautions for Mounts: The Job-level Mounts configuration will overwrite the cluster-level Mounts configuration. After a cluster is modified, the RecreateInstance interface must be called to make the new Mounts configuration take effect. During NAS mounting, the source directory must start with “nas:”. Otherwise, an error occurs.

Networks class

Parameter description

Parameter

Type

Description

properties

dict, str, Command object

Network configurations when the cluster is created

Attribute description

Attribute

Type

Description

Classic

dict

Classic network configurations, which is described by Classic

Classic class

Parameter description

Parameter

Type

Description

properties

dict, str, Command object

Classic network configurations

Attribute description

Attribute

Type

Description

AllowIpAddress

list

IP address that allows the inbound traffic

AllowIpAddressEgress

list

IP address that allows the outbound traffic

AllowSecurityGroup

list

Security group that allows the inbound traffic

AllowSecurityGroupEgress

list

Security group that allows the outbound traffic

For example:

try:
    # some other codes here
    Client = Client(...
    ...

    cluster_desc = ClusterDescription()
    group_desc = GroupDescription()
    configs = Configs()

    group_desc.DesiredVMCount = 1
    group_desc.InstanceType = "ecs.t1.small"
    cluster_desc.add_group("group1", group_desc)

    configs.add_system_disk(40, 'ephemeral')
    configs.add_data_disk(40, 'ephemeral')
    cluster_desc.Configs = configs

    cluster_desc.Name = "BatchcomputePythonSDK"
    # image_id is a image created in batchcompute service before.
    # or an Ecs image Id.
    cluster_desc.ImageId = image_id

    print cluster_desc.Configs.Disks.SystemDisk.Type
    print cluster_desc.Configs.Disks.SystemDisk.Size

    print cluster_desc.Configs.Disks.DataDisk.Type
    print cluster_desc.Configs.Disks.DataDisk.Size

    print client.create_cluster(cluster_desc).Id
except ClientError, e:
    print (e.get_status_code(), e.get_code(), e.get_requestid(), e.get_msg())