{% extends "admin/base_site.html" %} {% load i18n %} {% block breadcrumbs %} {% endblock %} {% block extrastyle %} {{ block.super }} {% endblock %} {% block content %}

{% trans "Upgrade Report" %}

{% csrf_token %} {% if auto_upgrade_report.settings.stable_only %} {% blocktrans trimmed asvar unstable_confirm_message %} This node is configured for stable updates. Continue with an unstable upgrade? {% endblocktrans %} {% endif %}
{% csrf_token %}
{% with report=auto_upgrade_report %}

{% trans "Overall status" %}

{{ report.summary.headline }}

{% if report.summary.issues %}
    {% for issue in report.summary.issues %}
  • {{ issue.label }}
  • {% endfor %}
{% else %}

{% trans "No outstanding issues detected." %}

{% endif %}

{% trans "Upgrade policies" %}

{% if report.settings.policies %}
    {% for policy in report.settings.policies %}
  • {{ policy.name }}
    {{ policy.channel_label }} {% if policy.interval_label %} {{ policy.interval_label }} {% endif %} {% if policy.last_checked_label %} {% blocktrans %}Last checked {{ policy.last_checked_label }}{% endblocktrans %} {% endif %}
    {% if policy.requires_canaries %} {% trans "Canaries required" %} {% endif %} {% if policy.requires_pypi %} {% trans "PyPI required" %} {% endif %} {% if policy.last_status %} {% blocktrans %}Last status {{ policy.last_status }}{% endblocktrans %} {% endif %}
  • {% endfor %}
{% else %}

{% trans "Manual" %}

{% trans "No upgrade policies apply to this node." %}

{% endif %} {% if report.settings.revision_status_label %}

{{ report.settings.revision_status_label }}

{% endif %} {% if report.settings.revision_checked_label %}

{% blocktrans %}Revision last checked {{ report.settings.revision_checked_label }}.{% endblocktrans %}

{% endif %}

{% trans "Next scheduled run" %}

{% if report.summary.next_run %} {{ report.summary.next_run }} {% else %} {% trans "Not scheduled" %} {% endif %}

{% if report.schedule.description %}

{{ report.schedule.description }}

{% endif %}

{% trans "Last activity" %}

{% if report.summary.last_activity.message %}

{{ report.summary.last_activity.message }}

{{ report.summary.last_activity.timestamp|default:"" }}

{% else %}

{% trans "No activity recorded yet." %}

{% endif %}

{% trans "Settings" %}

{% trans "Upgrade policy status" %}
{% if report.settings.manual %} {% trans "Manual (no policies configured)" %} {% else %} {% blocktrans %}Enabled ({{ report.settings.policies|length }} policy{{ report.settings.policies|length|pluralize }}){% endblocktrans %} {% endif %}
{% trans "Channels" %}
{% if report.settings.channels %} {{ report.settings.channels|join:", " }} {% else %} {% trans "Manual" %} {% endif %}
{% trans "Local revision" %}
{% if report.settings.local_revision %} {{ report.settings.local_revision }} {% else %}

{% trans "Unavailable" %}

{% trans "Run Pre-Upgrade Checks to capture the local revision from the auto-upgrade worker." %}

{% endif %}
{% trans "Origin revision" %}
{% if report.settings.origin_revision %} {{ report.settings.origin_revision }} {% else %}

{% trans "Unavailable" %}

{% trans "No origin revision has been recorded yet. Run Pre-Upgrade Checks to query the upstream repository and confirm connectivity." %}

{% endif %} {% if report.settings.origin_revision_error %}

{{ report.settings.origin_revision_error }}

{% endif %}
{% trans "Revision checks" %}
{% if report.settings.revision_checked_label %}

{% blocktrans %}Last checked {{ report.settings.revision_checked_label }}.{% endblocktrans %}

{% else %}

{% trans "Run Pre-Upgrade Checks to refresh revision details." %}

{% endif %}
{% trans "CI status" %}
{% if report.settings.ci_status %} {{ report.settings.ci_status }} {% else %}

{% trans "Unavailable" %}

{% trans "CI results are fetched during revision checks. Rerun Pre-Upgrade Checks after verifying connectivity to the CI service." %}

