From 3fb2af5a57c6717adb23c0f1a6bff598ea3c7f24 Mon Sep 17 00:00:00 2001 From: pierrejeambrun Date: Thu, 15 May 2025 17:14:34 +0200 Subject: [PATCH] Move grid_view_sorting_order config to api --- .../src/airflow/cli/commands/config_command.py | 5 +++++ .../src/airflow/config_templates/config.yml | 14 +++++++------- airflow-core/src/airflow/configuration.py | 3 ++- airflow-core/src/airflow/utils/task_group.py | 2 +- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/airflow-core/src/airflow/cli/commands/config_command.py b/airflow-core/src/airflow/cli/commands/config_command.py index faf3999cde9d1..130f829daa051 100644 --- a/airflow-core/src/airflow/cli/commands/config_command.py +++ b/airflow-core/src/airflow/cli/commands/config_command.py @@ -425,6 +425,11 @@ def message(self) -> str | None: renamed_to=ConfigParameter("api", "access_logfile"), breaking=True, ), + ConfigChange( + config=ConfigParameter("webserver", "grid_view_sorting_order"), + renamed_to=ConfigParameter("api", "grid_view_sorting_order"), + breaking=True, + ), ConfigChange( config=ConfigParameter("webserver", "error_logfile"), was_deprecated=False, diff --git a/airflow-core/src/airflow/config_templates/config.yml b/airflow-core/src/airflow/config_templates/config.yml index fa8684ed92541..b98895d186be5 100644 --- a/airflow-core/src/airflow/config_templates/config.yml +++ b/airflow-core/src/airflow/config_templates/config.yml @@ -1405,6 +1405,13 @@ api: version_added: 2.7.0 example: ~ default: "False" + grid_view_sorting_order: + description: | + Sorting order in grid view. Valid values are: ``topological``, ``hierarchical_alphabetical`` + version_added: 2.7.0 + type: string + example: ~ + default: "topological" workers: description: Configuration related to workers that run Airflow tasks. options: @@ -1707,13 +1714,6 @@ webserver: sensitive: true example: ~ default: "{SECRET_KEY}" - grid_view_sorting_order: - description: | - Sorting order in grid view. Valid values are: ``topological``, ``hierarchical_alphabetical`` - version_added: 2.7.0 - type: string - example: ~ - default: "topological" log_fetch_timeout_sec: description: | The amount of time (in secs) webserver will wait for initial handshake diff --git a/airflow-core/src/airflow/configuration.py b/airflow-core/src/airflow/configuration.py index 592a060307def..e60afbd3c954c 100644 --- a/airflow-core/src/airflow/configuration.py +++ b/airflow-core/src/airflow/configuration.py @@ -358,6 +358,7 @@ def sensitive_config_values(self) -> set[tuple[str, str]]: ("api", "expose_config"): ("webserver", "expose_config", "3.0.1"), ("fab", "access_denied_message"): ("webserver", "access_denied_message", "3.0.2"), ("fab", "expose_hostname"): ("webserver", "expose_hostname", "3.0.2"), + ("api", "grid_view_sorting_order"): ("webserver", "grid_view_sorting_order", "3.1.0"), } # A mapping of new section -> (old section, since_version). @@ -409,7 +410,7 @@ def inversed_deprecated_sections(self): # celery_logging_level can be empty, which uses logging_level as fallback ("logging", "celery_logging_level"): [*_available_logging_levels, ""], ("webserver", "analytical_tool"): ["google_analytics", "metarouter", "segment", "matomo", ""], - ("webserver", "grid_view_sorting_order"): ["topological", "hierarchical_alphabetical"], + ("api", "grid_view_sorting_order"): ["topological", "hierarchical_alphabetical"], } upgraded_values: dict[tuple[str, str], str] diff --git a/airflow-core/src/airflow/utils/task_group.py b/airflow-core/src/airflow/utils/task_group.py index 034eb6d1bb895..fa7396b85e800 100644 --- a/airflow-core/src/airflow/utils/task_group.py +++ b/airflow-core/src/airflow/utils/task_group.py @@ -36,7 +36,7 @@ @cache def get_task_group_children_getter() -> Callable: """Get the Task Group Children Getter for the DAG.""" - sort_order = conf.get("webserver", "grid_view_sorting_order") + sort_order = conf.get("api", "grid_view_sorting_order") if sort_order == "topological": return methodcaller("topological_sort") return methodcaller("hierarchical_alphabetical_sort")