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.



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

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)


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

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


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

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



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

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



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

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



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

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


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

def prolog_bash_scripts
  @prolog_bash_scripts
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

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