diff --git a/IPython/parallel/apps/ipclusterapp.py b/IPython/parallel/apps/ipclusterapp.py index f03c1f4..9705e8f 100755 --- a/IPython/parallel/apps/ipclusterapp.py +++ b/IPython/parallel/apps/ipclusterapp.py @@ -60,7 +60,7 @@ _description = """Start an IPython cluster for parallel computing. An IPython cluster consists of 1 controller and 1 or more engines. This command automates the startup of these processes using a wide range of -startup methods (SSH, local processes, PBS, mpiexec, SGE, LSF, Condor, +startup methods (SSH, local processes, PBS, mpiexec, SGE, LSF, HTCondor, Windows HPC Server 2008). To start a cluster with 4 engines on your local host simply do 'ipcluster start --n=4'. For more complex usage you will typically do 'ipython profile create mycluster --parallel', then edit @@ -116,7 +116,7 @@ def find_launcher_class(clsname, kind): ========== clsname : str The full name of the launcher class, either with or without the - module path, or an abbreviation (MPI, SSH, SGE, PBS, LSF, Condor + module path, or an abbreviation (MPI, SSH, SGE, PBS, LSF, HTCondor WindowsHPC). kind : str Either 'EngineSet' or 'Controller'. @@ -287,7 +287,7 @@ class IPClusterEngines(BaseParallelApplication): Note that SSH does *not* move the connection files around, so you will likely have to do this manually unless the machines are on a shared file system. - Condor : use HTCondor to submit engines to a batch queue + HTCondor : use HTCondor to submit engines to a batch queue WindowsHPC : use Windows HPC If you are using one of IPython's builtin launchers, you can specify just the @@ -489,7 +489,7 @@ class IPClusterStart(IPClusterEngines): PBS : use PBS (qsub) to submit the controller to a batch queue SGE : use SGE (qsub) to submit the controller to a batch queue LSF : use LSF (bsub) to submit the controller to a batch queue - Condor: use HTCondor to submit the controller to a batch queue + HTCondor : use HTCondor to submit the controller to a batch queue SSH : use SSH to start the controller WindowsHPC : use Windows HPC diff --git a/IPython/parallel/apps/launcher.py b/IPython/parallel/apps/launcher.py index 2292d85..b0f00d7 100644 --- a/IPython/parallel/apps/launcher.py +++ b/IPython/parallel/apps/launcher.py @@ -1285,10 +1285,10 @@ class LSFEngineSetLauncher(LSFLauncher, BatchClusterAppMixin): -class CondorLauncher(BatchSystemLauncher): - """A BatchSystemLauncher subclass for Condor. +class HTCondorLauncher(BatchSystemLauncher): + """A BatchSystemLauncher subclass for HTCondor. - Condor requires that we launch the ipengine/ipcontroller scripts rather + HTCondor requires that we launch the ipengine/ipcontroller scripts rather that the python instance but otherwise is very similar to PBS. This is because HTCondor destroys sys.executable when launching remote processes - a launched python process depends on sys.executable to effectively evaluate its @@ -1307,9 +1307,9 @@ class CondorLauncher(BatchSystemLauncher): """ submit_command = List(['condor_submit'], config=True, - help="The Condor submit command ['condor_submit']") + help="The HTCondor submit command ['condor_submit']") delete_command = List(['condor_rm'], config=True, - help="The Condor delete command ['condor_rm']") + help="The HTCondor delete command ['condor_rm']") job_id_regexp = CRegExp(r'(\d+)\.$', config=True, help="Regular expression for identifying the job ID [r'(\d+)\.$']") job_id_regexp_group = Integer(1, config=True, @@ -1324,21 +1324,21 @@ class CondorLauncher(BatchSystemLauncher): """ if not self.job_array_regexp.search(self.batch_template): self.log.debug("adding job array settings to batch script") - #Condor requires that the job array goes at the bottom of the script + #HTCondor requires that the job array goes at the bottom of the script self.batch_template = '\n'.join([self.batch_template, self.job_array_template]) def _insert_queue_in_script(self): - """AFAIK, Condor doesn't have a concept of multiple queues that can be + """AFAIK, HTCondor doesn't have a concept of multiple queues that can be specified in the script. """ pass -class CondorControllerLauncher(CondorLauncher, BatchClusterAppMixin): - """Launch a controller using Condor.""" +class HTCondorControllerLauncher(HTCondorLauncher, BatchClusterAppMixin): + """Launch a controller using HTCondor.""" - batch_file_name = Unicode(u'condor_controller', config=True, + batch_file_name = Unicode(u'htcondor_controller', config=True, help="batch file name for the controller job.") default_template = Unicode(r""" universe = vanilla @@ -1350,12 +1350,12 @@ arguments = --log-to-file '--profile-dir={profile_dir}' --cluster-id='{clu def start(self): """Start the controller by profile or profile_dir.""" - return super(CondorControllerLauncher, self).start(1) + return super(HTCondorControllerLauncher, self).start(1) -class CondorEngineSetLauncher(CondorLauncher, BatchClusterAppMixin): - """Launch Engines using Condor""" - batch_file_name = Unicode(u'condor_engines', config=True, +class HTCondorEngineSetLauncher(HTCondorLauncher, BatchClusterAppMixin): + """Launch Engines using HTCondor""" + batch_file_name = Unicode(u'htcondor_engines', config=True, help="batch file name for the engine(s) job.") default_template = Unicode(""" universe = vanilla @@ -1432,10 +1432,10 @@ lsf_launchers = [ LSFControllerLauncher, LSFEngineSetLauncher, ] -condor_launchers = [ - CondorLauncher, - CondorControllerLauncher, - CondorEngineSetLauncher, +htcondor_launchers = [ + HTCondorLauncher, + HTCondorControllerLauncher, + HTCondorEngineSetLauncher, ] all_launchers = local_launchers + mpi_launchers + ssh_launchers + winhpc_launchers\ - + pbs_launchers + sge_launchers + lsf_launchers + condor_launchers + + pbs_launchers + sge_launchers + lsf_launchers + htcondor_launchers diff --git a/IPython/parallel/tests/test_launcher.py b/IPython/parallel/tests/test_launcher.py index 89f6878..30421cc 100644 --- a/IPython/parallel/tests/test_launcher.py +++ b/IPython/parallel/tests/test_launcher.py @@ -129,8 +129,8 @@ class TestSGEControllerLauncher(BatchTest, ControllerLauncherTest, TestCase): class TestLSFControllerLauncher(BatchTest, ControllerLauncherTest, TestCase): launcher_class = launcher.LSFControllerLauncher -class TestCondorControllerLauncher(BatchTest, ControllerLauncherTest, TestCase): - launcher_class = launcher.CondorControllerLauncher +class TestHTCondorControllerLauncher(BatchTest, ControllerLauncherTest, TestCase): + launcher_class = launcher.HTCondorControllerLauncher class TestSSHControllerLauncher(SSHTest, ControllerLauncherTest, TestCase): launcher_class = launcher.SSHControllerLauncher @@ -158,8 +158,8 @@ class TestSGEEngineSetLauncher(BatchTest, EngineSetLauncherTest, TestCase): class TestLSFEngineSetLauncher(BatchTest, EngineSetLauncherTest, TestCase): launcher_class = launcher.LSFEngineSetLauncher -class TestCondorEngineSetLauncher(BatchTest, EngineSetLauncherTest, TestCase): - launcher_class = launcher.CondorEngineSetLauncher +class TestHTCondorEngineSetLauncher(BatchTest, EngineSetLauncherTest, TestCase): + launcher_class = launcher.HTCondorEngineSetLauncher class TestSSHEngineSetLauncher(EngineSetLauncherTest, TestCase): launcher_class = launcher.SSHEngineSetLauncher