This is an automated email from the ASF dual-hosted git repository.
jscheffl pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 12c7dd429c4 [Edge]Worker UI link beautification (#43869)
12c7dd429c4 is described below
commit 12c7dd429c467dbf0c0549fe1ddfc4af3d1d9e1e
Author: majorosdonat <[email protected]>
AuthorDate: Mon Nov 11 09:30:17 2024 +0100
[Edge]Worker UI link beautification (#43869)
* links are easier to find for running and queued tasks on for edge worker
* Check for unknown state before checking last heartbeat
---------
Co-authored-by: Majoros Donat (XC-DX/EET2-Bp) <[email protected]>
---
providers/src/airflow/providers/edge/CHANGELOG.rst | 8 ++++++++
providers/src/airflow/providers/edge/__init__.py | 2 +-
.../edge/plugins/templates/edge_worker_hosts.html | 12 ++++++++----
.../providers/edge/plugins/templates/edge_worker_jobs.html | 14 ++++++++++----
providers/src/airflow/providers/edge/provider.yaml | 2 +-
5 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/providers/src/airflow/providers/edge/CHANGELOG.rst
b/providers/src/airflow/providers/edge/CHANGELOG.rst
index dcf7c9f1643..ae77d32b7ee 100644
--- a/providers/src/airflow/providers/edge/CHANGELOG.rst
+++ b/providers/src/airflow/providers/edge/CHANGELOG.rst
@@ -27,6 +27,14 @@
Changelog
---------
+0.5.3pre0
+.........
+
+Misc
+~~~~
+
+* ``Adding some links to host and job overview pages.``
+
0.5.2pre0
.........
diff --git a/providers/src/airflow/providers/edge/__init__.py
b/providers/src/airflow/providers/edge/__init__.py
index 9b8dfc957ca..2998b9d6a90 100644
--- a/providers/src/airflow/providers/edge/__init__.py
+++ b/providers/src/airflow/providers/edge/__init__.py
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
__all__ = ["__version__"]
-__version__ = "0.5.2pre0"
+__version__ = "0.5.3pre0"
if
packaging.version.parse(packaging.version.parse(airflow_version).base_version)
< packaging.version.parse(
"2.10.0"
diff --git
a/providers/src/airflow/providers/edge/plugins/templates/edge_worker_hosts.html
b/providers/src/airflow/providers/edge/plugins/templates/edge_worker_hosts.html
index 8feb9a526f7..4d9c0c3fc68 100644
---
a/providers/src/airflow/providers/edge/plugins/templates/edge_worker_hosts.html
+++
b/providers/src/airflow/providers/edge/plugins/templates/edge_worker_hosts.html
@@ -50,6 +50,8 @@
<td>
{%- if host.state == "offline" -%}
<span class="label" style="color:white;
background-color:black;" title="Current State: {{ host.state }}">{{ host.state
}}</span>
+ {%- elif host.state == "unknown" -%}
+ <span class="label" style="color:white; background-color:red;"
title="Current State: {{ host.state }}">{{ host.state }}</span>
{%- elif host.last_update.timestamp() <=
five_min_ago.timestamp() -%}
Reported <span class="label" style="color:white;
background-color:red;" title="Current State: {{ host.state }}">{{ host.state
}}</span>
but no heartbeat
@@ -61,8 +63,6 @@
<span class="label" style="color:black;
background-color:gray;" title="Current State: {{ host.state }}">{{ host.state
}}</span>
{%- elif host.state == "terminating" -%}
<span class="label" style="color:black;
background-color:violet;" title="Current State: {{ host.state }}">{{ host.state
}}</span>
- {%- elif host.state == "unknown" -%}
- <span class="label" style="color:white; background-color:red;"
title="Current State: {{ host.state }}">{{ host.state }}</span>
{%- else -%}
<span class="label" style="color:white;
background-color:hotpink;" title="Current State: {{ host.state }}">{{
host.state }}</span>
{%- endif -%}
@@ -71,7 +71,9 @@
{% if host.queues %}
<ul>
{% for item in host.queues %}
- <li>{{ item }}</li>
+ <li>
+ <a
href="../taskinstance/list/?_flt_7_state=success&_flt_7_state=failed&_flt_3_queue={{
item }}#"">{{ item }}</a>
+ </li>
{% endfor %}
</ul>
{% else %}
@@ -80,7 +82,9 @@
</td>
<td><time datetime="{{ host.first_online }}">{{ host.first_online
}}</time></td>
<td>{% if host.last_update %}<time datetime="{{ host.last_update
}}">{{ host.last_update }}</time>{% endif %}</td>
- <td>{{ host.jobs_active }}</td>
+ <td>
+ <a href="../taskinstance/list/?_flt_3_hostname={{
host.worker_name }}&_flt_7_state=success&_flt_7_state=failed#">{{
host.jobs_active }}</a>
+ </td>
<!-- Stats are not collected (yet) leave the columns out until
available
<td>{{ host.jobs_taken }}</td>
<td>{{ host.jobs_success }}</td>
diff --git
a/providers/src/airflow/providers/edge/plugins/templates/edge_worker_jobs.html
b/providers/src/airflow/providers/edge/plugins/templates/edge_worker_jobs.html
index a73e0f1d485..86c2eb01391 100644
---
a/providers/src/airflow/providers/edge/plugins/templates/edge_worker_jobs.html
+++
b/providers/src/airflow/providers/edge/plugins/templates/edge_worker_jobs.html
@@ -32,8 +32,8 @@
<table class="table table-striped table-bordered">
<tr>
<th>DAG ID</th>
- <th>Task ID</th>
<th>Run ID</th>
+ <th>Task ID</th>
<th>Map Index</th>
<th>Try Number</th>
<th>State</th>
@@ -46,14 +46,20 @@
{% for job in jobs %}
<tr title="{{ job.command }}">
<td><a href="/dags/{{ job.dag_id }}/grid">{{ job.dag_id }}</a></td>
- <td><a href="/dags/{{ job.dag_id }}/grid?dag_run_id={{ job.run_id
| urlencode }}&task_id={{ job.task_id }}">{{ job.task_id }}</a></td>
<td><a href="/dags/{{ job.dag_id }}/grid?dag_run_id={{ job.run_id
| urlencode }}">{{ job.run_id }}</a></td>
+ <td><a href="/dags/{{ job.dag_id }}/grid?dag_run_id={{ job.run_id
| urlencode }}&task_id={{ job.task_id }}&tab=logs">{{ job.task_id }}</a></td>
<td>{% if job.map_index >= 0 %}{{ job.map_index }}{% else %}-{%
endif %}</td>
<td>{{ job.try_number }}</td>
<td>{{ html_states[job.state] }}</td>
- <td>{{ job.queue }}</td>
+ <td>
+ <a
href="../taskinstance/list/?_flt_7_state=success&_flt_7_state=failed&_flt_3_queue={{
job.queue }}#"">{{ job.queue }}</a>
+ </td>
<td><time datetime="{{ job.queued_dttm }}">{{ job.queued_dttm
}}</time></td>
- <td>{% if job.edge_worker %}{{ job.edge_worker }}{% endif %}</td>
+ <td>
+ {% if job.edge_worker %}
+ <a href="../taskinstance/list/?_flt_3_hostname={{
job.edge_worker }}&_flt_7_state=success&_flt_7_state=failed#">{{
job.edge_worker }}</a>
+ {% endif %}
+ </td>
<td>{% if job.last_update %}<time datetime="{{ job.last_update
}}">{{ job.last_update | string | truncate(20, False, "") }}</time>{% endif
%}</td>
</tr>
{% endfor %}
diff --git a/providers/src/airflow/providers/edge/provider.yaml
b/providers/src/airflow/providers/edge/provider.yaml
index e6b2d789007..34e787c528d 100644
--- a/providers/src/airflow/providers/edge/provider.yaml
+++ b/providers/src/airflow/providers/edge/provider.yaml
@@ -27,7 +27,7 @@ source-date-epoch: 1729683247
# note that those versions are maintained by release manager - do not update
them manually
versions:
- - 0.5.2pre0
+ - 0.5.3pre0
dependencies:
- apache-airflow>=2.10.0