setup_board: Add --more/fewer--binhosts options.

Add options to enable/disable the ability to search for additional
binhosts to inherit to attempt to improve the binhost hit rate.
Disabled by default for now.

BUG=chromium:1185995
TEST=cq

Change-Id: I0b5c61f26a77783f4725908993d8534cbcb42205
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2743957
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Alex Klein <saklein@chromium.org>
diff --git a/scripts/setup_board.py b/scripts/setup_board.py
index 5cda784..9dfeab7 100644
--- a/scripts/setup_board.py
+++ b/scripts/setup_board.py
@@ -107,6 +107,20 @@
                      deprecated=deprecated % '--reuse-pkgs-from-local-boards',
                      help='Deprecated form of --reuse-pkgs-from-local-boards.')
 
+  experimental = parser.add_argument_group('Experimental Options')
+  experimental.add_argument(
+      '--more-binhosts',
+      dest='expanded_binhost_inheritance',
+      default=False,
+      action='store_true',
+      help='Try to include additional binhosts to improve binhost hit rate.')
+  experimental.add_argument(
+      '--fewer-binhosts',
+      dest='expanded_binhost_inheritance',
+      default=False,
+      action='store_false',
+      help='Do not try to include any additional binhosts.')
+
   return parser
 
 
@@ -122,12 +136,18 @@
                                                    profile=opts.profile)
 
   opts.run_config = sysroot.SetupBoardRunConfig(
-      set_default=opts.default, force=opts.force, usepkg=opts.usepkg,
-      jobs=opts.jobs, regen_configs=opts.regen_configs, quiet=opts.quiet,
+      set_default=opts.default,
+      force=opts.force,
+      usepkg=opts.usepkg,
+      jobs=opts.jobs,
+      regen_configs=opts.regen_configs,
+      quiet=opts.quiet,
       update_toolchain=not opts.skip_toolchain_update,
       upgrade_chroot=not opts.skip_chroot_upgrade,
       init_board_pkgs=not opts.skip_board_pkg_init,
-      local_build=opts.reuse_local)
+      local_build=opts.reuse_local,
+      expanded_binhost_inheritance=opts.expanded_binhost_inheritance,
+  )
 
   opts.Freeze()
   return opts