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.



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

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)


1849
1850
1851
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1849

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>)


1856
1857
1858
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1856

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



1863
1864
1865
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1863

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



1869
1870
1871
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1869

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



1877
1878
1879
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1877

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>)


1884
1885
1886
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1884

def prolog_bash_scripts
  @prolog_bash_scripts
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1891
1892
1893
1894
1895
1896
1897
1898
# File 'lib/google/apis/hypercomputecluster_v1/classes.rb', line 1891

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