{% extends "layouts/content.html" %} {% load utils %} {% load humanize %} {% block styles %} {% endblock %} {% block content %}
Description
{{ job.description|default:"not set" }}
Device-type
{% if job.requested_device_type %}
{{ job.requested_device_type }}
{% else %}
...
{% endif %}
Submitter
{{ job.submitter.get_full_name|default:job.submitter.username }}
Created
{{ job.submit_time|naturaltime }}
Priority
{{ job.get_priority_display }}
Visibility
{{ job.get_visibility_display }}{% if job.visibility == job.VISIBLE_GROUP %} ({{ job.viewing_groups.all|join:', ' }}){% endif %}
{% if job_tags %}
Required Tags
{% for tag in job_tags %} {% if tag.description %} {{ tag.name }}{% if not forloop.last %},{% endif %} {% else %} {{ tag.name }}{% if not forloop.last %},{% endif %} {% endif %} {% endfor %}
{% endif %}
#{{ job.sub_id|default:job.id }}
{% if job.state != job.STATE_FINISHED %}
{{ job.get_state_display }} {% elif job.health == job.HEALTH_UNKNOWN %}
{{ job.get_health_display }} {% elif job.health == job.HEALTH_COMPLETE %}
{{ job.get_health_display }} {% elif job.health == job.HEALTH_INCOMPLETE %}
{{ job.get_health_display }} {% else %}
{{ job.get_health_display }} {% endif %} {% if job.is_multinode %}
{% endif %}
Device
{% if job.actual_device %}
{{ job.actual_device.hostname }}
{% else %}
...
{% endif %}
Started
{% if job.start_time %}{{ job.start_time|naturaltime }}{% else %}...{% endif %}
Duration
{% if job.state != job.STATE_FINISHED %}
...
{% else %}
{{ job.end_time|timeuntil:job.start_time }}
{% endif %} {% if job.results_link %}
Results
  
{% endif %}
{% if lava_job_result %}

{{ lava_job_result.error_type }} error: {{ lava_job_result.error_msg }}

{% endif %} {% if invalid_log_data %}

Unable to parse invalid logs: This is maybe a bug in LAVA that should be reported.

{% endif %} {% if job.archived_job_file %}

Job log file archived Please contact the administrator for job log file.

{% endif %}
{{ job.failure_comment }}
{% if size_warning %}

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

{% endif %}
{% if not size_warning %}
{% endif %}
{% if job.is_multinode %} Multinode {% else %} Definition {% endif %} {% if show_cancel %} {% if job.is_multinode %} Cancel {% else %} Cancel {% endif %} {% elif show_fail %} {% if job.is_multinode %} Fail {% else %} Fail {% endif %} {% endif %} {% if show_resubmit %} Resubmit {% endif %}
{% for line in log_data %} {% if line.lvl == "debug" %} {% get_action_id line.msg as act_id %} {{ line.msg|udecode }} {% elif line.lvl == "input" %} {{ line.msg|udecode }} {% elif line.lvl == "target" %} {{ line.msg|udecode }} {% elif line.lvl == "feedback" %} {% elif line.lvl == "results" %} {% if line.msg.set %} {% url 'lava.results.testset' job.id line.msg.definition line.msg.set line.msg.case as result_url %} {% else %} {% url 'lava.results.testcase' line.msg.case_id as result_url %} {% endif %} {% for key, value in line.msg.items|sort_items %} {% if value.items %} {% if key == "extra" %} extra: ...
{% else %} {% for k, v in value.items %} {{ k }}: {{ v }}
{% endfor %} {% endif %} {% else %} {{ key }}: {{ value }}
{% endif %} {% endfor %}
{% elif line.lvl == "error" or line.lvl == "exception" %} {{ line.msg|udecode }} {% else %} {% get_action_id line.msg as act_id %} {{ line.msg|udecode }} {% endif %} {% endfor %} {% if job.state != job.STATE_FINISHED %} {% endif %}
{% if not size_warning %}

Top of page

{% if job.state == job.STATE_FINISHED %}

Please read the triage guidelines for help on debugging failures in the test job, test definitions or in individual test cases.

{% endif %} {% endif %}

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.

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 %}
target
{{ job_data.target|default:'...' }}
timeouts
{% if job_data.timeouts %}
    {% for key, value in job_data.timeouts.items %}
  • {{ key }}: {{ value }}
  • {% endfor %}
{% 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 %}
    {% 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 %}
    {% 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 %}
    {% endfor %}
    {% else %}
    {{ key }}
    {{ value }}
    {% endif %} {% endfor %}
  2. {% endfor %}

Job Timings

This section helps test writers to check for actions with a duration which is much shorter than the requested timeout. Reducing these timeouts will allow failures to be identified more quickly.

The graph only shows actions that are longer than 1 second. The full list is anyway available in the table.

Loading the data...
{% include "_similar_jobs.html" %}
{% endblock %} {% block scripts %} {% endblock scripts %}