Skip to content
Snippets Groups Projects
Commit febd15f3 authored by Frank Fischer's avatar Frank Fischer
Browse files

Merge branch 'master' of gitlab.ekp.kit.edu:mschnepf/jdl_creator

Conflicts:
	classes/JDLCreator.py
	create_jdl.py
parents 06de4606 d277d5f6
Branches
No related tags found
No related merge requests found
......@@ -19,7 +19,7 @@ class CloudSite(object):
if name == 'condocker':
self.universe = 'docker'
self.docker_image = 'mschnepf/slc6-condocker'
self.requirements = '(TARGET.CLOUD_SITE == "condocker")'
elif name == 'ekpcloud':
self.universe = 'vanilla'
self.requirements = '(TARGET.CLOUD_SITE == "ekpcloud")'
......@@ -27,7 +27,7 @@ class CloudSite(object):
elif name == 'ekpsupermachines':
self.universe = 'docker'
self.docker_image = 'mschnepf/slc6-condocker'
self.requirements = '(TARGET.CLOUD_SITE == "ekpsupermachines")'
self.requirements = '(TARGET.CLOUDSITE == "ekpsupermachines")'
elif name == 'bwforcluster':
self.universe = 'vanilla'
......@@ -41,8 +41,7 @@ class CloudSite(object):
self.universe = 'vanilla'
self.requirements = '(TARGET.CLOUD_SITE == "oneandone")'
else:
self.universe = 'docker'
self.docker_image = 'mschnepf/slc6-condocker'
self.universe = 'vanilla'
self.requirements = ''
......@@ -71,6 +70,7 @@ class JDLCreator(object):
self._memory = 0
self._job_folder = job_folder
self._output_files = output_files
self._input_files = ''
self._remote_job = False
if len(extra_lines) > 0:
self._extra_lines = extra_lines
......@@ -268,6 +268,21 @@ class JDLCreator(object):
# type: (str) -> None
self._output_files = file_string
@property
def input_files(self):
# type: () -> str
"""Files or directories which should be transferred to workernode by HTCondor."""
return self._input_files
@input_files.setter
def input_files(self, file_string):
# type: (str) -> None
self._input_files = file_string
def SetInputFiles(self, file_string):
# type: (str) -> None
self._input_files = file_string
@property
def remote_job(self):
# type: () -> boolean
......@@ -320,7 +335,10 @@ class JDLCreator(object):
# do docker stuff for exe
jdl_content.append('executable = ./%s' % exe)
jdl_content.append('should_transfer_files = YES')
jdl_content.append('transfer_input_files = %s' % self.executable)
if self._input_files != '':
jdl_content.append('transfer_input_files = ' + self.executable + ',' + self._input_files)
else:
jdl_content.append('transfer_input_files = ' + self.executable)
else:
jdl_content.append('executable = %s' % exe)
......
......@@ -5,7 +5,7 @@ from classes.JDLCreator import JDLCreator # import the class to create and subm
def main():
"""Submit a simple example job"""
jobs = JDLCreator() # Default (no Cloud Site supplied): Docker with SLC6 image
jobs = JDLCreator("condocker") # Default (no Cloud Site supplied): Docker with SLC6 image
# Some example sites:
# site_name='condocker' Exclusively run the job on our desktop cluster
# site_name='bwforcluster' Freiburg
......@@ -13,8 +13,8 @@ def main():
# site_name='gridka' gridKa School Training VMs
jobs.executable = "job.sh" # name of the job script
jobs.wall_time = 3 # job will finish in 3 seconds, it's just some "echo"s
jobs.memory = 64 # We're running a simple bash script. 64 MB memory are more than enough
jobs.wall_time = 10 * 60 * 60 # job will finish in 10 hours
jobs.memory = 2048 # Our regular 2 GB per core
# build list of arguments: 1,2,3,4,5
arguments = [x for x in range(0, 5)]
......@@ -25,7 +25,7 @@ def main():
# Our job requires lots of CPU resources and needs access to the local EKP resources
jobs.requirements = "(Target.PROVIDES_CPU ==True) && (TARGET.PROVIDES_EKP_RESOURCES == True)"
jobs.job_folder = 'condor_jobs' # set name of the folder, where files and information are stored
jobs.job_folder = "condor_jobs" # set name of the folder, where files and information are stored
jobs.WriteJDL() # write an JDL file and create folder for log files
......
#!/usr/bin/env python
from classes.JDLCreator import JDLCreator # import the class to create and submit JDL files
def main():
jobs = JDLCreator("condocker") # run jobs on condocker cloude site
jobs.image = "ipython:v1_r26519_v01-01-07_r28283"
##################################
# submit job
##################################
jobs.executable = "job.sh" # name of the job script
# build list of arguments
arguments = [x for x in range(0, 5)]
jobs.arguments = arguments # set arguments for condor job
jobs.requirements = "(TARGET.PROVIDES_CPU == True) && (TARGET.PROVIDES_EKP_RESOURCES == True) && (TARGET.PROVIDES_BELLE_2 == True)"
jobs.wall_time = 1 * 60 * 60 # set walltime to 1h in sec
jobs.memory = 2048 # set memory to 2048 MB
jobs.job_folder = "condor_jobs" # set name of the folder, where files and information are stored
jobs.WriteJDL() # write an JDL file and create folder for log files
if __name__ == "__main__":
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment