Skip to content

Commit

Permalink
6233 dag rollback env (#500)
Browse files Browse the repository at this point in the history
  • Loading branch information
danielhoherd committed May 23, 2024
1 parent e5f82d0 commit 4ab1581
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 24 deletions.
2 changes: 2 additions & 0 deletions templates/dag-deploy/dag-server-statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ spec:
resources:
{{- toYaml .Values.dagDeploy.resources | nindent 12 }}
env:
- name: HOUSTON_SERVICE_ENDPOINT
value: "http://{{ .Values.platform.release }}-houston.{{ .Values.platform.namespace }}.svc.cluster.local.:8871/v1/"
{{- if .Values.dagDeploy.extraEnv }}
{{ toYaml .Values.dagDeploy.extraEnv | indent 10 }}
{{- end }}
Expand Down
90 changes: 66 additions & 24 deletions tests/chart/test_dag_server_statefulset.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,29 @@
from . import get_containers_by_name


def common_default_tests(doc):
"""Test cases for default dag-server sts enabled"""

assert doc["kind"] == "StatefulSet"
assert doc["apiVersion"] == "apps/v1"
assert doc["metadata"]["name"] == "release-name-dag-server"
c_by_name = get_containers_by_name(doc)
assert len(c_by_name) == 1
assert c_by_name["dag-server"]["command"] == [
"sanic",
"dag_deploy.server.app",
"-H",
"0.0.0.0",
]
assert c_by_name["dag-server"]["image"].startswith(
"quay.io/astronomer/ap-dag-deploy:"
)
assert c_by_name["dag-server"]["image"].startswith(
"quay.io/astronomer/ap-dag-deploy:"
)
assert c_by_name["dag-server"]["livenessProbe"]


@pytest.mark.parametrize("kube_version", supported_k8s_versions)
class TestDagServerStatefulSet:
def test_dag_server_statefulset_default(self, kube_version):
Expand All @@ -27,24 +50,43 @@ def test_dag_server_statefulset_dag_server_enabled(self, kube_version):
)
assert len(docs) == 1
doc = docs[0]
assert doc["kind"] == "StatefulSet"
assert doc["apiVersion"] == "apps/v1"
assert doc["metadata"]["name"] == "release-name-dag-server"

common_default_tests(doc)

c_by_name = get_containers_by_name(doc)
assert len(c_by_name) == 1
assert c_by_name["dag-server"]["command"] == [
"sanic",
"dag_deploy.server.app",
"-H",
"0.0.0.0",
]
assert c_by_name["dag-server"]["image"].startswith(
"quay.io/astronomer/ap-dag-deploy:"

env_vars = {x["name"]: x["value"] for x in c_by_name["dag-server"]["env"]}
assert (
env_vars["HOUSTON_SERVICE_ENDPOINT"]
== "http://-houston..svc.cluster.local.:8871/v1/"
)
assert c_by_name["dag-server"]["image"].startswith(
"quay.io/astronomer/ap-dag-deploy:"

def test_dag_server_statefulset_houston_service_endpoint_override(
self, kube_version
):
"""Test that we see the right HOUSTON_SERVICE_ENDPOINT value when the relevant variables are set."""
values = {
"dagDeploy": {"enabled": True},
"platform": {"release": "test-release", "namespace": "test-namespace"},
}

docs = render_chart(
kube_version=kube_version,
show_only="templates/dag-deploy/dag-server-statefulset.yaml",
values=values,
)
assert len(docs) == 1
doc = docs[0]

common_default_tests(doc)

c_by_name = get_containers_by_name(doc)

env_vars = {x["name"]: x["value"] for x in c_by_name["dag-server"]["env"]}
assert (
env_vars["HOUSTON_SERVICE_ENDPOINT"]
== "http://test-release-houston.test-namespace.svc.cluster.local.:8871/v1/"
)
assert c_by_name["dag-server"]["livenessProbe"]

def test_dag_server_statefulset_with_resource_overrides(self, kube_version):
"""Test that Dag Server statefulset are configurable with custom resource limits."""
Expand All @@ -66,9 +108,9 @@ def test_dag_server_statefulset_with_resource_overrides(self, kube_version):
)
assert len(docs) == 1
doc = docs[0]
assert doc["kind"] == "StatefulSet"
assert doc["apiVersion"] == "apps/v1"
assert doc["metadata"]["name"] == "release-name-dag-server"

common_default_tests(doc)

c_by_name = get_containers_by_name(doc)
assert c_by_name["dag-server"]["resources"] == resources

Expand All @@ -86,9 +128,9 @@ def test_dag_server_statefulset_with_securitycontext_overrides(self, kube_versio
)
assert len(docs) == 1
doc = docs[0]
assert doc["kind"] == "StatefulSet"
assert doc["apiVersion"] == "apps/v1"
assert doc["metadata"]["name"] == "release-name-dag-server"

common_default_tests(doc)

assert (
dag_serversecuritycontext
== doc["spec"]["template"]["spec"]["securityContext"]
Expand All @@ -108,9 +150,9 @@ def test_dag_server_statefulset_with_custom_registry_secret(self, kube_version):
)
assert len(docs) == 1
doc = docs[0]
assert doc["kind"] == "StatefulSet"
assert doc["apiVersion"] == "apps/v1"
assert doc["metadata"]["name"] == "release-name-dag-server"

common_default_tests(doc)

assert [{"name": "gscsecret"}] == doc["spec"]["template"]["spec"][
"imagePullSecrets"
]
1 change: 1 addition & 0 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -525,6 +525,7 @@ ingress:

platform:
release: ~
namespace: ~

astronomer:
images:
Expand Down

0 comments on commit 4ab1581

Please sign in to comment.