Make rke to use new group structure 92/88692/2
authorMichal Zegan <m.zegan@samsung.com>
Tue, 28 May 2019 15:16:47 +0000 (17:16 +0200)
committerMichal Zegan <m.zegan@samsung.com>
Mon, 3 Jun 2019 12:49:32 +0000 (14:49 +0200)
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 <m.zegan@samsung.com>
ansible/rke.yml
ansible/roles/rke/molecule/default/molecule.yml
ansible/roles/rke/molecule/default/playbook.yml
ansible/roles/rke/molecule/default/tests/test_nodes.py [moved from ansible/roles/rke/molecule/default/tests/test_kubernetes.py with 97% similarity]
ansible/roles/rke/templates/cluster.yml.j2

index e0d6dcf..13e7bb5 100644 (file)
@@ -9,10 +9,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:
index e8e5ad7..444a751 100644 (file)
@@ -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
index 09dbfb8..fab7a0d 100644 (file)
       vars:
         mode: config
 
-- name: Prepare kubernetes nodes (RKE)
-  hosts:
-    - kubernetes
-    - kubernetes-control-plane
+- name: Prepare kubernetes hosts (RKE)
+  hosts: kubernetes
   roles:
     - role: rke
       vars:
@@ -4,7 +4,7 @@ import pytest
 import testinfra.utils.ansible_runner
 
 testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
-    os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('kubernetes')
+    os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('kubernetes-node')
 
 
 @pytest.mark.parametrize('container_name', [
index 64508e6..f28cff8 100644 (file)
@@ -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 %}