• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1version: 1
2
3# Rules to match for a machine to qualify
4target:
5  id: '{{ ci_runner_id }}'
6
7timeouts:
8
9  first_console_activity:  # This limits the time it can take to receive the first console log
10    minutes: {{ timeout_first_console_activity_minutes | default(0, true) }}
11    seconds: {{ timeout_first_console_activity_seconds | default(0, true) }}
12    retries: {{ timeout_first_console_activity_retries }}
13
14  console_activity:        # Reset every time we receive a message from the logs
15    minutes: {{ timeout_console_activity_minutes | default(0, true) }}
16    seconds: {{ timeout_console_activity_seconds | default(0, true) }}
17    retries: {{ timeout_console_activity_retries }}
18
19  boot_cycle:
20    minutes: {{ timeout_boot_minutes | default(0, true) }}
21    seconds: {{ timeout_boot_seconds | default(0, true) }}
22    retries: {{ timeout_boot_retries }}
23
24  overall:                 # Maximum time the job can take, not overrideable by the "continue" deployment
25    minutes: {{ timeout_overall_minutes | default(0, true) }}
26    seconds: {{ timeout_overall_seconds | default(0, true) }}
27    retries: 0
28    # no retries possible here
29
30console_patterns:
31    session_end:
32        regex: >-
33          {{ session_end_regex }}
34{% if session_reboot_regex %}
35    session_reboot:
36        regex: >-
37          {{ session_reboot_regex }}
38{% endif %}
39    job_success:
40        regex: >-
41          {{ job_success_regex }}
42{% if job_warn_regex %}
43    job_warn:
44        regex: >-
45          {{ job_warn_regex }}
46{% endif %}
47
48# Environment to deploy
49deployment:
50  # Initial boot
51  start:
52    storage:
53        http:
54          - path: "/b2c-extra-args"
55            data: >
56              b2c.pipefail b2c.poweroff_delay={{ poweroff_delay }}
57              b2c.minio="gateway,{{ '{{' }} minio_url }},{{ '{{' }} job_bucket_access_key }},{{ '{{' }} job_bucket_secret_key }}"
58              b2c.volume="{{ '{{' }} job_bucket }}-results,mirror=gateway/{{ '{{' }} job_bucket }},pull_on=pipeline_start,push_on=changes,overwrite{% for excl in job_volume_exclusions %},exclude={{ excl }}{% endfor %},remove,expiration=pipeline_end,preserve"
59              {% for volume in volumes %}
60              b2c.volume={{ volume }}
61              {% endfor %}
62              b2c.run_service="--privileged --tls-verify=false --pid=host docker://{{ '{{' }} fdo_proxy_registry }}/gfx-ci/ci-tron/telegraf:latest" b2c.hostname=dut-{{ '{{' }} machine.full_name }}
63              b2c.run="-ti --tls-verify=false docker://{{ '{{' }} fdo_proxy_registry }}/gfx-ci/ci-tron/machine-registration:latest check"
64              b2c.run="-v {{ '{{' }} job_bucket }}-results:{{ working_dir }} -w {{ working_dir }} {% for mount_volume in mount_volumes %} -v {{ mount_volume }}{% endfor %} --tls-verify=false docker://{{ local_container }} {{ container_cmd | replace('"', '\\\"') }}"
65    kernel:
66{% if kernel_url %}
67      url: '{{ kernel_url }}'
68{% endif %}
69
70      # NOTE: b2c.cache_device should not be here, but this works around
71      # a limitation of b2c which will be removed in the next release
72      cmdline: >
73        SALAD.machine_id={{ '{{' }} machine_id }}
74        console={{ '{{' }} local_tty_device }},115200
75        b2c.cache_device=auto b2c.ntp_peer=10.42.0.1
76        b2c.extra_args_url={{ '{{' }} job.http.url }}/b2c-extra-args
77        {% if kernel_cmdline_extras is defined %}
78        {{ kernel_cmdline_extras }}
79        {% endif %}
80
81{% if initramfs_url %}
82    initramfs:
83      url: '{{ initramfs_url }}'
84{% endif %}
85
86{% if dtb_url %}
87    dtb:
88      url: '{{ dtb_url }}'
89{% endif %}
90