Skip to content

Use buildbox-casd for CAS access

Jürg Billeter requested to merge juerg/casd into master

This implements the changes described in #1042.

Task list

Post-merge fixes

I expect it to be acceptable to merge this branch without the following fixes, however, they should be fixed soon.

  • Fix test_invalid_cache_quota
  • Restore 'Cache Usage' display in frontend

Additional optimizations and other improvements are planned to land after merging this branch. See #1042 for a tentative task list.

Note to reviewers

As the branch consists of a relatively large number of commits, here a brief overview of the commit structure:

  • Run internal CAS tests in subprocesses as local CAS cache writes are no longer allowed from the main process with buildbox-casd (gRPC)
  • Remove existing CAS expiry support as cache expiry will be managed by buildbox-casd. This marks corresponding tests as xfail.
  • Add and use CASCache.cleanup() as preparation to always properly terminate buildbox-casd.
  • Minimal buildbox-casd dependency: Update CI images, start/stop buildbox-casd process and set up channel
  • Use buildbox-casd for local cache (write) operations.
  • Enable local cache expiry via buildbox-casd, remove xfail mark from expiry tests.
  • Use buildbox-casd for remote CAS operations.
  • Enable cache expiry via buildbox-casd in bst-artifact-server.
Edited by Jürg Billeter

Merge request reports