diff --git a/airflow/models/baseoperator.py b/airflow/models/baseoperator.py index 6cc8a2d0612ca..b3572ed7b5285 100644 --- a/airflow/models/baseoperator.py +++ b/airflow/models/baseoperator.py @@ -394,7 +394,7 @@ def __init__( d=dag.dag_id if dag else "", t=task_id, tr=weight_rule)) self.weight_rule = weight_rule - self.resources = Resources(*resources) if resources is not None else None + self.resources = Resources(**resources) if resources is not None else None self.run_as_user = run_as_user self.task_concurrency = task_concurrency self.executor_config = executor_config or {} diff --git a/tests/models/test_baseoperator.py b/tests/models/test_baseoperator.py index 2716422edc422..9d2b99b33b370 100644 --- a/tests/models/test_baseoperator.py +++ b/tests/models/test_baseoperator.py @@ -256,3 +256,12 @@ def test_override_jinja_env_option(self): result = task.render_template("{{ foo }}", {"foo": "bar"}) self.assertEqual(result, "bar") + + def test_default_resources(self): + task = DummyOperator(task_id="default-resources") + self.assertIsNone(task.resources) + + def test_custom_resources(self): + task = DummyOperator(task_id="custom-resources", resources={"cpus": 1, "ram": 1024}) + self.assertEqual(task.resources.cpus.qty, 1) + self.assertEqual(task.resources.ram.qty, 1024)