예제 #1
0
 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)
예제 #2
0
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