autoupdate_EndToEnd: Support legacy argument name.

The tree vs prod problem hits again, so this adds support for legacy
argument name ('source_image_uri') as fallback option.

Note that backward compatible API hacks can only be safely remove once
all release branches catch up with the corresponding control file
changes. Adding TODO comments accordingly.

BUG=b:24405484
TEST=None

Change-Id: I23bb7ad5351ca5c6fa76b39846ef39623e2d24f9
Reviewed-on: https://chromium-review.googlesource.com/303051
Reviewed-by: Simran Basi <sbasi@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
diff --git a/server/site_tests/autoupdate_EndToEndTest/autoupdate_EndToEndTest.py b/server/site_tests/autoupdate_EndToEndTest/autoupdate_EndToEndTest.py
index 9f810f5..1c8fcd1 100755
--- a/server/site_tests/autoupdate_EndToEndTest/autoupdate_EndToEndTest.py
+++ b/server/site_tests/autoupdate_EndToEndTest/autoupdate_EndToEndTest.py
@@ -910,7 +910,12 @@
 
         staged_source_url = None
         staged_source_stateful_url = None
-        source_payload_uri = test_conf['source_payload_uri']
+        try:
+            source_payload_uri = test_conf['source_payload_uri']
+        except KeyError:
+            # TODO(garnold) Remove legacy key support once control files on all
+            # release branches have caught up.
+            source_payload_uri = test_conf['source_image_uri']
         if source_payload_uri:
             staged_source_url = self._stage_payload_by_uri(
                     autotest_devserver, source_payload_uri)
@@ -1202,6 +1207,8 @@
         logging.info('Update successful, test completed')
 
 
+    # TODO(garnold) Remove the use_servo argument once control files on all
+    # release branches have caught up.
     def run_once(self, host, test_conf, use_servo=False):
         """Performs a complete auto update test.