diff --git a/contrib/metallb/roles/provision/tasks/main.yml b/contrib/metallb/roles/provision/tasks/main.yml index 6b9661de41eb4b29cf33e91d872adb611f1535da..2bc5f9efe80b5730fea20fa6fb14a88845ddcfbe 100644 --- a/contrib/metallb/roles/provision/tasks/main.yml +++ b/contrib/metallb/roles/provision/tasks/main.yml @@ -8,11 +8,9 @@ - "inventory_hostname == groups['kube-master'][0]" - name: "Kubernetes Apps | Install and configure MetalLB" kube: - name: "MetalLB" kubectl: "{{bin_dir}}/kubectl" - filename: "{{ kube_config_dir }}/{{ item.item }}" + filename: "{{ rendering.results | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" 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 2e108701aaf5fa30a83e2f9cb6837794bbc8a9f7..001007f49b678617691675cca302f42980ce2554 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,11 +10,8 @@ - name: Kubernetes Apps | Set GlusterFS endpoint and PV kube: - name: glusterfs namespace: default kubectl: "{{bin_dir}}/kubectl" - resource: "{{item.item.type}}" - filename: "{{kube_config_dir}}/{{item.item.dest}}" + filename: "{{ gluster_pv.results | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" 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 4c9ad5c7426f97074322b171d3b3d5866ad2ea71..6f2c7e11f1a0c6457e762482b9ec70518946787d 100644 --- a/roles/kubernetes-apps/ansible/tasks/dashboard.yml +++ b/roles/kubernetes-apps/ansible/tasks/dashboard.yml @@ -21,11 +21,8 @@ - name: Kubernetes Apps | Start dashboard kube: - name: "{{ item.item.name }}" namespace: "kube-system" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/{{ item.item.file }}" + filename: "{{ manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" 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 166b4ec4ccd08e1f4105cb12e82749f76c5eef83..196afc23caaa82b23037e572fe9c1ce376790731 100644 --- a/roles/kubernetes-apps/ansible/tasks/main.yml +++ b/roles/kubernetes-apps/ansible/tasks/main.yml @@ -38,20 +38,13 @@ - name: Kubernetes Apps | Start Resources kube: - name: "{{ item.item.name }}" namespace: "kube-system" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/{{ item.item.file }}" + 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 }}" 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 @@ -59,8 +52,6 @@ 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 01720eaf7c7a548e4d4b5dc5c29eb3913de2efc5..c8d9c39de66a6638a2e1129ff824d9c16c748e8a 100644 --- a/roles/kubernetes-apps/ansible/tasks/netchecker.yml +++ b/roles/kubernetes-apps/ansible/tasks/netchecker.yml @@ -62,11 +62,8 @@ - name: Kubernetes Apps | Start Netchecker Resources kube: - name: "{{item.item.name}}" namespace: "{{netcheck_namespace}}" kubectl: "{{bin_dir}}/kubectl" - resource: "{{item.item.type}}" - filename: "{{kube_config_dir}}/{{item.item.file}}" + filename: "{{ manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" state: "latest" - with_items: "{{ manifests.results }}" - when: inventory_hostname == groups['kube-master'][0] and not item is skipped + when: inventory_hostname == groups['kube-master'][0] diff --git a/roles/kubernetes-apps/cluster_roles/tasks/main.yml b/roles/kubernetes-apps/cluster_roles/tasks/main.yml index f58dda1bb06b1ab61980a7496c4c9e33c1a7204f..e7acb57a646f571da78d0bd04aaae2fdadeb0972 100644 --- a/roles/kubernetes-apps/cluster_roles/tasks/main.yml +++ b/roles/kubernetes-apps/cluster_roles/tasks/main.yml @@ -41,21 +41,16 @@ - name: Kubernetes Apps | Add policies, roles, bindings for PodSecurityPolicy kube: - name: "{{item.item.name}}" kubectl: "{{bin_dir}}/kubectl" - resource: "{{item.item.type}}" - filename: "{{kube_config_dir}}/{{item.item.file}}" + filename: "{{ psp_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" 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 50822be7d4678b1e655fb4a01927e984a795c241..dbd93e727718d407b91214871245b4680b4330ec 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,13 +42,9 @@ - name: Container Engine Acceleration Nvidia GPU | Apply manifests for nvidia accelerators kube: - name: "{{ item.item.name }}" namespace: "kube-system" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/addons/container_engine_accelerator/{{ item.item.file }}" + 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 }}" 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 c93ecfde79b35bf8e7e4016dd59cd67f3f442e2b..4dc9be61027b439554837e9648abdb88d061f439 100644 --- a/roles/kubernetes-apps/external_provisioner/cephfs_provisioner/tasks/main.yml +++ b/roles/kubernetes-apps/external_provisioner/cephfs_provisioner/tasks/main.yml @@ -69,11 +69,8 @@ - name: CephFS Provisioner | Apply manifests kube: - name: "{{ item.item.name }}" namespace: "{{ cephfs_provisioner_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/addons/cephfs_provisioner/{{ item.item.file }}" + 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 }}" 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 27d52ad7c7ad3dd3d0369c77ebc8412f07130366..1d7ece7f152d7bb1d99cc8762ce997f8f69ea835 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,11 +30,8 @@ - name: Local Path Provisioner | Apply manifests kube: - name: "{{ item.item.name }}" namespace: "{{ local_path_provisioner_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/addons/local_path_provisioner/{{ item.item.file }}" + 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 }}" 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 6b970317eba49808913d134c0296059d6f6cc004..d5a0876059e9d4700d3e854b8371381793900674 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,13 +50,8 @@ - name: Local Volume Provisioner | Apply manifests kube: - name: "{{ item.item.name }}" namespace: "{{ local_volume_provisioner_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/addons/local_volume_provisioner/{{ item.item.file }}" + 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 }}" 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 c8dfd81bab0fe6f59c50f7ff2a492e103c1b4dec..0cb676d438fbec6b13c39e161ed3003578a002e6 100644 --- a/roles/kubernetes-apps/helm/tasks/main.yml +++ b/roles/kubernetes-apps/helm/tasks/main.yml @@ -20,13 +20,10 @@ - name: Helm | Apply Helm Manifests (RBAC) kube: - name: "{{item.item.name}}" namespace: "{{ tiller_namespace }}" kubectl: "{{bin_dir}}/kubectl" - resource: "{{item.item.type}}" - filename: "{{kube_config_dir}}/{{item.item.file}}" + filename: "{{ manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" 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 d8ca7ad1735f4643d7f9f01fa652a198812f2d06..d8ceb206eced4b3e241255ff0860e6211bd2dfcf 100644 --- a/roles/kubernetes-apps/ingress_controller/cert_manager/tasks/main.yml +++ b/roles/kubernetes-apps/ingress_controller/cert_manager/tasks/main.yml @@ -47,12 +47,8 @@ - name: Cert Manager | Apply manifests kube: - name: "{{ item.item.name }}" namespace: "{{ cert_manager_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/addons/cert_manager/{{ item.item.file }}" + 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 }}" state: "latest" - with_items: "{{ cert_manager_manifests.results }}" - when: - - inventory_hostname == groups['kube-master'][0] + 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 c3c5d9c17565b803e18c569bd5e736a20c83b918..e4f55caff8e2a34b6f6d76415af6372a6188310e 100644 --- a/roles/kubernetes-apps/ingress_controller/ingress_nginx/tasks/main.yml +++ b/roles/kubernetes-apps/ingress_controller/ingress_nginx/tasks/main.yml @@ -61,12 +61,9 @@ - name: NGINX Ingress Controller | Apply manifests kube: - name: "{{ item.item.name }}" namespace: "{{ ingress_nginx_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/addons/ingress_nginx/{{ item.item.file }}" + 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 }}" 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 d7dc45443a2f3b73530db3479a8093cd89c06272..2e6ee7ffcc25f65573e6a4103fe9b484a6d15480 100644 --- a/roles/kubernetes-apps/metrics_server/tasks/main.yml +++ b/roles/kubernetes-apps/metrics_server/tasks/main.yml @@ -47,11 +47,8 @@ - name: Metrics Server | Apply manifests kube: - name: "{{ item.item.name }}" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/addons/metrics_server/{{ item.item.file }}" + 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 }}" 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 1be16776f8917cf8512ebcc4c7487fc71c3bf500..a880986053b058b0512484d46322cc2b259cd68b 100644 --- a/roles/kubernetes-apps/network_plugin/calico/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/calico/tasks/main.yml @@ -1,18 +1,12 @@ --- - name: Start Calico resources kube: - name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - resource: "{{item.item.type}}" - filename: "{{kube_config_dir}}/{{item.item.file}}" + filename: "{{ calico_node_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" state: "latest" - with_items: - - "{{ calico_node_manifests.results }}" when: - - inventory_hostname == groups['kube-master'][0] and not item is skipped - loop_control: - label: "{{ item.item.file }}" + - inventory_hostname == groups['kube-master'][0] - 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 d5776def15172389aef7cb92400027311483b932..3c27e9547c8e1effc6c5d779f8c58ffa670fa088 100644 --- a/roles/kubernetes-apps/network_plugin/canal/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/canal/tasks/main.yml @@ -1,11 +1,8 @@ --- - name: Canal | Start Resources kube: - name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - resource: "{{item.item.type}}" - filename: "{{kube_config_dir}}/{{item.item.file}}" + filename: "{{ canal_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" state: "latest" - with_items: "{{ canal_manifests.results }}" - when: inventory_hostname == groups['kube-master'][0] and not item is skipped + when: inventory_hostname == groups['kube-master'][0] diff --git a/roles/kubernetes-apps/network_plugin/cilium/tasks/main.yml b/roles/kubernetes-apps/network_plugin/cilium/tasks/main.yml index 363f795a4e9b3cb9c3fe7327080b74c2f612b18a..974a00c7c8ec86e3a49856c00333c96fbf57b8d1 100755 --- a/roles/kubernetes-apps/network_plugin/cilium/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/cilium/tasks/main.yml @@ -1,14 +1,11 @@ --- - name: Cilium | Start Resources kube: - name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - resource: "{{item.item.type}}" - filename: "{{kube_config_dir}}/{{item.item.file}}" + filename: "{{ cilium_node_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" state: "latest" - with_items: "{{ cilium_node_manifests.results }}" - when: inventory_hostname == groups['kube-master'][0] and not item is skipped + when: inventory_hostname == groups['kube-master'][0] - 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 1bca923294d1bc522473c21830b06b853aa89edd..b694b2d485ac5cd89c9a15bfd374320150478b20 100644 --- a/roles/kubernetes-apps/network_plugin/contiv/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/contiv/tasks/main.yml @@ -2,13 +2,10 @@ - name: Contiv | Create Kubernetes resources kube: - name: "{{ item.item.name }}" namespace: "kube-system" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ contiv_config_dir }}/{{ item.item.file }}" + filename: "{{contiv_manifests_results.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', contiv_config_dir+'/\\1') | list }}" 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 2be0739f8f4e0a170dbd558173ce1742f889eff1..17a6745f23656cdef6389c9efba5565146dafefe 100644 --- a/roles/kubernetes-apps/network_plugin/flannel/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/flannel/tasks/main.yml @@ -1,14 +1,11 @@ --- - name: Flannel | Start Resources kube: - name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - resource: "{{item.item.type}}" - filename: "{{kube_config_dir}}/{{item.item.file}}" + filename: "{{ flannel_node_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" state: "latest" - with_items: "{{ flannel_node_manifests.results }}" - when: inventory_hostname == groups['kube-master'][0] and not item is skipped + when: inventory_hostname == groups['kube-master'][0] - 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 9d7669cc7edaf722a05a738b7dbaf72b0a306862..f002cca17c29c6370f344315c57596af035cf72d 100644 --- a/roles/kubernetes-apps/network_plugin/multus/tasks/main.yml +++ b/roles/kubernetes-apps/network_plugin/multus/tasks/main.yml @@ -1,11 +1,8 @@ --- - name: Multus | Start resources kube: - name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - resource: "{{item.item.type}}" - filename: "{{kube_config_dir}}/{{item.item.file}}" + 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 }}" state: "latest" - with_items: "{{ multus_manifest_1.results }} + {{multus_manifest_2.results }}" - when: inventory_hostname == groups['kube-master'][0] and not item|skipped + when: inventory_hostname == groups['kube-master'][0] diff --git a/roles/kubernetes-apps/policy_controller/calico/tasks/main.yml b/roles/kubernetes-apps/policy_controller/calico/tasks/main.yml index 3dfbf0a3795ab95a654b48ad6b02fe27e4824ff0..b35403ad7c30a33d6de4b17ccbc809de34a6a01b 100644 --- a/roles/kubernetes-apps/policy_controller/calico/tasks/main.yml +++ b/roles/kubernetes-apps/policy_controller/calico/tasks/main.yml @@ -24,16 +24,9 @@ - name: Start of Calico kube controllers kube: - name: "{{item.item.name}}" namespace: "kube-system" kubectl: "{{bin_dir}}/kubectl" - resource: "{{item.item.type}}" - filename: "{{kube_config_dir}}/{{item.item.file}}" + filename: "{{ calico_node_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/\\1') | list }}" 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 05f8f470320bbd95d796ff2f89b28f3b9af0fd2a..803fb6a9c19460a22b7ba38d5d54150a8003ff4a 100644 --- a/roles/kubernetes-apps/registry/tasks/main.yml +++ b/roles/kubernetes-apps/registry/tasks/main.yml @@ -42,13 +42,10 @@ - name: Registry | Apply manifests kube: - name: "{{ item.item.name }}" namespace: "{{ registry_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/addons/registry/{{ item.item.file }}" + filename: "{{ registry_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/registry/\\1') | list }}" state: "latest" - with_items: "{{ registry_manifests.results }}" when: inventory_hostname == groups['kube-master'][0] - name: Registry | Create PVC manifests @@ -65,13 +62,10 @@ - name: Registry | Apply PVC manifests kube: - name: "{{ item.item.name }}" namespace: "{{ registry_namespace }}" kubectl: "{{ bin_dir }}/kubectl" - resource: "{{ item.item.type }}" - filename: "{{ kube_config_dir }}/addons/registry/{{ item.item.file }}" + filename: "{{ registry_manifests.results | selectattr('skipped', 'undefined') | map(attribute='item') | map(attribute='file') | map('regex_replace', '^(.*)$', kube_config_dir+'/addons/registry/\\1') | list }}" state: "latest" - with_items: "{{ registry_manifests.results }}" when: - registry_storage_class != none and registry_storage_class != "" - registry_disk_size != none and registry_disk_size != ""