def test_Jobs_getDockerComputeDomains(self): dockerComputeDomains = Jobs.getDockerComputeDomains() self.assertTrue(dockerComputeDomains.__len__() > 0) found = False for dockerComputeDomain in dockerComputeDomains: if dockerComputeDomain.get('name') == Jobs_DockerComputeDomainName: found = True self.assertTrue(found)
def get_job_environment(token, USERNAME): DOMAIN = 'COVID-19 Jobs' #hardcoded for now IMAGE = 'SciServer Essentials' #hardcoded for now # define lists of user and data volumes that should be mounted USERVOLUMES = [ 'Storage/' + USERNAME + '/persistent', 'Temporary/' + USERNAME + '/scratch' ] DATAVOLUMES = ['COVID-19'] RESULTSFOLDERPATH = "/home/idies/workspace/Temporary/" + USERNAME + "/scratch/jobs" domains = Jobs.getDockerComputeDomains() domain = None image = None volumes = [] userVolumes = [] dataVolumes = [] for d in domains: if d['name'] == DOMAIN: domain = d for im in d['images']: if im['name'] == IMAGE: image = im for v in d['volumes']: if v['name'] in DATAVOLUMES: dataVolumes.append({ "name": v['name'], 'needsWriteAccess': True }) for uv in d['userVolumes']: path = pathForUserVolume(uv) if path in USERVOLUMES: userVolumes.append({ 'name': uv['name'], 'rootVolumeName': uv['rootVolumeName'], 'owner': uv['owner'], 'needsWriteAccess': True }) break return (IMAGE, domain, userVolumes, dataVolumes, RESULTSFOLDERPATH)
Jobs_UserVolumes = [{'name':'persistent'},{'name':'scratch', 'needsWriteAccess':True}] Jobs_DataVolumes = [{'name':'SDSS_DAS'}] Jobs_Parameters = 'param1=1\nparam2=2\nparam3=3' Jobs_Alias = 'MyNewJob' Jobs_SqlQuery = "select 1;" Jobs_RBBComputeDomainName = 'Manga (long)' Jobs_DatabaseContextName = "manga" Jobs_QueryResultsFile = 'myQueryResults' # In[ ]: # get docker compute domains dockerComputeDomains = Jobs.getDockerComputeDomains(); print(dockerComputeDomains) # In[ ]: # get names of docker compute domains available to the user dockerComputeDomainsNames = Jobs.getDockerComputeDomainsNames() print(dockerComputeDomainsNames) # In[ ]: # get docker compute domain from name