Miretpl commented on code in PR #65486:
URL: https://github.com/apache/airflow/pull/65486#discussion_r3120032712
##########
helm-tests/tests/helm_tests/airflow_core/test_worker_sets.py:
##########
@@ -1633,6 +1633,94 @@ def test_overwrite_keda_query(self, workers_values):
assert jmespath.search("spec.triggers[0].metadata.query", docs[0]) ==
"test"
+ @pytest.mark.parametrize(
+ ("queue", "expected_in_query"),
+ [
+ ("cpu", "queue IN ('cpu')"),
+ ("highcpu,highmem", "queue IN ('highcpu','highmem')"),
+ ],
+ )
+ def test_overwrite_queue_keda_query(self, queue, expected_in_query):
+ docs = render_chart(
+ name="test",
+ values={
+ "workers": {
+ "celery": {
+ "keda": {"enabled": True},
+ "enableDefault": False,
+ "sets": [{"name": "worker-set", "queue": queue}],
+ },
+ },
+ },
+ show_only=["templates/workers/worker-kedaautoscaler.yaml"],
+ )
+
+ assert len(docs) == 1
+ query = jmespath.search("spec.triggers[0].metadata.query", docs[0])
+ assert expected_in_query in query
+ assert "queue IN ('default')" not in query
+
+ @pytest.mark.parametrize(
+ ("queue", "expected_in_query"),
+ [
+ ("cpu", "queue IN ('cpu')"),
+ ("highcpu,highmem", "queue IN ('highcpu','highmem')"),
+ ],
+ )
+ def test_overwrite_queue_keda_query_with_default(self, queue,
expected_in_query):
+ docs = render_chart(
+ name="test",
+ values={
+ "workers": {
+ "celery": {
+ "keda": {"enabled": True},
+ "enableDefault": True,
+ "sets": [{"name": "worker-set", "queue": queue}],
+ },
+ },
+ },
+ show_only=["templates/workers/worker-kedaautoscaler.yaml"],
+ )
+
+ assert len(docs) == 2
+ by_name = {d["metadata"]["name"]: d for d in docs}
+ set_query = jmespath.search("spec.triggers[0].metadata.query",
by_name["test-worker-worker-set"])
+ default_query = jmespath.search("spec.triggers[0].metadata.query",
by_name["test-worker"])
+ assert expected_in_query in set_query
+ assert "queue IN ('default')" not in set_query
+ assert "queue IN ('default')" in default_query
+ assert expected_in_query not in default_query
+
+ @pytest.mark.parametrize(
+ "workers_values",
+ [
+ {
+ "keda": {"enabled": True, "pollingInterval": 10},
+ "celery": {
+ "enableDefault": True,
+ "sets": [{"name": "worker-set"}],
+ },
+ },
+ {
+ "celery": {
+ "keda": {"enabled": True, "pollingInterval": 10},
+ "enableDefault": True,
+ "sets": [{"name": "worker-set"}],
+ },
+ },
+ ],
+ )
+ def test_overwrite_parent_keda_propagates_to_sets(self, workers_values):
+ docs = render_chart(
+ name="test",
+ values={"workers": workers_values},
+ show_only=["templates/workers/worker-kedaautoscaler.yaml"],
+ )
+
+ assert len(docs) == 2
+ for doc in docs:
+ assert jmespath.search("spec.pollingInterval", doc) == 10
+
Review Comment:
```suggestion
```
I see now that we actually do not need this one test case, as the `queue`
parameter is only available within the `workers.celery` section. Sorry for the
confusion.
--
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]