1 from starcluster import clustersetup
2 from starcluster.templates import condor
3 from starcluster.logger import log
4
5 CONDOR_CFG = '/etc/condor/config.d/40starcluster'
6 FS_REMOTE_DIR = '/home/._condor_tmp'
7
8
10
22
39
40 - def run(self, nodes, master, user, user_shell, volumes):
41 try:
42 self._nodes = nodes
43 self._master = master
44 self._user = user
45 self._user_shell = user_shell
46 self._volumes = volumes
47 self._setup_condor()
48 finally:
49 self.pool.shutdown()
50
51 - def on_add_node(self, node, nodes, master, user, user_shell, volumes):
52 self._nodes = nodes
53 self._master = master
54 self._user = user
55 self._user_shell = user_shell
56 self._volumes = volumes
57 log.info("Adding %s to Condor" % node.alias)
58 self._add_condor_node(node)
59
60 - def on_remove_node(self, node, nodes, master, user, user_shell, volumes):
61 self._nodes = nodes
62 self._master = master
63 self._user = user
64 self._user_shell = user_shell
65 self._volumes = volumes
66 log.info("Removing %s from Condor peacefully..." % node.alias)
67 master.ssh.execute("condor_off -peaceful %s" % node.alias)
68 node.ssh.execute("pkill condor" % node.alias, ignore_exit_status=True)
69