From 50751bb61080e35ccc979cf1051c91fdf870736e Mon Sep 17 00:00:00 2001 From: Maxime Guyot Date: Tue, 23 Apr 2019 19:37:23 +0200 Subject: [PATCH] Revert "Optimize kube resources creation (#4572)" (#4621) This reverts commit f8fdc0cd939de0e46cd968c6afb0fe91b72f78d0. --- contrib/metallb/roles/provision/tasks/main.yml | 4 +++- .../roles/kubernetes-pv/ansible/tasks/main.yaml | 5 ++++- roles/kubernetes-apps/ansible/tasks/dashboard.yml | 5 ++++- roles/kubernetes-apps/ansible/tasks/main.yml | 11 ++++++++++- roles/kubernetes-apps/ansible/tasks/netchecker.yml | 7 +++++-- roles/kubernetes-apps/cluster_roles/tasks/main.yml | 9 +++++++-- .../nvidia_gpu/tasks/main.yml | 6 +++++- .../cephfs_provisioner/tasks/main.yml | 5 ++++- .../local_path_provisioner/tasks/main.yml | 5 ++++- .../local_volume_provisioner/tasks/main.yml | 7 ++++++- roles/kubernetes-apps/helm/tasks/main.yml | 5 ++++- .../ingress_controller/cert_manager/tasks/main.yml | 8 ++++++-- .../ingress_controller/ingress_nginx/tasks/main.yml | 5 ++++- roles/kubernetes-apps/metrics_server/tasks/main.yml | 5 ++++- .../network_plugin/calico/tasks/main.yml | 10 ++++++++-- .../network_plugin/canal/tasks/main.yml | 7 +++++-- .../network_plugin/cilium/tasks/main.yml | 7 +++++-- .../network_plugin/contiv/tasks/main.yml | 5 ++++- .../network_plugin/flannel/tasks/main.yml | 7 +++++-- .../network_plugin/multus/tasks/main.yml | 7 +++++-- .../policy_controller/calico/tasks/main.yml | 9 ++++++++- roles/kubernetes-apps/registry/tasks/main.yml | 10 ++++++++-- 22 files changed, 118 insertions(+), 31 deletions(-) diff --git a/contrib/metallb/roles/provision/tasks/main.yml b/contrib/metallb/roles/provision/tasks/main.yml index 2bc5f9efe..6b9661de4 100644 --- a/contrib/metallb/roles/provision/tasks/main.yml +++ b/contrib/metallb/roles/provision/tasks/main.yml @@ -8,9 +8,11 @@ - "inventory_hostname == groups['kube-master'][0]" - name: "Kubernetes Apps | Install and configure MetalLB" kube: + name: "MetalLB" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ rendering.results | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + filename: "{{ kube_config_dir }}/{{ item.item }}" state: "{{ item.changed | ternary('latest','present') }}" become: true + with_items: "{{ rendering.results }}" when: - "inventory_hostname == groups['kube-master'][0]" diff --git a/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/tasks/main.yaml b/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/tasks/main.yaml index 001007f49..2e108701a 100644 --- a/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/tasks/main.yaml +++ b/contrib/network-storage/glusterfs/roles/kubernetes-pv/ansible/tasks/main.yaml @@ -10,8 +10,11 @@ - name: Kubernetes Apps | Set GlusterFS endpoint and PV kube: + name: glusterfs namespace: default kubectl: "{{bin_dir}}/kubectl" - filename: "{{ gluster_pv.results | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{item.item.type}}" + filename: "{{kube_config_dir}}/{{item.item.dest}}" state: "{{item.changed | ternary('latest','present') }}" + with_items: "{{ gluster_pv.results }}" when: inventory_hostname == groups['kube-master'][0] and groups['gfs-cluster'] is defined diff --git a/roles/kubernetes-apps/ansible/tasks/dashboard.yml b/roles/kubernetes-apps/ansible/tasks/dashboard.yml index 6f2c7e11f..4c9ad5c74 100644 --- a/roles/kubernetes-apps/ansible/tasks/dashboard.yml +++ b/roles/kubernetes-apps/ansible/tasks/dashboard.yml @@ -21,8 +21,11 @@ - name: Kubernetes Apps | Start dashboard kube: + name: "{{ item.item.name }}" namespace: "kube-system" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/{{ item.item.file }}" state: "latest" + with_items: "{{ manifests.results }}" when: inventory_hostname == groups['kube-master'][0] diff --git a/roles/kubernetes-apps/ansible/tasks/main.yml b/roles/kubernetes-apps/ansible/tasks/main.yml index 196afc23c..166b4ec4c 100644 --- a/roles/kubernetes-apps/ansible/tasks/main.yml +++ b/roles/kubernetes-apps/ansible/tasks/main.yml @@ -38,13 +38,20 @@ - name: Kubernetes Apps | Start Resources kube: + name: "{{ item.item.name }}" namespace: "kube-system" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ (coredns_manifests.results|default([]) + coredns_secondary_manifests.results|default([]) + nodelocaldns_manifests.results|default([])) | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/{{ item.item.file }}" state: "latest" + with_items: + - "{{ coredns_manifests.results | default({}) }}" + - "{{ coredns_secondary_manifests.results | default({}) }}" + - "{{ nodelocaldns_manifests.results | default({}) }}" when: - dns_mode != 'none' - inventory_hostname == groups['kube-master'][0] + - not item is skipped register: resource_result until: resource_result is succeeded retries: 4 @@ -52,6 +59,8 @@ tags: - coredns - nodelocaldns + loop_control: + label: "{{ item.item.file }}" - name: Kubernetes Apps | Netchecker import_tasks: tasks/netchecker.yml diff --git a/roles/kubernetes-apps/ansible/tasks/netchecker.yml b/roles/kubernetes-apps/ansible/tasks/netchecker.yml index c8d9c39de..01720eaf7 100644 --- a/roles/kubernetes-apps/ansible/tasks/netchecker.yml +++ b/roles/kubernetes-apps/ansible/tasks/netchecker.yml @@ -62,8 +62,11 @@ - name: Kubernetes Apps | Start Netchecker Resources kube: + name: "{{item.item.name}}" namespace: "{{netcheck_namespace}}" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{item.item.type}}" + filename: "{{kube_config_dir}}/{{item.item.file}}" state: "latest" - when: inventory_hostname == groups['kube-master'][0] + with_items: "{{ manifests.results }}" + when: inventory_hostname == groups['kube-master'][0] and not item is skipped diff --git a/roles/kubernetes-apps/cluster_roles/tasks/main.yml b/roles/kubernetes-apps/cluster_roles/tasks/main.yml index e7acb57a6..f58dda1bb 100644 --- a/roles/kubernetes-apps/cluster_roles/tasks/main.yml +++ b/roles/kubernetes-apps/cluster_roles/tasks/main.yml @@ -41,16 +41,21 @@ - name: Kubernetes Apps | Add policies, roles, bindings for PodSecurityPolicy kube: + name: "{{item.item.name}}" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ psp_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{item.item.type}}" + filename: "{{kube_config_dir}}/{{item.item.file}}" state: "latest" register: result until: result is succeeded retries: 10 delay: 6 + with_items: "{{ psp_manifests.results }}" when: - - podsecuritypolicy_enabled - inventory_hostname == groups['kube-master'][0] + - not item is skipped + loop_control: + label: "{{ item.item.file }}" - name: Kubernetes Apps | Add ClusterRoleBinding to admit nodes template: diff --git a/roles/kubernetes-apps/container_engine_accelerator/nvidia_gpu/tasks/main.yml b/roles/kubernetes-apps/container_engine_accelerator/nvidia_gpu/tasks/main.yml index dbd93e727..50822be7d 100644 --- a/roles/kubernetes-apps/container_engine_accelerator/nvidia_gpu/tasks/main.yml +++ b/roles/kubernetes-apps/container_engine_accelerator/nvidia_gpu/tasks/main.yml @@ -42,9 +42,13 @@ - name: Container Engine Acceleration Nvidia GPU | Apply manifests for nvidia accelerators kube: + name: "{{ item.item.name }}" namespace: "kube-system" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ container_engine_accelerator_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/container_engine_accelerator/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/addons/container_engine_accelerator/{{ item.item.file }}" state: "latest" + with_items: + - "{{container_engine_accelerator_manifests.results}}" when: - inventory_hostname == groups['kube-master'][0] and nvidia_driver_install_container and nvidia_driver_install_supported diff --git a/roles/kubernetes-apps/external_provisioner/cephfs_provisioner/tasks/main.yml b/roles/kubernetes-apps/external_provisioner/cephfs_provisioner/tasks/main.yml index 4dc9be610..c93ecfde7 100644 --- a/roles/kubernetes-apps/external_provisioner/cephfs_provisioner/tasks/main.yml +++ b/roles/kubernetes-apps/external_provisioner/cephfs_provisioner/tasks/main.yml @@ -69,8 +69,11 @@ - name: CephFS Provisioner | Apply manifests kube: + name: "{{ item.item.name }}" namespace: "{{ cephfs_provisioner_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ cephfs_provisioner_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/cephfs_provisioner/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/addons/cephfs_provisioner/{{ item.item.file }}" state: "latest" + with_items: "{{ cephfs_provisioner_manifests.results }}" when: inventory_hostname == groups['kube-master'][0] diff --git a/roles/kubernetes-apps/external_provisioner/local_path_provisioner/tasks/main.yml b/roles/kubernetes-apps/external_provisioner/local_path_provisioner/tasks/main.yml index 1d7ece7f1..27d52ad7c 100644 --- a/roles/kubernetes-apps/external_provisioner/local_path_provisioner/tasks/main.yml +++ b/roles/kubernetes-apps/external_provisioner/local_path_provisioner/tasks/main.yml @@ -30,8 +30,11 @@ - name: Local Path Provisioner | Apply manifests kube: + name: "{{ item.item.name }}" namespace: "{{ local_path_provisioner_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ local_path_provisioner_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/local_path_provisioner/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/addons/local_path_provisioner/{{ item.item.file }}" state: "latest" + with_items: "{{ local_path_provisioner_manifests.results }}" when: inventory_hostname == groups['kube-master'][0] diff --git a/roles/kubernetes-apps/external_provisioner/local_volume_provisioner/tasks/main.yml b/roles/kubernetes-apps/external_provisioner/local_volume_provisioner/tasks/main.yml index d5a087605..6b970317e 100644 --- a/roles/kubernetes-apps/external_provisioner/local_volume_provisioner/tasks/main.yml +++ b/roles/kubernetes-apps/external_provisioner/local_volume_provisioner/tasks/main.yml @@ -50,8 +50,13 @@ - name: Local Volume Provisioner | Apply manifests kube: + name: "{{ item.item.name }}" namespace: "{{ local_volume_provisioner_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ local_volume_provisioner_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/local_volume_provisioner/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/addons/local_volume_provisioner/{{ item.item.file }}" state: "latest" + with_items: "{{ local_volume_provisioner_manifests.results }}" when: inventory_hostname == groups['kube-master'][0] + loop_control: + label: "{{ item.item.file }}" diff --git a/roles/kubernetes-apps/helm/tasks/main.yml b/roles/kubernetes-apps/helm/tasks/main.yml index 0cb676d43..c8dfd81ba 100644 --- a/roles/kubernetes-apps/helm/tasks/main.yml +++ b/roles/kubernetes-apps/helm/tasks/main.yml @@ -20,10 +20,13 @@ - name: Helm | Apply Helm Manifests (RBAC) kube: + name: "{{item.item.name}}" namespace: "{{ tiller_namespace }}" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{item.item.type}}" + filename: "{{kube_config_dir}}/{{item.item.file}}" state: "latest" + with_items: "{{ manifests.results }}" when: - dns_mode != 'none' - inventory_hostname == groups['kube-master'][0] diff --git a/roles/kubernetes-apps/ingress_controller/cert_manager/tasks/main.yml b/roles/kubernetes-apps/ingress_controller/cert_manager/tasks/main.yml index d8ceb206e..d8ca7ad17 100644 --- a/roles/kubernetes-apps/ingress_controller/cert_manager/tasks/main.yml +++ b/roles/kubernetes-apps/ingress_controller/cert_manager/tasks/main.yml @@ -47,8 +47,12 @@ - name: Cert Manager | Apply manifests kube: + name: "{{ item.item.name }}" namespace: "{{ cert_manager_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ cert_manager_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/cert_manager/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/addons/cert_manager/{{ item.item.file }}" state: "latest" - when: inventory_hostname == groups['kube-master'][0] + with_items: "{{ cert_manager_manifests.results }}" + when: + - inventory_hostname == groups['kube-master'][0] diff --git a/roles/kubernetes-apps/ingress_controller/ingress_nginx/tasks/main.yml b/roles/kubernetes-apps/ingress_controller/ingress_nginx/tasks/main.yml index e4f55caff..c3c5d9c17 100644 --- a/roles/kubernetes-apps/ingress_controller/ingress_nginx/tasks/main.yml +++ b/roles/kubernetes-apps/ingress_controller/ingress_nginx/tasks/main.yml @@ -61,9 +61,12 @@ - name: NGINX Ingress Controller | Apply manifests kube: + name: "{{ item.item.name }}" namespace: "{{ ingress_nginx_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ ingress_nginx_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/ingress_nginx/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/addons/ingress_nginx/{{ item.item.file }}" state: "latest" + with_items: "{{ ingress_nginx_manifests.results }}" when: - inventory_hostname == groups['kube-master'][0] diff --git a/roles/kubernetes-apps/metrics_server/tasks/main.yml b/roles/kubernetes-apps/metrics_server/tasks/main.yml index 2e6ee7ffc..d7dc45443 100644 --- a/roles/kubernetes-apps/metrics_server/tasks/main.yml +++ b/roles/kubernetes-apps/metrics_server/tasks/main.yml @@ -47,8 +47,11 @@ - name: Metrics Server | Apply manifests kube: + name: "{{ item.item.name }}" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ metrics_server_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/metrics_server/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/addons/metrics_server/{{ item.item.file }}" state: "latest" + with_items: "{{ metrics_server_manifests.results }}" when: - inventory_hostname == groups['kube-master'][0] diff --git a/roles/kubernetes-apps/network_plugin/calico/tasks/main.yml b/roles/kubernetes-apps/network_plugin/calico/tasks/main.yml index a88098605..1be16776f 100644 --- a/roles/kubernetes-apps/network_plugin/calico/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/calico/tasks/main.yml @@ -1,12 +1,18 @@ --- - name: Start Calico resources kube: + name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ calico_node_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{item.item.type}}" + filename: "{{kube_config_dir}}/{{item.item.file}}" state: "latest" + with_items: + - "{{ calico_node_manifests.results }}" when: - - inventory_hostname == groups['kube-master'][0] + - inventory_hostname == groups['kube-master'][0] and not item is skipped + loop_control: + label: "{{ item.item.file }}" - name: "calico upgrade complete" shell: "{{ bin_dir }}/calico-upgrade complete --no-prompts --apiconfigv1 /etc/calico/etcdv2.yml --apiconfigv3 /etc/calico/etcdv3.yml" diff --git a/roles/kubernetes-apps/network_plugin/canal/tasks/main.yml b/roles/kubernetes-apps/network_plugin/canal/tasks/main.yml index 3c27e9547..d5776def1 100644 --- a/roles/kubernetes-apps/network_plugin/canal/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/canal/tasks/main.yml @@ -1,8 +1,11 @@ --- - name: Canal | Start Resources kube: + name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ canal_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{item.item.type}}" + filename: "{{kube_config_dir}}/{{item.item.file}}" state: "latest" - when: inventory_hostname == groups['kube-master'][0] + with_items: "{{ canal_manifests.results }}" + when: inventory_hostname == groups['kube-master'][0] and not item is skipped diff --git a/roles/kubernetes-apps/network_plugin/cilium/tasks/main.yml b/roles/kubernetes-apps/network_plugin/cilium/tasks/main.yml index 974a00c7c..363f795a4 100755 --- a/roles/kubernetes-apps/network_plugin/cilium/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/cilium/tasks/main.yml @@ -1,11 +1,14 @@ --- - name: Cilium | Start Resources kube: + name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ cilium_node_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{item.item.type}}" + filename: "{{kube_config_dir}}/{{item.item.file}}" state: "latest" - when: inventory_hostname == groups['kube-master'][0] + with_items: "{{ cilium_node_manifests.results }}" + when: inventory_hostname == groups['kube-master'][0] and not item is skipped - name: Cilium | Wait for pods to run command: "{{bin_dir}}/kubectl -n kube-system get pods -l k8s-app=cilium -o jsonpath='{.items[?(@.status.containerStatuses[0].ready==false)].metadata.name}'" # noqa 601 diff --git a/roles/kubernetes-apps/network_plugin/contiv/tasks/main.yml b/roles/kubernetes-apps/network_plugin/contiv/tasks/main.yml index b694b2d48..1bca92329 100644 --- a/roles/kubernetes-apps/network_plugin/contiv/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/contiv/tasks/main.yml @@ -2,10 +2,13 @@ - name: Contiv | Create Kubernetes resources kube: + name: "{{ item.item.name }}" namespace: "kube-system" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{contiv_manifests_results.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', contiv_config_dir+'/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ contiv_config_dir }}/{{ item.item.file }}" state: "{{ item.changed | ternary('latest','present') }}" + with_items: "{{ contiv_manifests_results.results }}" run_once: true - import_tasks: configure.yml diff --git a/roles/kubernetes-apps/network_plugin/flannel/tasks/main.yml b/roles/kubernetes-apps/network_plugin/flannel/tasks/main.yml index 17a6745f2..2be0739f8 100644 --- a/roles/kubernetes-apps/network_plugin/flannel/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/flannel/tasks/main.yml @@ -1,11 +1,14 @@ --- - name: Flannel | Start Resources kube: + name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ flannel_node_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{item.item.type}}" + filename: "{{kube_config_dir}}/{{item.item.file}}" state: "latest" - when: inventory_hostname == groups['kube-master'][0] + with_items: "{{ flannel_node_manifests.results }}" + when: inventory_hostname == groups['kube-master'][0] and not item is skipped - name: Flannel | Wait for flannel subnet.env file presence wait_for: diff --git a/roles/kubernetes-apps/network_plugin/multus/tasks/main.yml b/roles/kubernetes-apps/network_plugin/multus/tasks/main.yml index f002cca17..9d7669cc7 100644 --- a/roles/kubernetes-apps/network_plugin/multus/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/multus/tasks/main.yml @@ -1,8 +1,11 @@ --- - name: Multus | Start resources kube: + name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ (multus_manifest_1.results + multus_manifest_2.results) | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{item.item.type}}" + filename: "{{kube_config_dir}}/{{item.item.file}}" state: "latest" - when: inventory_hostname == groups['kube-master'][0] + with_items: "{{ multus_manifest_1.results }} + {{multus_manifest_2.results }}" + when: inventory_hostname == groups['kube-master'][0] and not item|skipped diff --git a/roles/kubernetes-apps/policy_controller/calico/tasks/main.yml b/roles/kubernetes-apps/policy_controller/calico/tasks/main.yml index b35403ad7..3dfbf0a37 100644 --- a/roles/kubernetes-apps/policy_controller/calico/tasks/main.yml +++ b/roles/kubernetes-apps/policy_controller/calico/tasks/main.yml @@ -24,9 +24,16 @@ - name: Start of Calico kube controllers kube: + name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ calico_node_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" + resource: "{{item.item.type}}" + filename: "{{kube_config_dir}}/{{item.item.file}}" state: "latest" + with_items: + - "{{ calico_kube_manifests.results }}" when: - inventory_hostname == groups['kube-master'][0] + - not item is skipped + loop_control: + label: "{{ item.item.file }}" \ No newline at end of file diff --git a/roles/kubernetes-apps/registry/tasks/main.yml b/roles/kubernetes-apps/registry/tasks/main.yml index 803fb6a9c..05f8f4703 100644 --- a/roles/kubernetes-apps/registry/tasks/main.yml +++ b/roles/kubernetes-apps/registry/tasks/main.yml @@ -42,10 +42,13 @@ - name: Registry | Apply manifests kube: + name: "{{ item.item.name }}" namespace: "{{ registry_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ registry_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/registry/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/addons/registry/{{ item.item.file }}" state: "latest" + with_items: "{{ registry_manifests.results }}" when: inventory_hostname == groups['kube-master'][0] - name: Registry | Create PVC manifests @@ -62,10 +65,13 @@ - name: Registry | Apply PVC manifests kube: + name: "{{ item.item.name }}" namespace: "{{ registry_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - filename: "{{ registry_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/registry/\\1') | list }}" + resource: "{{ item.item.type }}" + filename: "{{ kube_config_dir }}/addons/registry/{{ item.item.file }}" state: "latest" + with_items: "{{ registry_manifests.results }}" when: - registry_storage_class != none and registry_storage_class != "" - registry_disk_size != none and registry_disk_size != ""