service: Get kernel versions for custom kernels

Current usage assumes that the installed kernel package naming scheme
begins with 'sys-kernel/chromeos-kernel'. Instead of a string
comparison, compare the installed packages with all possible kernel
versions listed in the virtual target.

BUG=b:231716807
TEST=unit
TEST=https://ci.chromium.org/swarming/task/5d4ddc95963bf210?server=chromeos-swarming.appspot.com
for viking-cq with an explicit call to PackageService.GetBuilderMetadata

Change-Id: I8c8312b137c99ecb6ab495b086b6fe870a53aa9d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3893233
Tested-by: Lizzy Presland <zland@google.com>
Reviewed-by: Ram Chandrasekar <rchandrasekar@google.com>
Commit-Queue: Ram Chandrasekar <rchandrasekar@google.com>
Auto-Submit: Lizzy Presland <zland@google.com>
diff --git a/api/controller/packages_unittest.py b/api/controller/packages_unittest.py
index 5d37e81..303955d 100644
--- a/api/controller/packages_unittest.py
+++ b/api/controller/packages_unittest.py
@@ -665,13 +665,26 @@
             "GetBoardUseFlags",
             return_value=["arc", "arcvm", "big_little", "cheets"],
         )
-        package_result = [
+
+        kernel_candidates = [
+            "sys-kernel/chromeos-kernel-4_4-4.4.223-r2209",
+            "sys-kernel/chromeos-kernel-experimental-4.18_rc2-r23",
+            "sys-kernel/sys-kernel/socfpga-kernel-4.20-r34",
+        ]
+        self.PatchObject(
+            portage_util,
+            "GetFlattenedDepsForPackage",
+            return_value=kernel_candidates,
+        )
+        installed_packages = [
             "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
+            portage_util,
+            "GetPackageDependencies",
+            return_value=installed_packages,
         )
 
         self.PatchObject(