[autotest] Remove build arg in rpc create_suite_job

R45 is not tested any more, it's safe to drop this argument.

BUG=chromium:496782
TEST=unittest, local run_suite

Change-Id: Ifb2ec985dbe0a1d3592ce3eb6637732936133921
Reviewed-on: https://chromium-review.googlesource.com/337333
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
diff --git a/frontend/afe/site_rpc_interface.py b/frontend/afe/site_rpc_interface.py
index 72fbfae..1cdeb10 100644
--- a/frontend/afe/site_rpc_interface.py
+++ b/frontend/afe/site_rpc_interface.py
@@ -145,7 +145,7 @@
 
 
 @rpc_utils.route_rpc_to_master
-def create_suite_job(name='', board='', build='', pool='', control_file='',
+def create_suite_job(name='', board='', pool='', control_file='',
                      check_hosts=True, num=None, file_bugs=False, timeout=24,
                      timeout_mins=None, priority=priorities.Priority.DEFAULT,
                      suite_args=None, wait_for_results=True, job_retry=False,
@@ -162,10 +162,9 @@
     @param name: The test name if control_file is supplied, otherwise the name
                  of the test suite to run, e.g. 'bvt'.
     @param board: the kind of device to run the tests on.
-    @param build: unique name by which to refer to the image from now on.
     @param builds: the builds to install e.g.
                    {'cros-version:': 'x86-alex-release/R18-1655.0.0',
-                    'fw-version:':  'x86-alex-firmware/R36-5771.50.0',
+                    'fwrw-version:':  'x86-alex-firmware/R36-5771.50.0',
                     'fwro-version:':  'x86-alex-firmware/R36-5771.49.0'}
                    If builds is given a value, it overrides argument build.
     @param test_source_build: Build that contains the server-side test code.
@@ -219,11 +218,6 @@
         logging.warning("Can't run on 0 hosts; using default.")
         num = None
 
-    # TODO(dshi): crbug.com/496782 Remove argument build and its reference after
-    # R45 falls out of stable channel.
-    if build and not builds:
-        builds = {provision.CROS_VERSION_PREFIX: build}
-
     # Default test source build to CrOS build if it's not specified and
     # run_prod_code is set to False.
     if not run_prod_code:
@@ -232,7 +226,7 @@
 
     suite_name = canonicalize_suite_name(name)
     if run_prod_code:
-        ds = dev_server.resolve(build)
+        ds = dev_server.resolve(test_source_build)
         keyvals = {}
         getter = control_file_getter.FileSystemGetter(
                 [_CONFIG.get_config_value('SCHEDULER',
@@ -262,11 +256,8 @@
     if not board:
         board = utils.ParseBuildName(builds[provision.CROS_VERSION_PREFIX])[0]
 
-    # TODO(dshi): crbug.com/496782 Remove argument build and its reference after
-    # R45 falls out of stable channel.
-    # Prepend build and board to the control file.
+    # Prepend builds and board to the control file.
     inject_dict = {'board': board,
-                   'build': builds.get(provision.CROS_VERSION_PREFIX),
                    'builds': builds,
                    'check_hosts': check_hosts,
                    'pool': pool,
diff --git a/frontend/afe/site_rpc_interface_unittest.py b/frontend/afe/site_rpc_interface_unittest.py
index 29b9784..54afc6b 100755
--- a/frontend/afe/site_rpc_interface_unittest.py
+++ b/frontend/afe/site_rpc_interface_unittest.py
@@ -34,6 +34,7 @@
 from autotest_lib.client.common_lib.cros import dev_server
 from autotest_lib.frontend.afe import rpc_interface, site_rpc_interface
 from autotest_lib.server import utils
+from autotest_lib.server.cros import provision
 from autotest_lib.server.cros.dynamic_suite import control_file_getter
 from autotest_lib.server.cros.dynamic_suite import constants
 from autotest_lib.server.hosts import moblab_host
@@ -55,6 +56,7 @@
     _NAME = 'name'
     _BOARD = 'link'
     _BUILD = 'link-release/R36-5812.0.0'
+    _BUILDS = {provision.CROS_VERSION_PREFIX: _BUILD}
     _PRIORITY = priorities.Priority.DEFAULT
     _TIMEOUT = 24
 
@@ -130,7 +132,7 @@
                           site_rpc_interface.create_suite_job,
                           name=self._NAME,
                           board=self._BOARD,
-                          build=self._BUILD,
+                          builds=self._BUILDS,
                           pool=None)
 
 
@@ -152,7 +154,7 @@
                           site_rpc_interface.create_suite_job,
                           name=self._NAME,
                           board=self._BOARD,
-                          build=self._BUILD,
+                          builds=self._BUILDS,
                           pool=None)
 
 
@@ -174,7 +176,7 @@
                           site_rpc_interface.create_suite_job,
                           name=self._NAME,
                           board=self._BOARD,
-                          build=self._BUILD,
+                          builds=self._BUILDS,
                           pool=None)
 
 
@@ -184,21 +186,21 @@
                           site_rpc_interface.create_suite_job,
                           name=self._NAME,
                           board=self._BOARD,
-                          build=self._BUILD,
+                          builds=self._BUILDS,
                           pool=None,
                           num='goo')
         self.assertRaises(error.SuiteArgumentException,
                           site_rpc_interface.create_suite_job,
                           name=self._NAME,
                           board=self._BOARD,
-                          build=self._BUILD,
+                          builds=self._BUILDS,
                           pool=None,
                           num=[])
         self.assertRaises(error.SuiteArgumentException,
                           site_rpc_interface.create_suite_job,
                           name=self._NAME,
                           board=self._BOARD,
-                          build=self._BUILD,
+                          builds=self._BUILDS,
                           pool=None,
                           num='5')
 
@@ -224,7 +226,7 @@
         self.assertEquals(
             site_rpc_interface.create_suite_job(name=self._NAME,
                                                 board=self._BOARD,
-                                                build=self._BUILD, pool=None),
+                                                builds=self._BUILDS, pool=None),
             -1)
 
 
@@ -249,7 +251,7 @@
         self.assertEquals(
             site_rpc_interface.create_suite_job(name=self._NAME,
                                                 board=self._BOARD,
-                                                build=self._BUILD,
+                                                builds=self._BUILDS,
                                                 pool=None),
             job_id)
 
@@ -275,7 +277,7 @@
         self.assertEquals(
           site_rpc_interface.create_suite_job(name=self._NAME,
                                               board=self._BOARD,
-                                              build=self._BUILD,
+                                              builds=self._BUILDS,
                                               pool=None, check_hosts=False),
           job_id)
 
@@ -300,7 +302,7 @@
         self.assertEquals(
             site_rpc_interface.create_suite_job(name=self._NAME,
                                                 board=self._BOARD,
-                                                build=self._BUILD,
+                                                builds=self._BUILDS,
                                                 pool=None,
                                                 check_hosts=False,
                                                 num=17),
@@ -323,7 +325,7 @@
             site_rpc_interface.create_suite_job(name='%s/%s' % (self._NAME,
                                                                 self._BUILD),
                                                 board=None,
-                                                build=self._BUILD,
+                                                builds=self._BUILDS,
                                                 pool=None,
                                                 control_file='CONTROL FILE'),
             job_id)