satlab: fix ATE container startup on ChromeOS Satlab hosts
On ChromeOS Satlab hosts (such as puff-moblab), /var/docker/data is
mounted with noexec, so Docker local volumes (ate_tmp and tf_res)
inherit the noexec mount flag inside containers. Additionally,
bind-mounting /dev:/dev alongside tty: true on ate-tradefed shadows the
container's /dev/console PTY with the headless ChromeOS host's
/dev/console, causing runc container init to fail with 'open
/dev/console: no such device'.
- Invoke ate_labserver_entrypoint.sh via /bin/bash in ate-labserver and
remount /tmp/cloud-ate-shared and /usr/local/google/mobileharness/ate
with exec on container startup.
- Add ate_tradefed_entrypoint.sh (staged via conf_creator and invoked
via /bin/bash in ate-tradefed) to remount /tmp/cloud-ate-shared and
/tradefed with exec before executing /tradefed/tradefed_host_up.sh.
- Remove the redundant /dev:/dev bind mount from ate-tradefed (which
already runs with privileged: true) so tty: true allocates a valid
container PTY at /dev/console and keeps Tradefed in interactive
console mode.
- Set --logger_console_handler_min_log_record_importance=150 on
ate-labserver to match the ATS container console log threshold.
BUG=b:577050425
TEST=Verified ate-labserver and ate-tradefed on Satlab 100.64.229.27
TAG=agy
CONV=4cc6cd29-7648-4dde-b6c9-0128df922502
Change-Id: I88e8cee27aed067710912bb68cd6d25a306ac6b6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/satlab/+/8802187
Reviewed-by: Przemysław Filipek <filipek@google.com>
Tested-by: Rafał Gaweł <rafalgawel@google.com>
Commit-Queue: chromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com <chromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com>
Commit-Queue: Rafał Gaweł <rafalgawel@google.com>
5 files changed