fix/ansible 2.19: local vol provisioner: don't rely on final evaluation (#13481)

- also remove mitogen workaround from local_volume_provisioner since
  creating the dirs is handled by kubernetes/preinstall instead
- correct the tag in kubernetes/preinstall as persistent_volumes isn't
  the same thing
This commit is contained in:
Max Gautier
2026-09-08 22:46:35 +00:00
committed by GitHub
parent 70cb04d9d8
commit ff19dbd284
6 changed files with 13 additions and 44 deletions
@@ -7,15 +7,4 @@ local_volume_provisioner_nodelabels: []
# - topology.kubernetes.io/zone
local_volume_provisioner_tolerations: []
local_volume_provisioner_use_node_name_only: false
# Leverages Ansible's string to Python datatype casting. Otherwise the dict_key isn't substituted.
# see https://github.com/ansible/ansible/issues/17324
local_volume_provisioner_storage_classes: |
{
"{{ local_volume_provisioner_storage_class | default('local-storage') }}": {
"host_dir": "{{ local_volume_provisioner_base_dir | default('/mnt/disks') }}",
"mount_dir": "{{ local_volume_provisioner_mount_dir | default('/mnt/disks') }}",
"volume_mode": "Filesystem",
"fs_type": "ext4"
}
}
local_volume_provisioner_log_level: 2
@@ -1,12 +0,0 @@
---
# include to workaround mitogen issue
# https://github.com/dw/mitogen/issues/663
- name: "Local Volume Provisioner | Ensure base dir {{ delegate_host_base_dir.1 }} is created on {{ delegate_host_base_dir.0 }}"
file:
path: "{{ local_volume_provisioner_storage_classes[delegate_host_base_dir.1].host_dir }}"
state: directory
owner: root
group: root
mode: "{{ local_volume_provisioner_directory_mode }}"
delegate_to: "{{ delegate_host_base_dir.0 }}"
@@ -1,11 +1,4 @@
---
- name: Local Volume Provisioner | Ensure base dir is created on all hosts
include_tasks: basedirs.yml
loop_control:
loop_var: delegate_host_base_dir
loop: "{{ groups['k8s_cluster'] | product(local_volume_provisioner_storage_classes.keys()) | list }}"
- name: Local Volume Provisioner | Create addon dir
file:
path: "{{ kube_config_dir }}/addons/local_volume_provisioner"
@@ -113,4 +113,4 @@
- ('k8s_cluster' in group_names)
- local_volume_provisioner_enabled
tags:
- persistent_volumes
- external-provisioner
@@ -634,19 +634,10 @@ kube_proxy_feature_gates: []
kubelet_feature_gates: []
kubeadm_feature_gates: []
# Local volume provisioner storage classes
# Levarages Ansibles string to Python datatype casting. Otherwise the dict_key isn't substituted
# see https://github.com/ansible/ansible/issues/17324
local_volume_provisioner_storage_classes: |
{
"{{ local_volume_provisioner_storage_class | default('local-storage') }}": {
"host_dir": "{{ local_volume_provisioner_base_dir | default('/mnt/disks') }}",
"mount_dir": "{{ local_volume_provisioner_mount_dir | default('/mnt/disks') }}",
"volume_mode": "Filesystem",
"fs_type": "ext4"
}
}
local_volume_provisioner_storage_class: local-storage
local_volume_provisioner_base_dir: /mnt/disks
local_volume_provisioner_mount_dir: /mnt/disks
local_volume_provisioner_storage_classes: "{{ local_volume_provisioner_storage_classes_default | items2dict }}"
ssl_ca_dirs: |-
[
@@ -44,3 +44,11 @@ kube_pods_subnets: >-
{%- else -%}
{{ kube_pods_subnet_ipv6 }}
{%- endif -%}
local_volume_provisioner_storage_classes_default:
- key: "{{ local_volume_provisioner_storage_class }}"
value:
host_dir: "{{ local_volume_provisioner_base_dir }}"
mount_dir: "{{ local_volume_provisioner_mount_dir }}"
volume_mode: Filesystem
fs_type: ext4