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 6105452cb50 edge worker reports hostname as task runner (#48783)
6105452cb50 is described below
commit 6105452cb50a8a78c0b7ac52d80ea364b110723a
Author: AutomationDev85 <[email protected]>
AuthorDate: Fri Apr 4 07:57:30 2025 +0200
edge worker reports hostname as task runner (#48783)
Co-authored-by: AutomationDev85 <AutomationDev85>
---
providers/edge/README.rst | 6 +++---
providers/edge/docs/changelog.rst | 9 +++++++++
providers/edge/provider.yaml | 2 +-
providers/edge/pyproject.toml | 6 +++---
providers/edge/src/airflow/providers/edge/__init__.py | 2 +-
providers/edge/src/airflow/providers/edge/cli/edge_command.py | 7 +++++++
providers/edge/src/airflow/providers/edge/get_provider_info.py | 2 +-
7 files changed, 25 insertions(+), 9 deletions(-)
diff --git a/providers/edge/README.rst b/providers/edge/README.rst
index 1bef20678be..7b21bf0dfe9 100644
--- a/providers/edge/README.rst
+++ b/providers/edge/README.rst
@@ -23,7 +23,7 @@
Package ``apache-airflow-providers-edge``
-Release: ``0.20.1b1``
+Release: ``0.20.2b1``
Handle edge workers on remote sites via HTTP(s) connection and orchestrates
work over distributed sites
@@ -36,7 +36,7 @@ This is a provider package for ``edge`` provider. All classes
for this provider
are in ``airflow.providers.edge`` python package.
You can find package information and changelog for the provider
-in the `documentation
<https://airflow.apache.org/docs/apache-airflow-providers-edge/0.20.1b1/>`_.
+in the `documentation
<https://airflow.apache.org/docs/apache-airflow-providers-edge/0.20.2b1/>`_.
Installation
------------
@@ -78,4 +78,4 @@ Dependent package
==============================================================================================
=======
The changelog for the provider package can be found in the
-`changelog
<https://airflow.apache.org/docs/apache-airflow-providers-edge/0.20.1b1/changelog.html>`_.
+`changelog
<https://airflow.apache.org/docs/apache-airflow-providers-edge/0.20.2b1/changelog.html>`_.
diff --git a/providers/edge/docs/changelog.rst
b/providers/edge/docs/changelog.rst
index 07b74cca97b..ecc2c359bab 100644
--- a/providers/edge/docs/changelog.rst
+++ b/providers/edge/docs/changelog.rst
@@ -27,6 +27,15 @@
Changelog
---------
+0.20.2b1
+..........
+
+Fix
+~~~
+
+* ``Fix hostname reporting - worker will consistently report defined hostname
as task runner.``
+
+
0.20.1pre0
..........
diff --git a/providers/edge/provider.yaml b/providers/edge/provider.yaml
index 82f4e15ee72..cb09065595c 100644
--- a/providers/edge/provider.yaml
+++ b/providers/edge/provider.yaml
@@ -25,7 +25,7 @@ source-date-epoch: 1741121867
# note that those versions are maintained by release manager - do not update
them manually
versions:
- - 0.20.1b1
+ - 0.20.2b1
plugins:
- name: edge_executor
diff --git a/providers/edge/pyproject.toml b/providers/edge/pyproject.toml
index 2065723d2f6..2e2ced6e48e 100644
--- a/providers/edge/pyproject.toml
+++ b/providers/edge/pyproject.toml
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
[project]
name = "apache-airflow-providers-edge"
-version = "0.20.1b1"
+version = "0.20.2b1"
description = "Provider package apache-airflow-providers-edge for Apache
Airflow"
readme = "README.rst"
authors = [
@@ -89,8 +89,8 @@ apache-airflow-providers-fab = {workspace = true}
apache-airflow-providers-standard = {workspace = true}
[project.urls]
-"Documentation" =
"https://airflow.apache.org/docs/apache-airflow-providers-edge/0.20.1b1"
-"Changelog" =
"https://airflow.apache.org/docs/apache-airflow-providers-edge/0.20.1b1/changelog.html"
+"Documentation" =
"https://airflow.apache.org/docs/apache-airflow-providers-edge/0.20.2b1"
+"Changelog" =
"https://airflow.apache.org/docs/apache-airflow-providers-edge/0.20.2b1/changelog.html"
"Bug Tracker" = "https://github.com/apache/airflow/issues"
"Source Code" = "https://github.com/apache/airflow"
"Slack Chat" = "https://s.apache.org/airflow-slack"
diff --git a/providers/edge/src/airflow/providers/edge/__init__.py
b/providers/edge/src/airflow/providers/edge/__init__.py
index 64e3bba97af..4d3ff0057ce 100644
--- a/providers/edge/src/airflow/providers/edge/__init__.py
+++ b/providers/edge/src/airflow/providers/edge/__init__.py
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
__all__ = ["__version__"]
-__version__ = "0.20.1b1"
+__version__ = "0.20.2b1"
if
packaging.version.parse(packaging.version.parse(airflow_version).base_version)
< packaging.version.parse(
"2.10.0"
diff --git a/providers/edge/src/airflow/providers/edge/cli/edge_command.py
b/providers/edge/src/airflow/providers/edge/cli/edge_command.py
index c2d49d0c8d7..6c3419e1810 100644
--- a/providers/edge/src/airflow/providers/edge/cli/edge_command.py
+++ b/providers/edge/src/airflow/providers/edge/cli/edge_command.py
@@ -156,6 +156,11 @@ def _write_pid_to_pidfile(pid_file_path: str):
write_pid_to_pidfile(pid_file_path)
+def _edge_hostname() -> str:
+ """Get the hostname of the edge worker that should be reported by tasks."""
+ return os.environ.get("HOSTNAME", _hostname())
+
+
class _EdgeWorkerCli:
"""Runner instance which executes the Edge Worker."""
@@ -341,6 +346,8 @@ class _EdgeWorkerCli:
signal.signal(signal.SIGINT, _EdgeWorkerCli.signal_handler)
signal.signal(SIG_STATUS, _EdgeWorkerCli.signal_handler)
signal.signal(signal.SIGTERM, self.shutdown_handler)
+ os.environ["HOSTNAME"] = self.hostname
+ os.environ["AIRFLOW__CORE__HOSTNAME_CALLABLE"] =
f"{_edge_hostname.__module__}._edge_hostname"
try:
self.worker_state_changed = self.heartbeat()
self.last_hb = datetime.now()
diff --git a/providers/edge/src/airflow/providers/edge/get_provider_info.py
b/providers/edge/src/airflow/providers/edge/get_provider_info.py
index 14a4075c919..6901217c707 100644
--- a/providers/edge/src/airflow/providers/edge/get_provider_info.py
+++ b/providers/edge/src/airflow/providers/edge/get_provider_info.py
@@ -28,7 +28,7 @@ def get_provider_info():
"description": "Handle edge workers on remote sites via HTTP(s)
connection and orchestrates work over distributed sites\n",
"state": "not-ready",
"source-date-epoch": 1741121867,
- "versions": ["0.20.1b1"],
+ "versions": ["0.20.2b1"],
"plugins": [
{
"name": "edge_executor",