{% endif %} {% if not report.settings.revision_checked_label %}

{% trans "Run Pre-Upgrade Checks to retrieve the current CI status." %}

{% endif %}
{% trans "Task" %}
{{ report.settings.task_name }} {% if report.schedule.task_admin_url %} [ {% trans "View" %} ] {% endif %} {% if report.settings.task_path %} — {{ report.settings.task_path }} {% endif %}
{% trans "Log file" %}
{{ report.settings.log_path }}
{% trans "Suite uptime" %}
{% if report.settings.suite_uptime %} {{ report.settings.suite_uptime }} {% if report.settings.suite_uptime_details.boot_time_label %}

{% blocktrans with boot_time=report.settings.suite_uptime_details.boot_time_label %}Tracking since {{ boot_time }}.{% endblocktrans %}

{% endif %} {% else %}

{% trans "Unavailable" %}

{% with details=report.settings.suite_uptime_details %} {% if details.lock_predates_boot and details.boot_time_label %}

{% blocktrans with boot_time=details.boot_time_label %}The uptime lock predates the current boot on {{ boot_time }}; tracking will resume after the next check.{% endblocktrans %}

{% elif details.boot_time_label %}

{% blocktrans with boot_time=details.boot_time_label %}Uptime tracking will begin from {{ boot_time }} after the monitor writes a fresh lock.{% endblocktrans %}

{% else %}

{% trans "Start the suite uptime monitor or rerun Pre-Upgrade Checks to populate this value." %}

{% endif %} {% endwith %} {% endif %}
{% trans "Blocked revisions" %}
{% if report.settings.skip_revisions %}
    {% for revision in report.settings.skip_revisions %}
  • {{ revision }}
  • {% endfor %}
{% else %} {% trans "No revisions are currently blocked." %} {% endif %}
{% trans "Auto-upgrade return codes" %}

{% trans "LCD status codes are shortened to fit a 16-character display." %}

{% for entry in report.failure_guide %} {% endfor %}
{% trans "LCD code" %} {% trans "Meaning" %} {% trans "Suggested action" %}
{{ entry.code }} {{ entry.label }}
{{ entry.details }}
{{ entry.action }}

{% trans "Schedule" %}

{% if report.schedule.available %} {% if report.schedule.configured %} {% if report.schedule.description %} {% endif %}
{% trans "Enabled" %} {% if report.schedule.enabled %} {% trans "Yes" %} {% else %} {% trans "No" %} {% endif %}
{% trans "One-off" %} {% if report.schedule.one_off %} {% trans "Yes" %} {% else %} {% trans "No" %} {% endif %}
{% trans "Queue" %} {{ report.schedule.queue|default:"" }}
{% trans "Schedule" %} {{ report.schedule.schedule|default:"" }} {% if report.schedule.config_admin_url %} [ {% trans "View" %} ] {% endif %}
{% trans "Next run" %} {{ report.schedule.next_run|default:"" }}
{% trans "Last run" %} {{ report.schedule.last_run_at|default:"" }}
{% trans "Start time" %} {{ report.schedule.start_time|default:"" }}
{% trans "Expires" %} {{ report.schedule.expires|default:"" }}
{% trans "Run count" %} {{ report.schedule.total_run_count }}
{% trans "Failure count" %} {{ report.schedule.failure_count }}
{% trans "Description" %} {{ report.schedule.description }}
{% else %}

{% trans "The auto-upgrade periodic task has not been created yet." %}

{% endif %} {% else %} {% if report.schedule.error %}

{{ report.schedule.error }}

{% else %}

{% trans "Scheduling information is unavailable." %}

{% endif %} {% endif %}

{% trans "Recent activity" %}

{% blocktrans with hours=report.recent_activity_hours %}Showing the last {{ hours }} hours of activity.{% endblocktrans %}

{% if report.log_entries %} {% for entry in report.log_entries %} {% endfor %}
{% trans "Timestamp" %} {% trans "Message" %}
{{ entry.timestamp|default:"" }} {{ entry.message }}
{% else %}

{% trans "No auto-upgrade activity has been recorded yet." %}

{% endif %} {% if report.log_error %}

{{ report.log_error }}

{% endif %}
{% endwith %}
{% endblock %}