f26cc9f75b
By default Ansible stat module compute checksum, list extended attributes and find mime type
To find all stat invocations that really use one of those:
git grep -F stat. | grep -vE 'stat.(islnk|exists|lnk_source|writeable)'
Signed-off-by: Etienne Champetier <e.champetier@ateme.com>
(cherry picked from commit de1d9df787
)
Conflicts:
roles/etcd/tasks/check_certs.yml
102 lines
2.4 KiB
YAML
102 lines
2.4 KiB
YAML
---
|
|
- name: Create kubernetes directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: kube
|
|
when: inventory_hostname in groups['k8s-cluster']
|
|
become: true
|
|
tags:
|
|
- kubelet
|
|
- k8s-secrets
|
|
- kube-controller-manager
|
|
- kube-apiserver
|
|
- bootstrap-os
|
|
- apps
|
|
- network
|
|
- master
|
|
- node
|
|
with_items:
|
|
- "{{ kube_config_dir }}"
|
|
- "{{ kube_cert_dir }}"
|
|
- "{{ kube_manifest_dir }}"
|
|
- "{{ kube_script_dir }}"
|
|
- "{{ kubelet_flexvolumes_plugins_dir }}"
|
|
|
|
- name: Create other directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: root
|
|
when: inventory_hostname in groups['k8s-cluster']
|
|
become: true
|
|
tags:
|
|
- kubelet
|
|
- k8s-secrets
|
|
- kube-controller-manager
|
|
- kube-apiserver
|
|
- bootstrap-os
|
|
- apps
|
|
- network
|
|
- master
|
|
- node
|
|
with_items:
|
|
- "{{ bin_dir }}"
|
|
|
|
- name: Check if kubernetes kubeadm compat cert dir exists
|
|
stat:
|
|
path: "{{ kube_cert_compat_dir }}"
|
|
get_attributes: no
|
|
get_checksum: no
|
|
get_mime: no
|
|
register: kube_cert_compat_dir_check
|
|
when:
|
|
- inventory_hostname in groups['k8s-cluster']
|
|
- kube_cert_dir != kube_cert_compat_dir
|
|
|
|
- name: Create kubernetes kubeadm compat cert dir (kubernetes/kubeadm issue 1498)
|
|
file:
|
|
src: "{{ kube_cert_dir }}"
|
|
dest: "{{ kube_cert_compat_dir }}"
|
|
state: link
|
|
when:
|
|
- inventory_hostname in groups['k8s-cluster']
|
|
- kube_cert_dir != kube_cert_compat_dir
|
|
- not kube_cert_compat_dir_check.stat.exists
|
|
|
|
- name: Create cni directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: kube
|
|
with_items:
|
|
- "/etc/cni/net.d"
|
|
- "/opt/cni/bin"
|
|
- "/var/lib/calico"
|
|
when:
|
|
- kube_network_plugin in ["calico", "weave", "canal", "flannel", "cilium", "kube-ovn", "ovn4nfv", "kube-router", "macvlan"]
|
|
- inventory_hostname in groups['k8s-cluster']
|
|
tags:
|
|
- network
|
|
- cilium
|
|
- calico
|
|
- weave
|
|
- canal
|
|
- ovn4nfv
|
|
- kube-ovn
|
|
- kube-router
|
|
- bootstrap-os
|
|
|
|
- name: Create local volume provisioner directories
|
|
file:
|
|
path: "{{ local_volume_provisioner_storage_classes[item].host_dir }}"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: "{{ local_volume_provisioner_directory_mode }}"
|
|
with_items: "{{ local_volume_provisioner_storage_classes.keys() | list }}"
|
|
when:
|
|
- inventory_hostname in groups['k8s-cluster']
|
|
- local_volume_provisioner_enabled
|
|
tags:
|
|
- persistent_volumes
|