autotest: Hoist afe_{parent,}_job_id update out of tko/db.py
BUG=chromium:833988
TEST=None
Change-Id: I6109ea873320770738707823f35d51855430ddab
Reviewed-on: https://chromium-review.googlesource.com/1018720
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
diff --git a/tko/db.py b/tko/db.py
index d84922b..df15372 100644
--- a/tko/db.py
+++ b/tko/db.py
@@ -433,16 +433,13 @@
self.delete('tko_jobs', where)
- def insert_job(self, tag, job, parent_job_id=None, commit=None):
+ def insert_job(self, tag, job, commit=None):
"""Insert a tko job.
@param tag: The job tag.
@param job: The job object.
- @param parent_job_id: The parent job id.
@param commit: If commit the transaction .
"""
- afe_job_id = utils.get_afe_job_id(tag)
-
data = {'tag':tag,
'label': job.label,
'username': job.user,
@@ -450,15 +447,12 @@
'queued_time': job.queued_time,
'started_time': job.started_time,
'finished_time': job.finished_time,
- 'afe_job_id': afe_job_id,
- 'afe_parent_job_id': parent_job_id,
+ 'afe_job_id': job.afe_job_id,
+ 'afe_parent_job_id': job.afe_parent_job_id,
'build': job.build,
'build_version': job.build_version,
'board': job.board,
'suite': job.suite}
- job.afe_job_id = afe_job_id
- if parent_job_id:
- job.afe_parent_job_id = str(parent_job_id)
# TODO(ntang): check job.index directly.
is_update = hasattr(job, 'index')
diff --git a/tko/parse.py b/tko/parse.py
index c3a9a90..eb06c31 100755
--- a/tko/parse.py
+++ b/tko/parse.py
@@ -345,6 +345,8 @@
if not dry_run:
_delete_tests_from_db(db, unmatched_tests)
+ job.afe_job_id = tko_utils.get_afe_job_id(jobname)
+ job.afe_parent_job_id = str(job_keyval.get(constants.PARENT_JOB_ID))
job.build = None
job.board = None
job.build_version = None
@@ -403,7 +405,7 @@
if sponge_url:
job.keyval_dict['sponge_url'] = sponge_url
- _write_job_to_db(db, jobname, job, job_keyval)
+ _write_job_to_db(db, jobname, job)
# Verify the job data is written to the database.
if job.tests:
@@ -507,7 +509,7 @@
json.dump(gs_offloader_instructions, f)
-def _write_job_to_db(db, jobname, job, job_keyval):
+def _write_job_to_db(db, jobname, job):
"""Write all TKO data associated with a job to DB.
This updates the job object as a side effect.
@@ -517,9 +519,7 @@
@param job: tko.models.job object.
"""
db.insert_or_update_machine(job)
- db.insert_job(
- jobname, job,
- parent_job_id=job_keyval.get(constants.PARENT_JOB_ID, None))
+ db.insert_job(jobname, job)
db.update_job_keyvals(job)
for test in job.tests:
db.insert_test(job, test)