0

[reclient] Fix how cache-silo is set for reclient builds.

Reclient builds were not setting the cache silo properly, this should
address that problem.

Bug: b/196222059
Change-Id: I6fdf78ca9d11ba7681bfe379de96174c3c18611b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3104326
Reviewed-by: Dirk Pranke <dpranke@google.com>
Commit-Queue: Michael Savigny <msavigny@google.com>
Cr-Commit-Position: refs/heads/main@{#913152}
This commit is contained in:
Michael Savigny
2021-08-18 21:03:39 +00:00
committed by Chromium LUCI CQ
parent 23e7016427
commit fb3705dc8e
3 changed files with 11 additions and 6 deletions
infra/config
generated
lib
subprojects
chromium

@ -3798,12 +3798,10 @@ buckets {
' "use_luci_auth": true'
' },'
' "$build/reclient": {'
' "cache_silo": "Comparison Linux - cache siloed",'
' "instance": "rbe-chromium-trusted",'
' "jobs": 250,'
' "metrics_project": "chromium-reclient-metrics",'
' "rewrapper_env": {'
' "RBE_cache_silo": "Comparison Linux - cache siloed"'
' }'
' "metrics_project": "chromium-reclient-metrics"'
' },'
' "$kitchen": {'
' "devshell": true,'

@ -289,7 +289,7 @@ def _isolated_property(*, isolated_server):
return isolated or None
def _reclient_property(*, instance, service, jobs, rewrapper_env, profiler_service, publish_trace):
def _reclient_property(*, instance, service, jobs, rewrapper_env, profiler_service, publish_trace, cache_silo):
reclient = {}
instance = defaults.get_value("reclient_instance", instance)
if instance:
@ -314,6 +314,8 @@ def _reclient_property(*, instance, service, jobs, rewrapper_env, profiler_servi
publish_trace = defaults.get_value("reclient_publish_trace", publish_trace)
if publish_trace:
reclient["publish_trace"] = True
if cache_silo:
reclient["cache_silo"] = cache_silo
return reclient or None
################################################################################
@ -359,6 +361,7 @@ defaults = args.defaults(
reclient_rewrapper_env = None,
reclient_profiler_service = None,
reclient_publish_trace = None,
reclient_cache_silo = None,
# Provide vars for bucket and executable so users don't have to
# unnecessarily make wrapper functions
@ -410,6 +413,7 @@ def builder(
reclient_rewrapper_env = args.DEFAULT,
reclient_profiler_service = args.DEFAULT,
reclient_publish_trace = args.DEFAULT,
reclient_cache_silo = None,
**kwargs):
"""Define a builder.
@ -558,6 +562,8 @@ def builder(
* reclient_profiler_service - a string indicating service name for
re-client's cloud profiler.
* reclient_publish_trace - If True, it publish trace by rpl2cloudtrace.
* reclient_cache_silo - A string indicating a cache siling key to use for
remote caching.
* kwargs - Additional keyword arguments to forward on to `luci.builder`.
"""
@ -706,6 +712,7 @@ def builder(
rewrapper_env = reclient_rewrapper_env,
profiler_service = reclient_profiler_service,
publish_trace = reclient_publish_trace,
cache_silo = reclient_cache_silo,
)
if reclient != None:
properties["$build/reclient"] = reclient

@ -3891,7 +3891,7 @@ ci.fyi_builder(
goma_jobs = 250,
executable = "recipe:reclient_goma_comparison",
execution_timeout = 6 * time.hour,
reclient_rewrapper_env = {"RBE_cache_silo": "Comparison Linux - cache siloed"},
reclient_cache_silo = "Comparison Linux - cache siloed",
reclient_instance = rbe_instance.DEFAULT,
reclient_jobs = 250,
configure_kitchen = True,