Database Table: condor_jobs¶
For each group defined the job poller will query the associated condor instance for it’s complete list of jobs. It will then parse the job list and extract all valid csv2 jobs (jobs with a valid group_name and user combination) and insert them into this table. The main cloudscheduler task then uses the information in this table to boot appropriate virtual machines to run these jobs.
Keys:¶
global_job_id (String(128)):
The global unique identifer of the job classad as defined by condor.
Columns:¶
group_name (String(32)):
The CSV2 name of the group that owns the job.
target_alias (String(32)):
Is the group assigned short name for the subset of clouds within the group that the job is to run on. Groups may define any number of cloud subsets within their group, each identified by a unique (within the group)short name. These names can be used within the job specifications or group defaults to determin exactly where jobs should run.
job_status (Integer):
Is the current HTCondor status code for the job which indicates states such as idle, running, completed, etc.
request_cpus (Integer):
Is the number of CPUs requested by the job.
request_ram (Integer):
Is the number of megabytes of RAM requested by the job.
request_disk (Integer):
Is the number of gigabytes of disk requested by the job.
request_swap (Integer):
Is the number of gigabytes of swap space requested by the job.
request_scratch (Integer):
Is the number of gigabytes of temporary disk space requested by the job.
requirements (String(512)):
Is the HTCondor job requirements string. This value is generated by CSV2 to ensure that HTCondor selects the correct VM for a job.
job_priority (Integer):
Is the numerical priority of the job. Lower numbers have higher priority.`
cluster_id (Integer):
The HTCondor assigned cluster ID for the job which forms part of the HTCondor global job ID..
proc_id (Integer):
The HTCondor assigned process ID for the job which forms part of the HTCondor global job ID..
user (String(512)):
The user ID of the submitting user. They must be a member of the group or authorized by the group to submit jobs.
image (String):
The name of the (kernel) image to be used to run the job.
instance_type (String(512)):
The name of the flavor (instance type) to be used to run the job.
network (String(512)):
The name of the networj to be used to run the job.
keep_alive (String(512)):
The number of seconds the VM should be maintained following job completion.
max_price (String(512)):
Is the maximum price, in cents, to bid for VMs on the spot market.
user_data (String(512)):
This deprecated field can contain a string used to contextualize a VM during instantiation. You should use a combination of metadat files instead.
job_per_core (Integer):
This job parameter specifies whether each CPU within a VM can run a job (ie. the VM can run multiple jobs concurrently) or whether all the CPUs within a VM should be used to run a single job.
entered_current_status (Integer):
The HTCondor timestamp of when the job state last changed.
q_date (Integer):
The HTCondor timestamp of when the job entered the job queue.
hold_reason_code (Boolean):
The HTCondor job hold reason code.
hold_reason_subcode (Boolean):
The HTCondor job hold reason subcode.
last_remote_host (String(64)):
If the job has already been dispatched for execution, HTCondor will maintain the FQDN of the last host to run this job.
held_reason (String(512)):
if a job has been held by CSV2, this field will maintain the the reason CSV2 took that action.
hold_job_reason (String(64)):
This field is used by CSV2 to cause a job to be held and will contain a string indicating CSV2’s reason for the action.