Reland "Make the mton payload optional when staging artifacts."

Make the mton payload optional when staging artifacts.

Also fixes a bug where multiple wait_for_status calls
would not block.

Originally reviewed in: Ib6704594806de33cea38beb968e30304f1529211

BUG=chromium-os:29192
TEST=Unittests and run locally with x86-zgb-release/R20-2110.0.0-a1-b1695

Change-Id: I5052c0f095157c6f72bf84cbca34fe107eb8bf7a
Reviewed-on: https://gerrit.chromium.org/gerrit/20014
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
diff --git a/devserver_util.py b/devserver_util.py
index fa92a97..eb498f4 100644
--- a/devserver_util.py
+++ b/devserver_util.py
@@ -50,7 +50,7 @@
       else:
         mton_payload_url = payload
 
-  if not full_payload_url or not nton_payload_url or not mton_payload_url:
+  if not full_payload_url or not nton_payload_url:
     raise DevServerUtilError(
         'Payloads are missing or have unexpected name formats.', payload_list)
 
@@ -74,16 +74,17 @@
   full_payload = os.path.join(build_dir, downloadable_artifact.ROOT_UPDATE)
   nton_payload = os.path.join(build_dir, AU_BASE, build + NTON_DIR_SUFFIX,
                               downloadable_artifact.ROOT_UPDATE)
-  mton_payload = os.path.join(build_dir, AU_BASE, build + MTON_DIR_SUFFIX,
-                              downloadable_artifact.ROOT_UPDATE)
 
   artifacts = []
   artifacts.append(downloadable_artifact.DownloadableArtifact(full_url,
       main_staging_dir, full_payload, synchronous=True))
   artifacts.append(downloadable_artifact.AUTestPayload(nton_url,
       main_staging_dir, nton_payload))
-  artifacts.append(downloadable_artifact.AUTestPayload(mton_url,
-      main_staging_dir, mton_payload))
+  if mton_url:
+    mton_payload = os.path.join(build_dir, AU_BASE, build + MTON_DIR_SUFFIX,
+                                downloadable_artifact.ROOT_UPDATE)
+    artifacts.append(downloadable_artifact.AUTestPayload(
+        mton_url, main_staging_dir, mton_payload))
 
   # Next we gather the miscellaneous payloads.
   stateful_url = archive_url + '/' + downloadable_artifact.STATEFUL_UPDATE