From f959a1c178ac71dd3c0433b3aa897c9d60ef1dc5 Mon Sep 17 00:00:00 2001 From: Cory Johns Date: Thu, 29 Apr 2021 15:27:09 -0400 Subject: [PATCH] Move test to new LB relation pattern and use edge charms --- tests/data/bundle.yaml | 7 +++-- .../test_kubernetes_master_integration.py | 28 +++++++++++++------ 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/tests/data/bundle.yaml b/tests/data/bundle.yaml index 6ba9c1b2..56b2eb8e 100644 --- a/tests/data/bundle.yaml +++ b/tests/data/bundle.yaml @@ -10,13 +10,16 @@ machines: services: containerd: charm: cs:~containers/containerd + channel: edge easyrsa: charm: cs:~containers/easyrsa + channel: edge num_units: 1 to: - '1' etcd: charm: cs:~containers/etcd + channel: edge num_units: 1 options: channel: 3.4/stable @@ -24,6 +27,7 @@ services: - '0' flannel: charm: cs:~containers/flannel + channel: edge kubernetes-master: charm: {{master_charm}} constraints: cores=2 mem=4G root-disk=16G @@ -35,6 +39,7 @@ services: - '0' kubernetes-worker: charm: cs:~containers/kubernetes-worker + channel: edge constraints: cores=4 mem=4G root-disk=16G expose: true num_units: 1 @@ -43,8 +48,6 @@ services: to: - '1' relations: -- - kubernetes-master:kube-api-endpoint - - kubernetes-worker:kube-api-endpoint - - kubernetes-master:kube-control - kubernetes-worker:kube-control - - kubernetes-master:certificates diff --git a/tests/integration/test_kubernetes_master_integration.py b/tests/integration/test_kubernetes_master_integration.py index b12774f7..75bdee9e 100644 --- a/tests/integration/test_kubernetes_master_integration.py +++ b/tests/integration/test_kubernetes_master_integration.py @@ -6,6 +6,17 @@ log = logging.getLogger(__name__) +def _check_status_messages(ops_test): + """ Validate that the status messages are correct. """ + expected_messages = { + "kubernetes-master": "Kubernetes master running.", + "kubernetes-worker": "Kubernetes worker running.", + } + for app, message in expected_messages.items(): + for unit in ops_test.model.applications[app].units: + assert unit.workload_status_message == message + + @pytest.mark.abort_on_fail async def test_build_and_deploy(ops_test): bundle = ops_test.render_bundle( @@ -13,14 +24,13 @@ async def test_build_and_deploy(ops_test): ) await ops_test.model.deploy(bundle) await ops_test.model.wait_for_idle(wait_for_active=True, timeout=60 * 60) + _check_status_messages(ops_test) -async def test_status_messages(ops_test): - """ Validate that the status messages are correct. """ - expected_messages = { - "kubernetes-master": "Kubernetes master running.", - "kubernetes-worker": "Kubernetes worker running.", - } - for app, message in expected_messages.items(): - for unit in ops_test.model.applications[app].units: - assert unit.workload_status_message == message +async def test_kube_api_endpoint(ops_test): + """ Validate that adding the kube-api-endpoint relation works """ + await ops_test.model.add_relation( + "kubernetes-master:kube-api-endpoint", "kubernetes-worker:kube-api-endpoint" + ) + await ops_test.model.wait_for_idle(wait_for_active=True, timeout=10 * 60) + _check_status_messages(ops_test)