SdkService: Add CreateBinhostCLs

When we build a new SDK, we need to change binhost to point at
the new packages. This adds a CreateBinHostCLs method to SdkService,
which creates CLs to point binhosts at a given SDK version.
The CLs are published to Gerrit, but not automatically committed.

BUG=b:196886631
TEST=Call the method from the build_toolchain recipe.

Change-Id: I5d9ffa4369c4eafc78e453e31eeb446fb58368f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3437304
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
diff --git a/api/controller/sdk.py b/api/controller/sdk.py
index a02bb92..fb1520d 100644
--- a/api/controller/sdk.py
+++ b/api/controller/sdk.py
@@ -161,6 +161,16 @@
 @faux.all_empty
 @validate.require('prepend_version', 'version', 'upload_location')
 @validate.validation_complete
+def CreateBinhostCLs(input_proto, _output_proto, _config):
+  """Create CLs to update the binhost to point at uploaded prebuilts."""
+  sdk.CreateBinhostCLs(input_proto.prepend_version,
+                       input_proto.version,
+                       input_proto.upload_location)
+
+
+@faux.all_empty
+@validate.require('prepend_version', 'version', 'upload_location')
+@validate.validation_complete
 def UploadPrebuiltPackages(input_proto, _output_proto, _config):
   """Uploads prebuilt packages."""
   sdk.UploadPrebuiltPackages(controller_util.ParseChroot(input_proto.chroot),