From 89e6314a29895247013929828817acbc4a1f6ea5 Mon Sep 17 00:00:00 2001 From: Michal Zegan Date: Tue, 28 May 2019 17:16:47 +0200 Subject: Make rke to use new group structure Rke playbook/role is modified to take advantage of the new group structure. Namely, all members of kubernetes group are treated as cluster members independent of their role. The role itself is selected in cluster.yml.j2 template based on actual membership in either kubernetes-node or kubernetes-control-plane group. Change-Id: I9a5bbfd090aff17018a610a01d6f88d848fc26c4 Issue-ID: OOM-1778 Signed-off-by: Michal Zegan --- ansible/roles/rke/molecule/default/molecule.yml | 3 +++ ansible/roles/rke/molecule/default/playbook.yml | 6 ++---- ansible/roles/rke/molecule/default/tests/test_kubernetes.py | 13 ------------- ansible/roles/rke/molecule/default/tests/test_nodes.py | 13 +++++++++++++ ansible/roles/rke/templates/cluster.yml.j2 | 6 ++---- 5 files changed, 20 insertions(+), 21 deletions(-) delete mode 100644 ansible/roles/rke/molecule/default/tests/test_kubernetes.py create mode 100644 ansible/roles/rke/molecule/default/tests/test_nodes.py (limited to 'ansible/roles/rke') diff --git a/ansible/roles/rke/molecule/default/molecule.yml b/ansible/roles/rke/molecule/default/molecule.yml index e8e5ad76..444a7519 100644 --- a/ansible/roles/rke/molecule/default/molecule.yml +++ b/ansible/roles/rke/molecule/default/molecule.yml @@ -20,6 +20,7 @@ platforms: groups: - infrastructure - kubernetes-control-plane + - kubernetes networks: - name: rke purge_networks: true @@ -37,6 +38,7 @@ platforms: - /var/lib/docker groups: - kubernetes + - kubernetes-node networks: - name: rke purge_networks: true @@ -54,6 +56,7 @@ platforms: - /var/lib/docker groups: - kubernetes + - kubernetes-node networks: - name: rke purge_networks: true diff --git a/ansible/roles/rke/molecule/default/playbook.yml b/ansible/roles/rke/molecule/default/playbook.yml index 09dbfb8e..fab7a0d0 100644 --- a/ansible/roles/rke/molecule/default/playbook.yml +++ b/ansible/roles/rke/molecule/default/playbook.yml @@ -13,10 +13,8 @@ vars: mode: config -- name: Prepare kubernetes nodes (RKE) - hosts: - - kubernetes - - kubernetes-control-plane +- name: Prepare kubernetes hosts (RKE) + hosts: kubernetes roles: - role: rke vars: diff --git a/ansible/roles/rke/molecule/default/tests/test_kubernetes.py b/ansible/roles/rke/molecule/default/tests/test_kubernetes.py deleted file mode 100644 index 887494fa..00000000 --- a/ansible/roles/rke/molecule/default/tests/test_kubernetes.py +++ /dev/null @@ -1,13 +0,0 @@ -import os -import pytest - -import testinfra.utils.ansible_runner - -testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( - os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('kubernetes') - - -@pytest.mark.parametrize('container_name', [ - 'etcd', 'kubelet', 'kube-proxy']) -def test_container_running(host, container_name): - assert host.docker(container_name).is_running diff --git a/ansible/roles/rke/molecule/default/tests/test_nodes.py b/ansible/roles/rke/molecule/default/tests/test_nodes.py new file mode 100644 index 00000000..fcc5e7e6 --- /dev/null +++ b/ansible/roles/rke/molecule/default/tests/test_nodes.py @@ -0,0 +1,13 @@ +import os +import pytest + +import testinfra.utils.ansible_runner + +testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( + os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('kubernetes-node') + + +@pytest.mark.parametrize('container_name', [ + 'etcd', 'kubelet', 'kube-proxy']) +def test_container_running(host, container_name): + assert host.docker(container_name).is_running diff --git a/ansible/roles/rke/templates/cluster.yml.j2 b/ansible/roles/rke/templates/cluster.yml.j2 index 64508e6f..f28cff80 100644 --- a/ansible/roles/rke/templates/cluster.yml.j2 +++ b/ansible/roles/rke/templates/cluster.yml.j2 @@ -1,7 +1,5 @@ nodes: -{# Note that we iterate through all nodes in relevant groups. -We check which groups they belong to exactly later to determine roles. #} -{% for node in groups['kubernetes'] | union(groups['kubernetes-control-plane']) %} +{% for node in groups['kubernetes'] %} - address: "{{ hostvars[node].cluster_ip }}" port: "22" internal_address: "{{ hostvars[node].cluster_ip }}" @@ -9,7 +7,7 @@ We check which groups they belong to exactly later to determine roles. #} {% if node in groups['kubernetes-control-plane'] %} - controlplane {% endif %} -{% if node in groups['kubernetes'] %} +{% if node in groups['kubernetes-node'] %} - worker - etcd {% endif %} -- cgit 1.2.3-korg