api/controller: Convert manual BuildTarget instantiations

There are controller_util functions to construct BuildTargets from
the protobuf messages so we can have a single place to address changes
to the protobuf message. Convert all the BuildTarget instantiations
from manual constructions to calls to the util function.

BUG=chromium:1060351
TEST=run_tests, cq

Change-Id: I60c6720cf7bbc60f122f2fa1e2e81ab13368193f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2096818
Reviewed-by: Michael Mortensen <mmortensen@google.com>
Commit-Queue: Alex Klein <saklein@chromium.org>
Tested-by: Alex Klein <saklein@chromium.org>
diff --git a/api/controller/controller_util.py b/api/controller/controller_util.py
index 3199525..ccfac33 100644
--- a/api/controller/controller_util.py
+++ b/api/controller/controller_util.py
@@ -9,11 +9,12 @@
 
 import sys
 
+from chromite.api.gen.chromite.api import sysroot_pb2
 from chromite.api.gen.chromiumos import common_pb2
 from chromite.cbuildbot import goma_util
 from chromite.lib import constants
 from chromite.lib import portage_util
-from chromite.lib.build_target_lib import BuildTarget
+from chromite.lib import build_target_lib
 from chromite.lib.chroot_lib import Chroot
 
 
@@ -96,11 +97,12 @@
                         counterz_filename=counterz_filename)
 
 
-def ParseBuildTarget(build_target_message):
+def ParseBuildTarget(build_target_message, profile_message=None):
   """Create a BuildTarget object from a build_target message.
 
   Args:
     build_target_message (common_pb2.BuildTarget): The BuildTarget message.
+    profile_message (sysroot_pb2.Profile|None): The profile message.
 
   Returns:
     BuildTarget: The parsed instance.
@@ -109,8 +111,12 @@
     AssertionError: When the field is not a BuildTarget message.
   """
   assert isinstance(build_target_message, common_pb2.BuildTarget)
+  assert (profile_message is None or
+          isinstance(profile_message, sysroot_pb2.Profile))
 
-  return BuildTarget(build_target_message.name)
+  profile_name = profile_message.name if profile_message else None
+  return build_target_lib.BuildTarget(
+      build_target_message.name, profile=profile_name)
 
 
 def ParseBuildTargets(repeated_build_target_field):