Class: Google::Apis::HypercomputeclusterV1::SlurmOrchestrator

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/hypercomputecluster_v1/classes.rb,
lib/google/apis/hypercomputecluster_v1/representations.rb,
lib/google/apis/hypercomputecluster_v1/representations.rb

Overview

When set in Orchestrator, indicates that the cluster should use Slurm as the orchestrator.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ SlurmOrchestrator

Returns a new instance of SlurmOrchestrator.



1896
1897
1898
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1896

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#default_partitionString

Optional. Default partition to use for submitted jobs that do not explicitly specify a partition. Required if and only if there is more than one partition, in which case it must match the id of one of the partitions. Corresponds to the JSON property defaultPartition

Returns:

  • (String)


1859
1860
1861
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1859

def default_partition
  @default_partition
end

#epilog_bash_scriptsArray<String>

Optional. Slurm epilog scripts, which will be executed by compute nodes whenever a node finishes running a job. Values must not be empty. Corresponds to the JSON property epilogBashScripts

Returns:

  • (Array<String>)


1866
1867
1868
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1866

def epilog_bash_scripts
  @epilog_bash_scripts
end

#login_nodesGoogle::Apis::HypercomputeclusterV1::SlurmLoginNodes

Configuration for Slurm login nodes in the cluster. Login nodes are Compute Engine VM instances that allow users to access the cluster over SSH. Corresponds to the JSON property loginNodes



1873
1874
1875
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1873

def 
  @login_nodes
end

#node_setsArray<Google::Apis::HypercomputeclusterV1::SlurmNodeSet>

Optional. Compute resource configuration for the Slurm nodesets in your cluster. If not specified, the cluster won't create any nodes. Corresponds to the JSON property nodeSets



1879
1880
1881
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1879

def node_sets
  @node_sets
end

#partitionsArray<Google::Apis::HypercomputeclusterV1::SlurmPartition>

Optional. Configuration for the Slurm partitions in your cluster. Each partition can contain one or more nodesets, and you can submit separate jobs on each partition. If you don't specify at least one partition in your cluster, you can't submit jobs to the cluster. Corresponds to the JSON property partitions



1887
1888
1889
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1887

def partitions
  @partitions
end

#prolog_bash_scriptsArray<String>

Optional. Slurm prolog scripts, which will be executed by compute nodes before a node begins running a new job. Values must not be empty. Corresponds to the JSON property prologBashScripts

Returns:

  • (Array<String>)


1894
1895
1896
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1894

def prolog_bash_scripts
  @prolog_bash_scripts
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1901
1902
1903
1904
1905
1906
1907
1908
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1901

def update!(**args)
  @default_partition = args[:default_partition] if args.key?(:default_partition)
  @epilog_bash_scripts = args[:epilog_bash_scripts] if args.key?(:epilog_bash_scripts)
  @login_nodes = args[:login_nodes] if args.key?(:login_nodes)
  @node_sets = args[:node_sets] if args.key?(:node_sets)
  @partitions = args[:partitions] if args.key?(:partitions)
  @prolog_bash_scripts = args[:prolog_bash_scripts] if args.key?(:prolog_bash_scripts)
end