Show More
@@ -109,7 +109,7 b' c = get_config()' | |||||
109 | # c.PBSControllerLauncher.delete_command = 'qdel' |
|
109 | # c.PBSControllerLauncher.delete_command = 'qdel' | |
110 |
|
110 | |||
111 | # A regular expression that takes the output of qsub and find the job id. |
|
111 | # A regular expression that takes the output of qsub and find the job id. | |
112 | # c.PBSControllerLauncher.job_id_regexp = '\d+' |
|
112 | # c.PBSControllerLauncher.job_id_regexp = r'\d+' | |
113 |
|
113 | |||
114 | # The batch submission script used to start the controller. This is where |
|
114 | # The batch submission script used to start the controller. This is where | |
115 | # environment variables would be setup, etc. This string is interpolated using |
|
115 | # environment variables would be setup, etc. This string is interpolated using | |
@@ -129,7 +129,7 b' c = get_config()' | |||||
129 | # c.PBSEngineSetLauncher.delete_command = 'qdel' |
|
129 | # c.PBSEngineSetLauncher.delete_command = 'qdel' | |
130 |
|
130 | |||
131 | # A regular expression that takes the output of qsub and find the job id. |
|
131 | # A regular expression that takes the output of qsub and find the job id. | |
132 | # c.PBSEngineSetLauncher.job_id_regexp = '\d+' |
|
132 | # c.PBSEngineSetLauncher.job_id_regexp = r'\d+' | |
133 |
|
133 | |||
134 | # The batch submission script used to start the engines. This is where |
|
134 | # The batch submission script used to start the engines. This is where | |
135 | # environment variables would be setup, etc. This string is interpolated using |
|
135 | # environment variables would be setup, etc. This string is interpolated using | |
@@ -147,7 +147,7 b' c = get_config()' | |||||
147 |
|
147 | |||
148 | # c.IPControllerJob.job_name = 'IPController' |
|
148 | # c.IPControllerJob.job_name = 'IPController' | |
149 | # c.IPControllerJob.is_exclusive = False |
|
149 | # c.IPControllerJob.is_exclusive = False | |
150 |
# c.IPControllerJob.username = 'USERDOMAIN |
|
150 | # c.IPControllerJob.username = r'USERDOMAIN\USERNAME' | |
151 | # c.IPControllerJob.priority = 'Highest' |
|
151 | # c.IPControllerJob.priority = 'Highest' | |
152 | # c.IPControllerJob.requested_nodes = '' |
|
152 | # c.IPControllerJob.requested_nodes = '' | |
153 | # c.IPControllerJob.project = 'MyProject' |
|
153 | # c.IPControllerJob.project = 'MyProject' | |
@@ -163,7 +163,7 b' c = get_config()' | |||||
163 |
|
163 | |||
164 | # c.IPEngineSetJob.job_name = 'IPEngineSet' |
|
164 | # c.IPEngineSetJob.job_name = 'IPEngineSet' | |
165 | # c.IPEngineSetJob.is_exclusive = False |
|
165 | # c.IPEngineSetJob.is_exclusive = False | |
166 |
# c.IPEngineSetJob.username = 'USERDOMAIN |
|
166 | # c.IPEngineSetJob.username = r'USERDOMAIN\USERNAME' | |
167 | # c.IPEngineSetJob.priority = 'Highest' |
|
167 | # c.IPEngineSetJob.priority = 'Highest' | |
168 | # c.IPEngineSetJob.requested_nodes = '' |
|
168 | # c.IPEngineSetJob.requested_nodes = '' | |
169 | # c.IPEngineSetJob.project = 'MyProject' |
|
169 | # c.IPEngineSetJob.project = 'MyProject' |
@@ -69,9 +69,7 b' class ClusterDir(Component):' | |||||
69 |
|
69 | |||
70 | def _location_changed(self, name, old, new): |
|
70 | def _location_changed(self, name, old, new): | |
71 | if not os.path.isdir(new): |
|
71 | if not os.path.isdir(new): | |
72 |
os.makedirs(new |
|
72 | os.makedirs(new) | |
73 | else: |
|
|||
74 | os.chmod(new, 0777) |
|
|||
75 | self.security_dir = os.path.join(new, self.security_dir_name) |
|
73 | self.security_dir = os.path.join(new, self.security_dir_name) | |
76 | self.log_dir = os.path.join(new, self.log_dir_name) |
|
74 | self.log_dir = os.path.join(new, self.log_dir_name) | |
77 | self.pid_dir = os.path.join(new, self.pid_dir_name) |
|
75 | self.pid_dir = os.path.join(new, self.pid_dir_name) | |
@@ -82,9 +80,7 b' class ClusterDir(Component):' | |||||
82 |
|
80 | |||
83 | def check_log_dir(self): |
|
81 | def check_log_dir(self): | |
84 | if not os.path.isdir(self.log_dir): |
|
82 | if not os.path.isdir(self.log_dir): | |
85 |
os.mkdir(self.log_dir |
|
83 | os.mkdir(self.log_dir) | |
86 | else: |
|
|||
87 | os.chmod(self.log_dir, 0777) |
|
|||
88 |
|
84 | |||
89 | def _security_dir_changed(self, name, old, new): |
|
85 | def _security_dir_changed(self, name, old, new): | |
90 | self.check_security_dir() |
|
86 | self.check_security_dir() | |
@@ -92,8 +88,7 b' class ClusterDir(Component):' | |||||
92 | def check_security_dir(self): |
|
88 | def check_security_dir(self): | |
93 | if not os.path.isdir(self.security_dir): |
|
89 | if not os.path.isdir(self.security_dir): | |
94 | os.mkdir(self.security_dir, 0700) |
|
90 | os.mkdir(self.security_dir, 0700) | |
95 | else: |
|
91 | os.chmod(self.security_dir, 0700) | |
96 | os.chmod(self.security_dir, 0700) |
|
|||
97 |
|
92 | |||
98 | def _pid_dir_changed(self, name, old, new): |
|
93 | def _pid_dir_changed(self, name, old, new): | |
99 | self.check_pid_dir() |
|
94 | self.check_pid_dir() | |
@@ -101,8 +96,7 b' class ClusterDir(Component):' | |||||
101 | def check_pid_dir(self): |
|
96 | def check_pid_dir(self): | |
102 | if not os.path.isdir(self.pid_dir): |
|
97 | if not os.path.isdir(self.pid_dir): | |
103 | os.mkdir(self.pid_dir, 0700) |
|
98 | os.mkdir(self.pid_dir, 0700) | |
104 | else: |
|
99 | os.chmod(self.pid_dir, 0700) | |
105 | os.chmod(self.pid_dir, 0700) |
|
|||
106 |
|
100 | |||
107 | def check_dirs(self): |
|
101 | def check_dirs(self): | |
108 | self.check_security_dir() |
|
102 | self.check_security_dir() |
@@ -208,7 +208,7 b' class IPClusterApp(ApplicationWithClusterDir):' | |||||
208 | self.auto_create_cluster_dir = True |
|
208 | self.auto_create_cluster_dir = True | |
209 | super(IPClusterApp, self).find_resources() |
|
209 | super(IPClusterApp, self).find_resources() | |
210 | elif subcommand=='start' or subcommand=='stop': |
|
210 | elif subcommand=='start' or subcommand=='stop': | |
211 |
self.auto_create_cluster_dir = |
|
211 | self.auto_create_cluster_dir = True | |
212 | try: |
|
212 | try: | |
213 | super(IPClusterApp, self).find_resources() |
|
213 | super(IPClusterApp, self).find_resources() | |
214 | except ClusterDirError: |
|
214 | except ClusterDirError: | |
@@ -257,13 +257,16 b' class IPClusterApp(ApplicationWithClusterDir):' | |||||
257 |
|
257 | |||
258 | def construct(self): |
|
258 | def construct(self): | |
259 | config = self.master_config |
|
259 | config = self.master_config | |
260 |
|
|
260 | subcmd = config.Global.subcommand | |
261 | pass |
|
261 | reset = config.Global.reset_config | |
262 |
|
|
262 | if subcmd == 'list': | |
|
263 | return | |||
|
264 | if subcmd == 'create': | |||
263 | self.log.info('Copying default config files to cluster directory ' |
|
265 | self.log.info('Copying default config files to cluster directory ' | |
264 |
'[overwrite=%r]' % ( |
|
266 | '[overwrite=%r]' % (reset,)) | |
265 |
self.cluster_dir_obj.copy_all_config_files(overwrite= |
|
267 | self.cluster_dir_obj.copy_all_config_files(overwrite=reset) | |
266 |
|
|
268 | if subcmd =='start': | |
|
269 | self.cluster_dir_obj.copy_all_config_files(overwrite=False) | |||
267 | self.start_logging() |
|
270 | self.start_logging() | |
268 | reactor.callWhenRunning(self.start_launchers) |
|
271 | reactor.callWhenRunning(self.start_launchers) | |
269 |
|
272 | |||
@@ -410,6 +413,7 b' class IPClusterApp(ApplicationWithClusterDir):' | |||||
410 | self.log.info( |
|
413 | self.log.info( | |
411 | 'Starting ipcluster with [daemon=%r]' % config.Global.daemonize |
|
414 | 'Starting ipcluster with [daemon=%r]' % config.Global.daemonize | |
412 | ) |
|
415 | ) | |
|
416 | # TODO: Get daemonize working on Windows or as a Windows Server. | |||
413 | if config.Global.daemonize: |
|
417 | if config.Global.daemonize: | |
414 | if os.name=='posix': |
|
418 | if os.name=='posix': | |
415 | daemonize() |
|
419 | daemonize() |
@@ -505,6 +505,7 b' class MPIExecEngineSetLauncher(MPIExecLauncher):' | |||||
505 | # SSH launchers |
|
505 | # SSH launchers | |
506 | #----------------------------------------------------------------------------- |
|
506 | #----------------------------------------------------------------------------- | |
507 |
|
507 | |||
|
508 | # TODO: Get SSH Launcher working again. | |||
508 |
|
509 | |||
509 | class SSHLauncher(BaseLauncher): |
|
510 | class SSHLauncher(BaseLauncher): | |
510 | """A minimal launcher for ssh. |
|
511 | """A minimal launcher for ssh. | |
@@ -565,7 +566,7 b' class WindowsHPCLauncher(BaseLauncher):' | |||||
565 |
|
566 | |||
566 | # A regular expression used to get the job id from the output of the |
|
567 | # A regular expression used to get the job id from the output of the | |
567 | # submit_command. |
|
568 | # submit_command. | |
568 | job_id_regexp = Str('\d+', config=True) |
|
569 | job_id_regexp = Str(r'\d+', config=True) | |
569 | # The filename of the instantiated job script. |
|
570 | # The filename of the instantiated job script. | |
570 | job_file_name = Unicode(u'ipython_job.xml', config=True) |
|
571 | job_file_name = Unicode(u'ipython_job.xml', config=True) | |
571 | # The full path to the instantiated job script. This gets made dynamically |
|
572 | # The full path to the instantiated job script. This gets made dynamically | |
@@ -709,6 +710,7 b' class WindowsHPCEngineSetLauncher(WindowsHPCLauncher):' | |||||
709 | # Batch (PBS) system launchers |
|
710 | # Batch (PBS) system launchers | |
710 | #----------------------------------------------------------------------------- |
|
711 | #----------------------------------------------------------------------------- | |
711 |
|
712 | |||
|
713 | # TODO: Get PBS launcher working again. | |||
712 |
|
714 | |||
713 | class BatchSystemLauncher(BaseLauncher): |
|
715 | class BatchSystemLauncher(BaseLauncher): | |
714 | """Launch an external process using a batch system. |
|
716 | """Launch an external process using a batch system. | |
@@ -790,7 +792,7 b' class PBSLauncher(BatchSystemLauncher):' | |||||
790 |
|
792 | |||
791 | submit_command = Str('qsub', config=True) |
|
793 | submit_command = Str('qsub', config=True) | |
792 | delete_command = Str('qdel', config=True) |
|
794 | delete_command = Str('qdel', config=True) | |
793 | job_id_regexp = Str('\d+', config=True) |
|
795 | job_id_regexp = Str(r'\d+', config=True) | |
794 | batch_template = Str('', config=True) |
|
796 | batch_template = Str('', config=True) | |
795 | batch_file_name = Unicode(u'pbs_batch_script', config=True) |
|
797 | batch_file_name = Unicode(u'pbs_batch_script', config=True) | |
796 | batch_file = Unicode(u'') |
|
798 | batch_file = Unicode(u'') |
General Comments 0
You need to be logged in to leave comments.
Login now