ci/b2c: allow jobs to opt-in into the new mars setup command

This machine registration command makes it possible to check for the
specified list of machine tags rather than just doing a full comparison
of tags between the expected state and the current state.

This is beneficial for multiple reasons:

 * It enables having more than one GPU in a host, and we let the machine
   registration container unbind the unwanted GPU before Mesa CI even
   executes anything

 * It makes it possible to alter the boot process so as to use a kernel
   with a different architecture than the default kernel of CI-Tron uses

 * Adding or modifying tags which are unused by a job won't fail the
   first job after the new machine registration container lands.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33551>
This commit is contained in:
Martin Roukala (né Peres) 2025-02-14 16:47:28 +02:00
parent 81d55e0866
commit 06b5aa9965

View file

@ -108,7 +108,7 @@ deployment:
b2c.volume={{ volume }}
{% endfor %}
b2c.run_service="--privileged --tls-verify=false --pid=host {{ telegraf_image }}" b2c.hostname=dut-{{ '{{' }} machine.full_name }}
b2c.run="-ti --tls-verify=false {{ machine_registration_image }} check"
b2c.run="-ti --tls-verify=false {{ machine_registration_image }} {% if mars_setup_tags %}setup --tags {{ mars_setup_tags }}{% else %}check{% endif %}"
b2c.run="-v {{ '{{' }} job_bucket }}-results:{{ working_dir }} -w {{ working_dir }} {% for mount_volume in mount_volumes %} -v {{ mount_volume }}{% endfor %} --tls-verify=false --entrypoint bash {{image_under_test}} -euc 'curl -q {{ '{{' }} job.http.url }}/install.tar.zst | tar --zstd -x; {{ container_cmd }}'"
kernel:
{% if kernel_url %}