Package starcluster :: Module clustersetup :: Class DefaultClusterSetup
[hide private]
[frames] | no frames]

Class DefaultClusterSetup

source code


Default ClusterSetup implementation for StarCluster

Instance Methods [hide private]
 
__init__(self, disable_queue=False, disable_threads=False, num_threads=20)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
_setup_hostnames(self, nodes=None)
Set each node's hostname to their alias.
source code
 
_setup_cluster_user(self)
Create cluster user on all StarCluster nodes
source code
 
_add_user_to_node(self, uid, gid, node) source code
 
_add_user_to_nodes(self, uid, gid, nodes=None) source code
 
_setup_scratch_on_node(self, node) source code
 
_setup_scratch(self, nodes=None)
Configure scratch space on all StarCluster nodes
source code
 
_setup_etc_hosts(self, nodes=None)
Configure /etc/hosts on all StarCluster nodes
source code
 
_setup_passwordless_ssh(self, nodes=None)
Properly configure passwordless ssh for root and CLUSTER_USER on all StarCluster nodes
source code
 
_setup_ebs_volumes(self)
Mount EBS volumes, if specified in ~/.starcluster/config to /home
source code
 
_get_nfs_export_paths(self) source code
 
_mount_nfs_shares(self, nodes) source code
 
_setup_nfs(self, nodes=None, start_server=True)
Share /home, /opt/sge6, and all EBS mount paths via NFS to all nodes
source code
 
_create_sge_pe(self, name='orte', nodes=None, queue='all.q')
Create or update an SGE parallel environment
source code
 
_setup_sge(self)
Install Sun Grid Engine with a default parallel environment on StarCluster
source code
 
run(self, nodes, master, user, user_shell, volumes)
Start cluster configuration
source code
 
_remove_from_etc_hosts(self, node) source code
 
_remove_nfs_exports(self, node) source code
 
_remove_from_known_hosts(self, node) source code
 
_remove_from_sge(self, node) source code
 
on_remove_node(self, node, nodes, master, user, user_shell, volumes)
This method gets executed before a node is about to be removed from the cluster
source code
 
_create_user(self, node) source code
 
_add_sge_submit_host(self, node) source code
 
_add_sge_administrative_host(self, node) source code
 
_add_to_sge(self, node) source code
 
on_add_node(self, node, nodes, master, user, user_shell, volumes)
This methods gets executed after a node has been added to the cluster
source code

Inherited from ClusterSetup: on_restart, on_shutdown

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]
  pool
  nodes
  running_nodes

Inherited from object: __class__

Method Details [hide private]

__init__(self, disable_queue=False, disable_threads=False, num_threads=20)
(Constructor)

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Overrides: object.__init__
(inherited documentation)

_setup_cluster_user(self)

source code 

Create cluster user on all StarCluster nodes

This command takes care to examine existing folders in /home and set the new cluster_user's uid/gid accordingly. This is necessary for the case of EBS volumes containing /home with large amounts of data in them. It's much less expensive in this case to set the uid/gid of the new user to be the existing uid/gid of the dir in EBS rather than chowning potentially terabytes of data.

_setup_nfs(self, nodes=None, start_server=True)

source code 

Share /home, /opt/sge6, and all EBS mount paths via NFS to all nodes

Decorators:
  • @print_timing("Setting up NFS")

_create_sge_pe(self, name='orte', nodes=None, queue='all.q')

source code 

Create or update an SGE parallel environment

name - name of parallel environment
nodes - list of nodes to include in the parallel environment
        (default: all)
queue - configure queue to use the new parallel environment

run(self, nodes, master, user, user_shell, volumes)

source code 

Start cluster configuration

Overrides: ClusterSetup.run

on_remove_node(self, node, nodes, master, user, user_shell, volumes)

source code 

This method gets executed before a node is about to be removed from the cluster

Overrides: ClusterSetup.on_remove_node
(inherited documentation)

on_add_node(self, node, nodes, master, user, user_shell, volumes)

source code 

This methods gets executed after a node has been added to the cluster

Overrides: ClusterSetup.on_add_node
(inherited documentation)

Property Details [hide private]

pool

Get Method:
unreachable.pool(self)

nodes

Get Method:
unreachable.nodes(self)

running_nodes

Get Method:
unreachable.running_nodes(self)