justinpakzad commented on code in PR #69768:
URL: https://github.com/apache/airflow/pull/69768#discussion_r3609160757
##########
airflow-core/src/airflow/dag_processing/dagbag.py:
##########
@@ -161,6 +162,30 @@ def _validate_executor_fields(dag: DAG, bundle_name: str |
None = None) -> None:
)
+def _assign_default_team_pools(
+ dag: DAG,
+ bundle_name: str | None = None,
+) -> None:
+ """Assign the default team pool to tasks that do not explicitly specify a
pool."""
+ dag_team_name = None
+
+ if conf.getboolean("core", "multi_team"):
+ if bundle_name:
+ from airflow.dag_processing.bundles.manager import
DagBundlesManager
+
+ bundle_manager = DagBundlesManager()
+ bundle_config = bundle_manager._bundle_config[bundle_name]
+
+ dag_team_name = bundle_config.team_name
+
+ if not dag_team_name:
+ return
+
+ for task in dag.tasks:
+ if task.pool == Pool.DEFAULT_POOL_NAME:
+ task.pool = Pool.get_default_team_pool_name(dag_team_name)
Review Comment:
Thanks for addressing the comments. The only thing I would still point out
is that users with existing teams would need to run `teams sync` (after this
change is out) to avoid tasks being assigned a pool that doesn't exist. Is it
worth documenting that somewhere?
Another minor edge case (non-blocking) - if someone changed the number of
slots on a default team pool and then ran `teams sync` this would reset the
number of slots back to the `default_pool_task_slot_count`. Cant imagine this
would happen often though.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]