[autotest] Skip archiving after parsing

Normally, PARSING -> ARCHIVING -> COMPLETED/FAILED

but all ARCHIVING does is set the status.  So cut the middleman and
set the status immediately.

BUG=chromium:699275
TEST=None

Change-Id: I6d3d69a1e5aa9167405d301fa1e0af382f9c2b4e
Reviewed-on: https://chromium-review.googlesource.com/507020
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
diff --git a/scheduler/monitor_db_functional_test.py b/scheduler/monitor_db_functional_test.py
index 34af0e2..97f4af7 100755
--- a/scheduler/monitor_db_functional_test.py
+++ b/scheduler/monitor_db_functional_test.py
@@ -521,8 +521,6 @@
         self.mock_drone_manager.finish_process(_PidfileType.CLEANUP,
                                                exit_status=256)
         self._run_dispatcher() # repair, HQE unaffected
-        self.mock_drone_manager.finish_process(_PidfileType.ARCHIVE)
-        self._run_dispatcher()
         return queue_entry
 
 
@@ -560,17 +558,13 @@
         self._run_dispatcher() # launches parsing
         self._check_statuses(queue_entry, HqeStatus.PARSING)
         self._ensure_post_job_process_is_paired(queue_entry, _PidfileType.PARSE)
-        self._finish_parsing(queue_entry)
+        self._finish_parsing()
 
 
-    def _finish_parsing(self, queue_entry):
+    def _finish_parsing(self):
         self.mock_drone_manager.finish_process(_PidfileType.PARSE)
         self._run_dispatcher()
 
-        self._check_entry_status(queue_entry, HqeStatus.ARCHIVING)
-        self.mock_drone_manager.finish_process(_PidfileType.ARCHIVE)
-        self._run_dispatcher()
-
 
     def _create_reverify_request(self):
         host = self.hosts[0]
@@ -696,7 +690,7 @@
         self.mock_drone_manager.finish_process(_PidfileType.GATHER)
         self._run_dispatcher() # launches parsing + cleanup
         queue_entry = job.hostqueueentry_set.all()[0]
-        self._finish_parsing(queue_entry)
+        self._finish_parsing()
         # The abort will cause gathering to launch a cleanup.
         self.mock_drone_manager.finish_process(_PidfileType.CLEANUP)
         self._run_dispatcher()
@@ -894,7 +888,7 @@
         self._run_dispatcher() # gathering must start
         self.mock_drone_manager.finish_process(_PidfileType.GATHER)
         self._run_dispatcher() # parsing and cleanup
-        self._finish_parsing(queue_entry)
+        self._finish_parsing()
         self._run_dispatcher() # now reverify runs
         self._check_statuses(queue_entry, HqeStatus.FAILED,
                              HostStatus.VERIFYING)
@@ -1057,9 +1051,6 @@
         self._check_entry_status(entry, HqeStatus.PARSING)
         self.mock_drone_manager.finish_process(_PidfileType.PARSE)
         self._run_dispatcher()
-        self._check_entry_status(entry, HqeStatus.ARCHIVING)
-        self.mock_drone_manager.finish_process(_PidfileType.ARCHIVE)
-        self._run_dispatcher()
         self._check_entry_status(entry, HqeStatus.COMPLETED)
 
 
@@ -1094,7 +1085,7 @@
                                           False)
 
 
-    def _finish_parsing(self, queue_entry):
+    def _finish_parsing(self):
         self.mock_drone_manager.finish_process(_PidfileType.PARSE)
         self._run_dispatcher()
 
diff --git a/scheduler/postjob_task.py b/scheduler/postjob_task.py
index 60e3b07..9d60e81 100644
--- a/scheduler/postjob_task.py
+++ b/scheduler/postjob_task.py
@@ -345,7 +345,7 @@
 
     def epilog(self):
         super(FinalReparseTask, self).epilog()
-        self._archive_results(self.queue_entries)
+        self._set_all_statuses(self._final_status())
 
 
 class ArchiveResultsTask(SelfThrottledPostJobTask):