Add 'kernel_build_target' to create_gf_parser (acloud)

Bug: 143379507
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I46708495398493d055aebc6f75c7b5d44cb99dbf
diff --git a/public/acloud_main.py b/public/acloud_main.py
index 65e649b..c80b995 100644
--- a/public/acloud_main.py
+++ b/public/acloud_main.py
@@ -403,6 +403,7 @@
             emulator_branch=args.emulator_branch,
             kernel_build_id=args.kernel_build_id,
             kernel_branch=args.kernel_branch,
+            kernel_build_target=args.kernel_build_target,
             gpu=args.gpu,
             num=args.num,
             serial_log_file=args.serial_log_file,
diff --git a/public/actions/create_goldfish_action.py b/public/actions/create_goldfish_action.py
index 36124f8..c5b942a 100644
--- a/public/actions/create_goldfish_action.py
+++ b/public/actions/create_goldfish_action.py
@@ -67,6 +67,7 @@
                  emulator_build_id,
                  kernel_build_id=None,
                  kernel_branch=None,
+                 kernel_build_target=None,
                  gpu=None,
                  avd_spec=None,
                  tags=None,
@@ -113,7 +114,8 @@
         self.emulator_build_info = self._build_client.GetBuildInfo(
             emulator_build_target, emulator_build_id, emulator_branch)
         self.kernel_build_info = self._build_client.GetBuildInfo(
-            cfg.kernel_build_target, kernel_build_id, kernel_branch)
+            kernel_build_target or cfg.kernel_build_target, kernel_build_id,
+            kernel_branch)
 
     def GetBuildInfoDict(self):
         """Get build info dictionary.
@@ -159,6 +161,7 @@
             emulator_build_id=self.emulator_build_info.build_id,
             kernel_branch=self.kernel_build_info.branch,
             kernel_build_id=self.kernel_build_info.build_id,
+            kernel_build_target=self.kernel_build_info.build_target,
             gpu=self._gpu,
             blank_data_disk_size_gb=self._blank_data_disk_size_gb,
             avd_spec=self._avd_spec,
@@ -232,6 +235,7 @@
                   emulator_branch=None,
                   kernel_build_id=None,
                   kernel_branch=None,
+                  kernel_build_target=None,
                   gpu=None,
                   num=1,
                   serial_log_file=None,
@@ -252,6 +256,7 @@
         gpu: String, GPU to attach to the device or None. e.g. "nvidia-k80"
         kernel_build_id: Kernel build id, a string.
         kernel_branch: Kernel branch name, a string.
+        kernel_build_target: Kernel build artifact, a string.
         num: Integer, Number of devices to create.
         serial_log_file: String, A path to a file where serial output should
                         be saved to.
@@ -313,20 +318,22 @@
     logger.info(
         "Creating a goldfish device in project %s, build_target: %s, "
         "build_id: %s, emulator_bid: %s, kernel_build_id: %s, "
-        "kernel_branh: %s, GPU: %s, num: %s, "
+        "kernel_branch: %s, kernel_build_target: %s, GPU: %s, num: %s, "
         "serial_log_file: %s, "
         "autoconnect: %s", cfg.project, build_target, build_id,
-        emulator_build_id, kernel_build_id, kernel_branch, gpu, num,
-        serial_log_file, autoconnect)
+        emulator_build_id, kernel_build_id, kernel_branch, kernel_build_target,
+        gpu, num, serial_log_file, autoconnect)
 
-    device_factory = GoldfishDeviceFactory(cfg, build_target, build_id,
-                                           cfg.emulator_build_target,
-                                           emulator_build_id, gpu=gpu,
-                                           avd_spec=avd_spec, tags=tags,
-                                           branch=branch,
-                                           emulator_branch=emulator_branch,
-                                           kernel_build_id=kernel_build_id,
-                                           kernel_branch=kernel_branch)
+    device_factory = GoldfishDeviceFactory(
+        cfg, build_target, build_id,
+        cfg.emulator_build_target,
+        emulator_build_id, gpu=gpu,
+        avd_spec=avd_spec, tags=tags,
+        branch=branch,
+        emulator_branch=emulator_branch,
+        kernel_build_id=kernel_build_id,
+        kernel_branch=kernel_branch,
+        kernel_build_target=kernel_build_target)
 
     return common_operations.CreateDevices("create_gf", cfg, device_factory,
                                            num, constants.TYPE_GF,
diff --git a/public/actions/create_goldfish_action_test.py b/public/actions/create_goldfish_action_test.py
index fa04ee2..d031167 100644
--- a/public/actions/create_goldfish_action_test.py
+++ b/public/actions/create_goldfish_action_test.py
@@ -123,7 +123,10 @@
         report = create_goldfish_action.CreateDevices(
             none_avd_spec, cfg, build_target=self.BUILD_TARGET,
             build_id=self.BUILD_ID, emulator_build_id=self.EMULATOR_BUILD_ID,
-            gpu=self.GPU, kernel_build_id=self.KERNEL_BUILD_ID)
+            gpu=self.GPU,
+            kernel_branch=self.KERNEL_BRANCH,
+            kernel_build_id=self.KERNEL_BUILD_ID,
+            kernel_build_target=self.KERNEL_BUILD_TARGET)
 
         # Verify
         self.compute_client.CreateInstance.assert_called_with(
@@ -138,6 +141,7 @@
             emulator_build_id=self.EMULATOR_BUILD_ID,
             kernel_branch=self.KERNEL_BRANCH,
             kernel_build_id=self.KERNEL_BUILD_ID,
+            kernel_build_target=self.KERNEL_BUILD_TARGET,
             gpu=self.GPU,
             avd_spec=none_avd_spec,
             extra_scopes=self.EXTRA_SCOPES,
@@ -193,6 +197,7 @@
             emulator_build_id=self.EMULATOR_BUILD_ID,
             kernel_branch=self.KERNEL_BRANCH,
             kernel_build_id=self.KERNEL_BUILD_ID,
+            kernel_build_target=self.KERNEL_BUILD_TARGET,
             gpu=self.GPU,
             avd_spec=self.avd_spec,
             extra_scopes=self.EXTRA_SCOPES,
@@ -239,7 +244,9 @@
             emulator_branch=None,
             gpu=self.GPU,
             branch=None,
-            kernel_build_id=self.KERNEL_BUILD_ID)
+            kernel_branch=self.KERNEL_BRANCH,
+            kernel_build_id=self.KERNEL_BUILD_ID,
+            kernel_build_target=self.KERNEL_BUILD_TARGET)
 
         # Verify
         self.compute_client.CreateInstance.assert_called_with(
@@ -254,6 +261,7 @@
             emulator_build_id=self.EMULATOR_BUILD_ID,
             kernel_branch=self.KERNEL_BRANCH,
             kernel_build_id=self.KERNEL_BUILD_ID,
+            kernel_build_target=self.KERNEL_BUILD_TARGET,
             gpu=self.GPU,
             avd_spec=none_avd_spec,
             extra_scopes=self.EXTRA_SCOPES,
@@ -307,6 +315,7 @@
             emulator_build_id=self.EMULATOR_BUILD_ID,
             kernel_branch=self.KERNEL_BRANCH,
             kernel_build_id=self.KERNEL_BUILD_ID,
+            kernel_build_target=self.KERNEL_BUILD_TARGET,
             gpu=self.GPU,
             avd_spec=self.avd_spec,
             extra_scopes=self.EXTRA_SCOPES,
@@ -363,6 +372,7 @@
             emulator_build_id=self.EMULATOR_BUILD_ID,
             kernel_branch=self.KERNEL_BRANCH,
             kernel_build_id=self.KERNEL_BUILD_ID,
+            kernel_build_target=self.KERNEL_BUILD_TARGET,
             gpu=self.GPU,
             avd_spec=none_avd_spec,
             extra_scopes=self.EXTRA_SCOPES,
@@ -416,6 +426,7 @@
             emulator_build_id=self.EMULATOR_BUILD_ID,
             kernel_branch=self.KERNEL_BRANCH,
             kernel_build_id=self.KERNEL_BUILD_ID,
+            kernel_build_target=self.KERNEL_BUILD_TARGET,
             gpu=self.GPU,
             avd_spec=self.avd_spec,
             extra_scopes=self.EXTRA_SCOPES,