Merge remote-tracking branch 'origin/master' into 3899-crunch-use-job-state
[arvados.git] / services / api / app / models / job.rb
index 1bf17cc83e73ad5729d89ca504d26f00c0cf391e..a09ddb2aad32c338df9cae499113bdfe60a6ea19 100644 (file)
@@ -16,6 +16,7 @@ class Job < ArvadosModel
   validate :validate_status
 
   has_many :commit_ancestors, :foreign_key => :descendant, :primary_key => :script_version
+  has_many(:nodes, foreign_key: :job_uuid, primary_key: :uuid)
 
   class SubmitIdReused < StandardError
   end
@@ -45,6 +46,7 @@ class Job < ArvadosModel
     t.add :supplied_script_version
     t.add :docker_image_locator
     t.add :queue_position
+    t.add :node_uuids
     t.add :description
   end
 
@@ -63,6 +65,10 @@ class Job < ArvadosModel
                       running: false)
   end
 
+  def node_uuids
+    nodes.map(&:uuid)
+  end
+
   def self.queue
     self.where('state = ?', Queued).order('priority desc, created_at')
   end