mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-02-28 09:39:12 +03:00
kubeadm_patches: remove old patches on inventory change (#13022)
Currently, if changing the inventory variable `kubeadm_patches`, new patches will be created, but the existing ones will also be left on the filesystem, and applied by kubeadm ; this means that removed or changed configuration can linger. Cleanup old patches (which are the difference between existing patches on filesystem and the one created for the current runs). Co-authored-by: Max Gautier <mg@max.gautier.name>
This commit is contained in:
committed by
GitHub
parent
8d1174b26d
commit
00429b3d49
@@ -3,9 +3,19 @@
|
|||||||
file:
|
file:
|
||||||
path: "{{ kubeadm_patches_dir }}"
|
path: "{{ kubeadm_patches_dir }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: "0640"
|
mode: "0750"
|
||||||
when: kubeadm_patches | length > 0
|
when: kubeadm_patches | length > 0
|
||||||
|
|
||||||
|
- name: Kubeadm | List existing kubeadm patches
|
||||||
|
find:
|
||||||
|
paths:
|
||||||
|
- "{{ kubeadm_patches_dir }}"
|
||||||
|
file_type: file
|
||||||
|
use_regex: true
|
||||||
|
patterns:
|
||||||
|
- '^(kube-apiserver|kube-controller-manager|kube-scheduler|etcd|kubeletconfiguration)[0-9]+\+(strategic|json|merge).yaml$'
|
||||||
|
register: existing_kubeadm_patches
|
||||||
|
|
||||||
- name: Kubeadm | Copy kubeadm patches from inventory files
|
- name: Kubeadm | Copy kubeadm patches from inventory files
|
||||||
copy:
|
copy:
|
||||||
content: "{{ item.patch | to_yaml }}"
|
content: "{{ item.patch | to_yaml }}"
|
||||||
@@ -15,3 +25,13 @@
|
|||||||
loop: "{{ kubeadm_patches }}"
|
loop: "{{ kubeadm_patches }}"
|
||||||
loop_control:
|
loop_control:
|
||||||
index_var: suffix
|
index_var: suffix
|
||||||
|
register: current_kubeadm_patches
|
||||||
|
|
||||||
|
- name: Kubeadm | Delete old patches
|
||||||
|
loop: "{{ existing_kubeadm_patches.files | map(attribute='path') |
|
||||||
|
difference(
|
||||||
|
current_kubeadm_patches.results | map(attribute='dest')
|
||||||
|
) }}"
|
||||||
|
file:
|
||||||
|
state: absent
|
||||||
|
path: "{{ item }}"
|
||||||
|
|||||||
Reference in New Issue
Block a user