GetBuildMetadata: Add kernel_version to api/controller and service layer.

BUG=chromium:1071620
TEST=manual, run_tests

Change-Id: If71ba33c3579626ebb79384c00100c3f464aeebd
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2202854
Reviewed-by: Alex Klein <saklein@chromium.org>
Commit-Queue: Michael Mortensen <mmortensen@google.com>
Tested-by: Michael Mortensen <mmortensen@google.com>
diff --git a/api/controller/packages.py b/api/controller/packages.py
index a788672..0ebdbf7 100644
--- a/api/controller/packages.py
+++ b/api/controller/packages.py
@@ -237,6 +237,8 @@
   fw_versions = packages.determine_firmware_versions(build_target)
   build_target_metadata.main_firmware_version = fw_versions.main_fw_version
   build_target_metadata.ec_firmware_version = fw_versions.ec_fw_version
+  build_target_metadata.kernel_version = packages.determine_kernel_version(
+      build_target)
 
 
 def _HasPrebuiltSuccess(_input_proto, output_proto, _config):
diff --git a/api/controller/packages_unittest.py b/api/controller/packages_unittest.py
index cf5dae2..cf6a66b 100644
--- a/api/controller/packages_unittest.py
+++ b/api/controller/packages_unittest.py
@@ -549,6 +549,12 @@
                                            return_value=android_target)
     self.PatchObject(portage_util, 'GetBoardUseFlags',
                      return_value=['arc', 'arcvm', 'big_little', 'cheets'])
+    package_result = ['sys-kernel/linux-headers-4.14-r24',
+                      'sys-devel/flex-2.6.4-r1',
+                      'sys-kernel/chromeos-kernel-4_4-4.4.223-r2209']
+    self.PatchObject(portage_util, 'GetPackageDependencies',
+                     return_value=package_result)
+
     fw_versions = packages_service.FirmwareVersions(
         None,
         'Google_Caroline.7820.263.0',
@@ -587,6 +593,9 @@
     self.assertEqual(
         self.response.build_target_metadata[0].ec_firmware_version,
         'caroline_v1.9.370-e8b9bd2')
+    self.assertEqual(
+        self.response.build_target_metadata[0].kernel_version,
+        '4.4.223-r2209')
 
 
 class HasChromePrebuiltTest(cros_test_lib.MockTestCase, ApiConfigMixin):