{% extends "layouts/content-bootstrap.html" %} {% load utils %} {% load django_tables2 %} {% block styles %} {% endblock %} {% block content %} {% if job.status >= job.RUNNING and not job.is_pipeline %} End of log file {% endif %}
Description
{{job.description|default:"not set" }}
Status
{{ job.get_status_display }}
Priority
{{ job.get_priority_display }}
Submitter
{{ job.submitter }}
Visibility
{{ job.get_visibility_display }}
{% if job.visibility == 2 %}
Visibility groups
{% for group in job.viewing_groups.all %} {{ group }}  {% endfor %}
{% endif %}
{% include 'lava_scheduler_app/_device_refresh.html' %}
{% include 'lava_scheduler_app/_job_timing.html' %}

{% if show_failure %} {% endif %} {% if change_priority and job.status == job.SUBMITTED and not job.is_multinode %}
{% csrf_token %}
{{ job.priority|get_priority_select }}
{% endif %}
{% if job.is_multinode or job.is_vmgroup %}
{% for subjob in job.sub_jobs_list %}
{{ subjob.sub_id }} {% if '0' in subjob.sub_id and '0' not in job.sub_id %} (?) {% endif %}
{% if subjob.actual_device.hostname %} on: {{ subjob.actual_device.hostname }} as: {{ subjob.device_role }} {% else %} No device assigned as {{ subjob.device_role }}. {% endif %}
{% endfor %}
{% endif %} {% if job.is_pipeline %}
{% endif %} {% if job.status < job.RUNNING and not job.is_pipeline %} No log file yet. {% elif job.archived_job_file %} Job log file archived. Please contact the administrator for job log file. {% else %} {% if job_file_present and not job.archived_job_file %} {% for tag in job.failure_tags.all %} {% if forloop.first %} {% if forloop.revcounter > 1 %}

Job failure tags

{% else %}

Job failure tag

{% endif %} {% endif %}
{{ tag.name }}
{{ tag.description }}
{% endfor %} {% if job.failure_comment %} {% endif %} {% if size_warning %}

This log file is too large to view, (over {{ size_warning|filesizeformat }} bytes). It can only be downloaded.

{% endif %} {% if not job.is_pipeline %} End of log file

{% for level in levels %} {% if level.1 %} {% else %} {% endif %} {% endfor %}
{% endif %}
{% for log in job_log_messages %} {{ log.1 }} {% endfor %} {% if job.status == job.RUNNING and not job.is_pipeline %} {% endif %}
{% else %} {% if job.failure_comment %}
{{ job.failure_comment }}
Job file missing. {% endif %} {% endif %} {% endif %} {% if job.is_pipeline %}
{% spaceless %} {% get_pipeline_sections pipeline_data as sections %}

Sections

Logging levels


{% endspaceless %}

Line

Action Timing

Action Summary

{% include 'lava_scheduler_app/_structured_logdata.html' %}
{% if job.status != job.COMPLETE and job.status != job.INCOMPLETE and job.status != job.CANCELED %} {% endif %}

Each action is displayed relative to the timeline of the job, according to the logging level of the message from that action. Dispatcher messages are in blue, result messages are in green. Target messages are indented and shown in monospace. There is often a lag between the dispatcher message describing an operation and the message from the target processing that operation.

{% comment %}log messages{% endcomment %} {% endif %} {% if job.is_pipeline %} {% spaceless %}

Job Description YAML

Pipeline jobs use the job definition to generate a descriptive YAML file when the pipeline is validated. The file represents the data sent to the dispatcher at the start of the job, including details of the device as well as the job parameters and the details of the parameters sent to each of the deploy, boot and test actions in the job pipeline.

Click on the Device or Job Actions headings below to see some of the information from the description file for this job or download the complete file as YAML using the link above.

{% if 'section' not in request.GET %}
{% else %}
{% endif %}
device type
{{ device_data.device_type }}
hostname
{{ device_data.hostname }}
timeouts
    {% for key, value in device_data.timeouts.items %}
  • {{ key }}: {{ value.values|join:'' }} {{ value.keys|join:'' }}
  • {% endfor %}
device action methods
{% for key, value in device_data.actions.items %}
  • {{ key }}:
      {% for itemkey, itemvalue in value.methods.items %}
    • {{ itemkey }}:
        {% for paramkey, paramvalue in itemvalue.parameters.items %}
      • {{ paramkey }}: {{ paramvalue }}
      • {% endfor %}
    • {% endfor %}
  • {% endfor %}
    {% if 'section' in request.GET %}
    {% else %}
    {% endif %}
    target
    {{ job_data.target|default:'...' }}
    timeouts
    {% if job_data.timeouts %}
      {% for key, value in job_data.timeouts.items %}
    • {{ key }}: {{ value }}
    • {% endfor %}
    {% else %}... {% endif %}
    {% if 'section' in request.GET and request.GET.section == 'deploy' %}
    {% else %}
    {% endif %}
      {% for entry in deploy_list %}

    1. {% for key, value in entry.items %} {% if key == 'timeout' %}
      Timeout
        {% for timekey, timevalue in value.items %} {% if timekey == 'yaml_line' %}
      • {{ timekey }} {{ timevalue }}
      • {% else %}
      • {{ timevalue }} {{ timekey }}
      • {% endif %} {% endfor %}
      {% else %}
      {{ key }}
      {{ value }}
      {% endif %} {% endfor %}
    2. {% endfor %}
    {% if 'section' in request.GET and request.GET.section == 'boot' %}
    {% else %}
    {% endif %}
      {% for entry in boot_list %}

    1. {% for key, value in entry.items %} {% if key == 'timeout' %}
      Timeout
        {% for timekey, timevalue in value.items %} {% if timekey == 'yaml_line' %}
      • {{ timekey }} {{ timevalue }}
      • {% else %}
      • {{ timevalue }} {{ timekey }}
      • {% endif %} {% endfor %}
      {% else %}
      {{ key }}
      {{ value }}
      {% endif %} {% endfor %}
    2. {% endfor %}
    {% if 'section' in request.GET and request.GET.section == 'test' %}
    {% else %}
    {% endif %}
      {% for entry in test_list %}

    1. {% for key, value in entry.items %} {% if key == 'timeout' %}
      Timeout
        {% for timekey, timevalue in value.items %} {% if timekey == 'yaml_line' %}
      • {{ timekey }} {{ timevalue }}
      • {% else %}
      • {{ timevalue }} {{ timekey }}
      • {% endif %} {% endfor %}
      {% elif key == 'definitions' %}
      Definitions
        {% for item in value %}
        • {% for elem_key, elem_value in item.items %}
        • {{ elem_key }} {{ elem_value }}
        • {% endfor %}
      1. {% endfor %}
      {% else %}
      {{ key }}
      {{ value }}
      {% endif %} {% endfor %}
    2. {% endfor %}
    {% endspaceless %} {% endif %} {% if job.status >= job.RUNNING and job_file_present and job_file_size > 0 and not job.archived_job_file %} {% if not job.is_pipeline %} Start of log file

    {% endif %}
    {% endif %}
    {% endblock %} {% block scripts %} {% comment %} Each JS id relates to a HTML block of polled content. {% endcomment %} {% if job.is_pipeline %} {% if job.status == job.SUBMITTED or job.status == job.RUNNING or job.status == job.CANCELING %} {% endif %} {% else %} {% if job.status == job.RUNNING and job_file_present %} {% endif %} {% endif %} {% endblock scripts %}