satlab: enable ATE containers for internal users

Enable ATE (ate-labserver and ate-tradefed) for internal Satlab
deployments (CTP_SWARMING_POOL=ChromeOSSkylab) while keeping ATS (ats
and dualconduit) for external partner deployments.

- Update export_env_file.sh to export ATE_ENABLED=true when
  CTP_SWARMING_POOL is ChromeOSSkylab.
- Add ate-labserver and ate-tradefed services to docker-compose.yaml
  using shared volumes (tf_res, ate_tmp mounted at /tmp/cloud-ate-shared
  with IS_CLOUD_ATE=true) and satlab_keys, with no separate ate-proxy
  container.
- Configure ate-tradefed with TF_EXTRA_ARGS to use Satlab's local
  /creds/service_accounts/keystore.json and ensure keystore.json is
  initialized in compose_startup.sh before starting the ATE containers.
- Stage al_ate_mh_device_config and ate_labserver_entrypoint.sh via
  conf_creator into ate_tmp (/tmp/cloud-ate-shared) so
  compose_startup.sh only needs to reset default_tf_res and start
  ate-tradefed (which brings up ate-labserver via depends_on).
- Forward localhost:1485 (IPv4 and IPv6) to labservice:1485 via socat in
  ate_labserver_entrypoint.sh.
- Authenticate to https://gcr.io in compose_startup.sh when
  ATE_ENABLED=true.

BUG=b:577050425
TEST=Verified CtsJvmtiRunTest1911HostTestCases and Mobly MH on Satlab 100.64.229.15
Change-Id: Ica29b4be44532b68f88f6c91db46aeb04c3fefb4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/satlab/+/8703417
Reviewed-by: Przemysław Filipek <filipek@google.com>
Tested-by: Rafał Gaweł <rafalgawel@google.com>
Commit-Queue: Rafał Gaweł <rafalgawel@google.com>
8 files changed
tree: 8428e20eabb1c4ccf285981e946c8e7eacb6bcca
  1. cfg/
  2. os-dependent/
  3. src/
  4. .gitignore
  5. Makefile
  6. OWNERS