This is an automated email from the ASF dual-hosted git repository.
potiuk 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 f2e92eb6a2 airflow deprecated settings session_lifetime_days,
force_log_out_after and policy removal (#41550)
f2e92eb6a2 is described below
commit f2e92eb6a2a949f5f4a7214b99d044bfd845c4c6
Author: Gopal Dirisala <[email protected]>
AuthorDate: Mon Aug 19 02:56:17 2024 +0530
airflow deprecated settings session_lifetime_days, force_log_out_after and
policy removal (#41550)
* airflow deprecated settings session_lifetime_days, force_log_out_after
and policy removal
* news fragment added
* news fragment updated
* news fragment updated
* news fragment updated
---
airflow/settings.py | 30 +-----------------------------
newsfragments/41550.significant.rst | 3 +++
tests/core/test_settings.py | 18 ++++++------------
3 files changed, 10 insertions(+), 41 deletions(-)
diff --git a/airflow/settings.py b/airflow/settings.py
index c780ccd6c5..49385dcd06 100644
--- a/airflow/settings.py
+++ b/airflow/settings.py
@@ -36,7 +36,7 @@ from sqlalchemy.pool import NullPool
from airflow import __version__ as airflow_version, policies
from airflow.configuration import AIRFLOW_HOME, WEBSERVER_CONFIG, conf #
noqa: F401
-from airflow.exceptions import AirflowInternalRuntimeError,
RemovedInAirflow3Warning
+from airflow.exceptions import AirflowInternalRuntimeError
from airflow.executors import executor_constants
from airflow.logging_config import configure_logging
from airflow.utils.orm_event_handlers import setup_event_handlers
@@ -671,25 +671,7 @@ def prepare_syspath():
def get_session_lifetime_config():
"""Get session timeout configs and handle outdated configs gracefully."""
session_lifetime_minutes = conf.get("webserver",
"session_lifetime_minutes", fallback=None)
- session_lifetime_days = conf.get("webserver", "session_lifetime_days",
fallback=None)
- uses_deprecated_lifetime_configs = session_lifetime_days or conf.get(
- "webserver", "force_log_out_after", fallback=None
- )
-
minutes_per_day = 24 * 60
- default_lifetime_minutes = "43200"
- if uses_deprecated_lifetime_configs and session_lifetime_minutes ==
default_lifetime_minutes:
- warnings.warn(
- "`session_lifetime_days` option from `[webserver]` section has
been "
- "renamed to `session_lifetime_minutes`. The new option allows to
configure "
- "session lifetime in minutes. The `force_log_out_after` option has
been removed "
- "from `[webserver]` section. Please update your configuration.",
- category=RemovedInAirflow3Warning,
- stacklevel=2,
- )
- if session_lifetime_days:
- session_lifetime_minutes = minutes_per_day *
int(session_lifetime_days)
-
if not session_lifetime_minutes:
session_lifetime_days = 30
session_lifetime_minutes = minutes_per_day * session_lifetime_days
@@ -721,16 +703,6 @@ def import_local_settings():
else:
names = {n for n in airflow_local_settings.__dict__ if not
n.startswith("__")}
- if "policy" in names and "task_policy" not in names:
- warnings.warn(
- "Using `policy` in airflow_local_settings.py is deprecated. "
- "Please rename your `policy` to `task_policy`.",
- RemovedInAirflow3Warning,
- stacklevel=2,
- )
- setattr(airflow_local_settings, "task_policy",
airflow_local_settings.policy)
- names.remove("policy")
-
plugin_functions = policies.make_plugin_from_local_settings(
POLICY_PLUGIN_MANAGER, airflow_local_settings, names
)
diff --git a/newsfragments/41550.significant.rst
b/newsfragments/41550.significant.rst
new file mode 100644
index 0000000000..7589419f12
--- /dev/null
+++ b/newsfragments/41550.significant.rst
@@ -0,0 +1,3 @@
+Removed deprecated ``session_lifetime_days`` and ``force_log_out_after``
configuration parameters from ``webserver`` section. Please use
``session_lifetime_minutes``.
+
+Removed deprecated ``policy`` parameter from ``airflow_local_settings``.
Please use ``task_policy``.
diff --git a/tests/core/test_settings.py b/tests/core/test_settings.py
index d05344bfa9..c463b77132 100644
--- a/tests/core/test_settings.py
+++ b/tests/core/test_settings.py
@@ -213,21 +213,15 @@ class TestLocalSettings:
class TestUpdatedConfigNames:
- @conf_vars(
- {("webserver", "session_lifetime_days"): "5", ("webserver",
"session_lifetime_minutes"): "43200"}
- )
- def
test_updates_deprecated_session_timeout_config_val_when_new_config_val_is_default(self):
+ @conf_vars({("webserver", "session_lifetime_minutes"): "43200"})
+ def test_config_val_is_default(self):
from airflow import settings
- with pytest.warns(DeprecationWarning):
- session_lifetime_config = settings.get_session_lifetime_config()
- minutes_in_five_days = 5 * 24 * 60
- assert session_lifetime_config == minutes_in_five_days
+ session_lifetime_config = settings.get_session_lifetime_config()
+ assert session_lifetime_config == 43200
- @conf_vars(
- {("webserver", "session_lifetime_days"): "5", ("webserver",
"session_lifetime_minutes"): "43201"}
- )
- def test_uses_updated_session_timeout_config_when_val_is_not_default(self):
+ @conf_vars({("webserver", "session_lifetime_minutes"): "43201"})
+ def test_config_val_is_not_default(self):
from airflow import settings
session_lifetime_config = settings.get_session_lifetime_config()