kubernetes-sigs / kubespray

Deploy a Production Ready Kubernetes Cluster
Apache License 2.0
15.99k stars 6.44k forks source link

Upgrade From 1.28.6 to 1.29.0 with release 2.24 #10874

Closed barquero closed 8 months ago

barquero commented 8 months ago

What happened?

Upgrade fails on task: TASK [download : Prep_kubeadm_images | Check kubeadm version matches kubernetes version]

What did you expect to happen?

Do the upgrade.

How can we reproduce it (as minimally and precisely as possible)?

simply by run the upgrade command

OS

uname -srm Linux 6.1.0-17-amd64 x86_64

cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"

Version of Ansible

ansible [core 2.15.9] config file = /Users/henriquebarquero/devops/infrastructure/ansible/ansible.cfg configured module search path = ['/Users/henriquebarquero/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/ansible ansible collection location = /Users/henriquebarquero/.ansible/collections:/usr/share/ansible/collections executable location = /Library/Frameworks/Python.framework/Versions/3.11/bin/ansible python version = 3.11.2 (v3.11.2:878ead1ac1, Feb 7 2023, 10:02:41) [Clang 13.0.0 (clang-1300.0.29.30)] (/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11) jinja version = 3.1.2 libyaml = True

Version of Python

Python 3.11.3

Version of Kubespray (commit)

64447e745

Network plugin used

calico

Full inventory with variables

No response

Command used to invoke ansible

No response

Output of ansible run

TASK [download : Prep_kubeadm_images | Check kubeadm version matches kubernetes version] **** fatal: [master01.sb01.k8s.dev.prozis.tech]: FAILED! => {"msg": "The conditional check 'not kubeadm_version == downloads.kubeadm.version' failed. The error was: error while evaluating conditional (not kubeadm_version == downloads.kubeadm.version): {'netcheck_server': {'enabled': '{{ deploy_netchecker }}', 'container': True, 'repo': '{{ netcheck_server_image_repo }}', 'tag': '{{ netcheck_server_image_tag }}', 'sha256': '{{ netcheck_server_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'netcheck_agent': {'enabled': '{{ deploy_netchecker }}', 'container': True, 'repo': '{{ netcheck_agent_image_repo }}', 'tag': '{{ netcheck_agent_image_tag }}', 'sha256': '{{ netcheck_agent_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'etcd': {'container': \"{{ etcd_deployment_type != 'host' }}\", 'file': \"{{ etcd_deployment_type == 'host' }}\", 'enabled': True, 'version': '{{ etcd_version }}', 'dest': '{{ local_release_dir }}/etcd-{{ etcd_version }}-linux-{{ image_arch }}.tar.gz', 'repo': '{{ etcd_image_repo }}', 'tag': '{{ etcd_image_tag }}', 'sha256': \"{{ etcd_binary_checksum if (etcd_deployment_type == 'host') else etcd_digest_checksum | d(None) }}\", 'url': '{{ etcd_download_url }}', 'unarchive': \"{{ etcd_deployment_type == 'host' }}\", 'owner': 'root', 'mode': '0755', 'groups': ['etcd']}, 'cni': {'enabled': True, 'file': True, 'version': '{{ cni_version }}', 'dest': '{{ local_release_dir }}/cni-plugins-linux-{{ image_arch }}-{{ cni_version }}.tgz', 'sha256': '{{ cni_binary_checksum }}', 'url': '{{ cni_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'kubeadm': {'enabled': True, 'file': True, 'version': '{{ kubeadm_version }}', 'dest': '{{ local_release_dir }}/kubeadm-{{ kubeadm_version }}-{{ image_arch }}', 'sha256': '{{ kubeadm_binary_checksum }}', 'url': '{{ kubeadm_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'kubelet': {'enabled': True, 'file': True, 'version': '{{ kube_version }}', 'dest': '{{ local_release_dir }}/kubelet-{{ kube_version }}-{{ image_arch }}', 'sha256': '{{ kubelet_binary_checksum }}', 'url': '{{ kubelet_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'kubectl': {'enabled': True, 'file': True, 'version': '{{ kube_version }}', 'dest': '{{ local_release_dir }}/kubectl-{{ kube_version }}-{{ image_arch }}', 'sha256': '{{ kubectl_binary_checksum }}', 'url': '{{ kubectl_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}, 'crictl': {'file': True, 'enabled': True, 'version': '{{ crictl_version }}', 'dest': '{{ local_release_dir }}/crictl-{{ crictl_version }}-linux-{{ image_arch }}.tar.gz', 'sha256': '{{ crictl_binary_checksum }}', 'url': '{{ crictl_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'crio': {'file': True, 'enabled': \"{{ container_manager == 'crio' }}\", 'version': '{{ crio_version }}', 'dest': '{{ local_release_dir }}/cri-o.{{ image_arch }}.{{ crio_version }}tar.gz', 'sha256': '{{ crio_archive_checksum }}', 'url': '{{ crio_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'cri_dockerd': {'file': True, 'enabled': \"{{ container_manager == 'docker' }}\", 'version': '{{ cri_dockerd_version }}', 'dest': '{{ local_release_dir }}/cri-dockerd-{{ cri_dockerd_version }}.{{ image_arch }}.tar.gz', 'sha256': '{{ cri_dockerd_archive_checksum }}', 'url': '{{ cri_dockerd_download_url }}', 'unarchive': True, 'unarchive_extra_opts': ['--strip=1'], 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'crun': {'file': True, 'enabled': '{{ crun_enabled }}', 'version': '{{ crun_version }}', 'dest': '{{ local_release_dir }}/crun-{{ crun_version }}-{{ image_arch }}', 'sha256': '{{ crun_binary_checksum }}', 'url': '{{ crun_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'youki': {'file': True, 'enabled': '{{ youki_enabled }}', 'version': '{{ youki_version }}', 'dest': \"{{ local_releasedir }}/youki{{ youki_version | regexreplace('\\.', '') }}_linux.tar.gz\", 'sha256': '{{ youki_archive_checksum }}', 'url': '{{ youki_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'runc': {'file': True, 'enabled': \"{{ container_manager == 'containerd' }}\", 'version': '{{ runc_version }}', 'dest': '{{ local_release_dir }}/runc-{{ runc_version }}.{{ image_arch }}', 'sha256': '{{ runc_binary_checksum }}', 'url': '{{ runc_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'kata_containers': {'enabled': '{{ kata_containers_enabled }}', 'file': True, 'version': '{{ kata_containers_version }}', 'dest': '{{ local_release_dir }}/kata-static-{{ kata_containers_version }}-{{ image_arch }}.tar.xz', 'sha256': '{{ kata_containers_binary_checksum }}', 'url': '{{ kata_containers_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'containerd': {'enabled': \"{{ container_manager == 'containerd' }}\", 'file': True, 'version': '{{ containerd_version }}', 'dest': '{{ local_release_dir }}/containerd-{{ containerd_version }}-linux-{{ image_arch }}.tar.gz', 'sha256': '{{ containerd_archive_checksum }}', 'url': '{{ containerd_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'gvisor_runsc': {'enabled': '{{ gvisor_enabled }}', 'file': True, 'version': '{{ gvisor_version }}', 'dest': '{{ local_release_dir }}/gvisor-runsc-{{ gvisor_version }}-{{ ansible_architecture }}', 'sha256': '{{ gvisor_runsc_binary_checksum }}', 'url': '{{ gvisor_runsc_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': 755, 'groups': ['k8s_cluster']}, 'gvisor_containerd_shim': {'enabled': '{{ gvisor_enabled }}', 'file': True, 'version': '{{ gvisor_version }}', 'dest': '{{ local_release_dir }}/gvisor-containerd-shim-runsc-v1-{{ gvisor_version }}-{{ ansible_architecture }}', 'sha256': '{{ gvisor_containerd_shim_binary_checksum }}', 'url': '{{ gvisor_containerd_shim_runsc_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': 755, 'groups': ['k8s_cluster']}, 'nerdctl': {'file': True, 'enabled': \"{{ container_manager == 'containerd' }}\", 'version': '{{ nerdctl_version }}', 'dest': '{{ local_release_dir }}/nerdctl-{{ nerdctl_version }}-linux-{{ image_arch }}.tar.gz', 'sha256': '{{ nerdctl_archive_checksum }}', 'url': '{{ nerdctl_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'skopeo': {'file': True, 'enabled': \"{{ container_manager == 'crio' }}\", 'version': '{{ skopeo_version }}', 'dest': '{{ local_release_dir }}/skopeo-{{ skopeo_version }}-{{ image_arch }}', 'sha256': '{{ skopeo_binary_checksum }}', 'url': '{{ skopeo_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}, 'cilium': {'enabled': \"{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally | default(false) | bool }}\", 'container': True, 'repo': '{{ cilium_image_repo }}', 'tag': '{{ cilium_image_tag }}', 'sha256': '{{ cilium_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_operator': {'enabled': \"{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally | default(false) | bool }}\", 'container': True, 'repo': '{{ cilium_operator_image_repo }}', 'tag': '{{ cilium_operator_image_tag }}', 'sha256': '{{ cilium_operator_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_hubble_relay': {'enabled': '{{ cilium_enable_hubble }}', 'container': True, 'repo': '{{ cilium_hubble_relay_image_repo }}', 'tag': '{{ cilium_hubble_relay_image_tag }}', 'sha256': '{{ cilium_hubble_relay_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_hubble_certgen': {'enabled': '{{ cilium_enable_hubble }}', 'container': True, 'repo': '{{ cilium_hubble_certgen_image_repo }}', 'tag': '{{ cilium_hubble_certgen_image_tag }}', 'sha256': '{{ cilium_hubble_certgen_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_hubble_ui': {'enabled': '{{ cilium_enable_hubble }}', 'container': True, 'repo': '{{ cilium_hubble_ui_image_repo }}', 'tag': '{{ cilium_hubble_ui_image_tag }}', 'sha256': '{{ cilium_hubble_ui_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_hubble_ui_backend': {'enabled': '{{ cilium_enable_hubble }}', 'container': True, 'repo': '{{ cilium_hubble_ui_backend_image_repo }}', 'tag': '{{ cilium_hubble_ui_backend_image_tag }}', 'sha256': '{{ cilium_hubble_ui_backend_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_hubble_envoy': {'enabled': '{{ cilium_enable_hubble }}', 'container': True, 'repo': '{{ cilium_hubble_envoy_image_repo }}', 'tag': '{{ cilium_hubble_envoy_image_tag }}', 'sha256': '{{ cilium_hubble_envoy_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'ciliumcli': {'enabled': \"{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally | default(false) | bool }}\", 'file': True, 'version': '{{ cilium_cli_version }}', 'dest': '{{ local_release_dir }}/cilium-{{ cilium_cli_version }}-{{ image_arch }}.tar.gz', 'sha256': '{{ ciliumcli_binary_checksum }}', 'url': '{{ ciliumcli_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'multus': {'enabled': '{{ kube_network_plugin_multus }}', 'container': True, 'repo': '{{ multus_image_repo }}', 'tag': '{{ multus_image_tag }}', 'sha256': '{{ multus_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'flannel': {'enabled': \"{{ kube_network_plugin == 'flannel' }}\", 'container': True, 'repo': '{{ flannel_image_repo }}', 'tag': '{{ flannel_image_tag }}', 'sha256': '{{ flannel_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'flannel_init': {'enabled': \"{{ kube_network_plugin == 'flannel' }}\", 'container': True, 'repo': '{{ flannel_init_image_repo }}', 'tag': '{{ flannel_init_image_tag }}', 'sha256': '{{ flannel_init_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calicoctl': {'enabled': \"{{ kube_network_plugin == 'calico' }}\", 'file': True, 'version': '{{ calico_ctl_version }}', 'dest': '{{ local_release_dir }}/calicoctl-{{ calico_ctl_version }}-{{ image_arch }}', 'sha256': '{{ calicoctl_binary_checksum }}', 'url': '{{ calicoctl_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'calico_node': {'enabled': \"{{ kube_network_plugin == 'calico' }}\", 'container': True, 'repo': '{{ calico_node_image_repo }}', 'tag': '{{ calico_node_image_tag }}', 'sha256': '{{ calico_node_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_cni': {'enabled': \"{{ kube_network_plugin == 'calico' }}\", 'container': True, 'repo': '{{ calico_cni_image_repo }}', 'tag': '{{ calico_cni_image_tag }}', 'sha256': '{{ calico_cni_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_flexvol': {'enabled': \"{{ kube_network_plugin == 'calico' }}\", 'container': True, 'repo': '{{ calico_flexvol_image_repo }}', 'tag': '{{ calico_flexvol_image_tag }}', 'sha256': '{{ calico_flexvol_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_policy': {'enabled': \"{{ enable_network_policy and kube_network_plugin in ['calico'] }}\", 'container': True, 'repo': '{{ calico_policy_image_repo }}', 'tag': '{{ calico_policy_image_tag }}', 'sha256': '{{ calico_policy_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_typha': {'enabled': '{{ typha_enabled }}', 'container': True, 'repo': '{{ calico_typha_image_repo }}', 'tag': '{{ calico_typha_image_tag }}', 'sha256': '{{ calico_typha_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_apiserver': {'enabled': '{{ calico_apiserver_enabled }}', 'container': True, 'repo': '{{ calico_apiserver_image_repo }}', 'tag': '{{ calico_apiserver_image_tag }}', 'sha256': '{{ calico_apiserver_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_crds': {'file': True, 'enabled': \"{{ kube_network_plugin == 'calico' and calico_datastore == 'kdd' }}\", 'version': '{{ calico_version }}', 'dest': '{{ local_release_dir }}/calico-{{ calico_version }}-kdd-crds/{{ calico_version }}.tar.gz', 'sha256': '{{ calico_crds_archive_checksum }}', 'url': '{{ calico_crds_download_url }}', 'unarchive': True, 'unarchive_extra_opts': [\"{{ '--strip=6' if (calico_version is version('v3.22.3', '<')) else '--strip=3' }}\", '--wildcards', \"{{ '/_includes/charts/calico/crds/kdd/' if (calico_version is version('v3.22.3', '<')) else '/libcalico-go/config/crd/' }}\"], 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}, 'weave_kube': {'enabled': \"{{ kube_network_plugin == 'weave' }}\", 'container': True, 'repo': '{{ weave_kube_image_repo }}', 'tag': '{{ weave_kube_image_tag }}', 'sha256': '{{ weave_kube_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'weave_npc': {'enabled': \"{{ kube_network_plugin == 'weave' }}\", 'container': True, 'repo': '{{ weave_npc_image_repo }}', 'tag': '{{ weave_npc_image_tag }}', 'sha256': '{{ weave_npc_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'kube_ovn': {'enabled': \"{{ kube_network_plugin == 'kube-ovn' }}\", 'container': True, 'repo': '{{ kube_ovn_container_image_repo }}', 'tag': '{{ kube_ovn_container_image_tag }}', 'sha256': '{{ kube_ovn_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'kube_router': {'enabled': \"{{ kube_network_plugin == 'kube-router' }}\", 'container': True, 'repo': '{{ kube_router_image_repo }}', 'tag': '{{ kube_router_image_tag }}', 'sha256': '{{ kube_router_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'pod_infra': {'enabled': True, 'container': True, 'repo': '{{ pod_infra_image_repo }}', 'tag': '{{ pod_infra_image_tag }}', 'sha256': '{{ pod_infra_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'kube-vip': {'enabled': '{{ kube_vip_enabled }}', 'container': True, 'repo': '{{ kube_vip_image_repo }}', 'tag': '{{ kube_vip_image_tag }}', 'sha256': '{{ kube_vip_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'nginx': {'enabled': \"{{ loadbalancer_apiserver_localhost and loadbalancer_apiserver_type == 'nginx' }}\", 'container': True, 'repo': '{{ nginx_image_repo }}', 'tag': '{{ nginx_image_tag }}', 'sha256': '{{ nginx_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'haproxy': {'enabled': \"{{ loadbalancer_apiserver_localhost and loadbalancer_apiserver_type == 'haproxy' }}\", 'container': True, 'repo': '{{ haproxy_image_repo }}', 'tag': '{{ haproxy_image_tag }}', 'sha256': '{{ haproxy_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'coredns': {'enabled': \"{{ dns_mode in ['coredns', 'coredns_dual'] }}\", 'container': True, 'repo': '{{ coredns_image_repo }}', 'tag': '{{ coredns_image_tag }}', 'sha256': '{{ coredns_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'nodelocaldns': {'enabled': '{{ enable_nodelocaldns }}', 'container': True, 'repo': '{{ nodelocaldns_image_repo }}', 'tag': '{{ nodelocaldns_image_tag }}', 'sha256': '{{ nodelocaldns_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'dnsautoscaler': {'enabled': \"{{ dns_mode in ['coredns', 'coredns_dual'] }}\", 'container': True, 'repo': '{{ dnsautoscaler_image_repo }}', 'tag': '{{ dnsautoscaler_image_tag }}', 'sha256': '{{ dnsautoscaler_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'helm': {'enabled': '{{ helm_enabled }}', 'file': True, 'version': '{{ helm_version }}', 'dest': '{{ local_release_dir }}/helm-{{ helm_version }}/helm-{{ helm_version }}-linux-{{ image_arch }}.tar.gz', 'sha256': '{{ helm_archive_checksum }}', 'url': '{{ helm_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}, 'krew': {'enabled': '{{ krew_enabled }}', 'file': True, 'version': '{{ krew_version }}', 'dest': '{{ local_release_dir }}/krew-{{ hostos }}{{ image_arch }}.tar.gz', 'sha256': '{{ krew_archive_checksum }}', 'url': '{{ krew_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}, 'registry': {'enabled': '{{ registry_enabled }}', 'container': True, 'repo': '{{ registry_image_repo }}', 'tag': '{{ registry_image_tag }}', 'sha256': '{{ registry_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'metrics_server': {'enabled': '{{ metrics_server_enabled }}', 'container': True, 'repo': '{{ metrics_server_image_repo }}', 'tag': '{{ metrics_server_image_tag }}', 'sha256': '{{ metrics_server_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'local_volume_provisioner': {'enabled': '{{ local_volume_provisioner_enabled }}', 'container': True, 'repo': '{{ local_volume_provisioner_image_repo }}', 'tag': '{{ local_volume_provisioner_image_tag }}', 'sha256': '{{ local_volume_provisioner_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'cephfs_provisioner': {'enabled': '{{ cephfs_provisioner_enabled }}', 'container': True, 'repo': '{{ cephfs_provisioner_image_repo }}', 'tag': '{{ cephfs_provisioner_image_tag }}', 'sha256': '{{ cephfs_provisioner_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'rbd_provisioner': {'enabled': '{{ rbd_provisioner_enabled }}', 'container': True, 'repo': '{{ rbd_provisioner_image_repo }}', 'tag': '{{ rbd_provisioner_image_tag }}', 'sha256': '{{ rbd_provisioner_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'local_path_provisioner': {'enabled': '{{ local_path_provisioner_enabled }}', 'container': True, 'repo': '{{ local_path_provisioner_image_repo }}', 'tag': '{{ local_path_provisioner_image_tag }}', 'sha256': '{{ local_path_provisioner_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'ingress_nginx_controller': {'enabled': '{{ ingress_nginx_enabled }}', 'container': True, 'repo': '{{ ingress_nginx_controller_image_repo }}', 'tag': '{{ ingress_nginx_controller_image_tag }}', 'sha256': '{{ ingress_nginx_controller_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'ingress_alb_controller': {'enabled': '{{ ingress_alb_enabled }}', 'container': True, 'repo': '{{ alb_ingress_image_repo }}', 'tag': '{{ alb_ingress_image_tag }}', 'sha256': '{{ ingress_alb_controller_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'cert_manager_controller': {'enabled': '{{ cert_manager_enabled }}', 'container': True, 'repo': '{{ cert_manager_controller_image_repo }}', 'tag': '{{ cert_manager_controller_image_tag }}', 'sha256': '{{ cert_manager_controller_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'cert_manager_cainjector': {'enabled': '{{ cert_manager_enabled }}', 'container': True, 'repo': '{{ cert_manager_cainjector_image_repo }}', 'tag': '{{ cert_manager_cainjector_image_tag }}', 'sha256': '{{ cert_manager_cainjector_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'cert_manager_webhook': {'enabled': '{{ cert_manager_enabled }}', 'container': True, 'repo': '{{ cert_manager_webhook_image_repo }}', 'tag': '{{ cert_manager_webhook_image_tag }}', 'sha256': '{{ cert_manager_webhook_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'csi_attacher': {'enabled': '{{ cinder_csi_enabled or aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ csi_attacher_image_repo }}', 'tag': '{{ csi_attacher_image_tag }}', 'sha256': '{{ csi_attacher_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'csi_provisioner': {'enabled': '{{ cinder_csi_enabled or aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ csi_provisioner_image_repo }}', 'tag': '{{ csi_provisioner_image_tag }}', 'sha256': '{{ csi_provisioner_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'csi_snapshotter': {'enabled': '{{ cinder_csi_enabled or aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ csi_snapshotter_image_repo }}', 'tag': '{{ csi_snapshotter_image_tag }}', 'sha256': '{{ csi_snapshotter_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'snapshot_controller': {'enabled': '{{ csi_snapshot_controller_enabled }}', 'container': True, 'repo': '{{ snapshot_controller_image_repo }}', 'tag': '{{ snapshot_controller_image_tag }}', 'sha256': '{{ snapshot_controller_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'csi_resizer': {'enabled': '{{ cinder_csi_enabled or aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ csi_resizer_image_repo }}', 'tag': '{{ csi_resizer_image_tag }}', 'sha256': '{{ csi_resizer_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'csi_node_driver_registrar': {'enabled': '{{ cinder_csi_enabled or aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ csi_node_driver_registrar_image_repo }}', 'tag': '{{ csi_node_driver_registrar_image_tag }}', 'sha256': '{{ csi_node_driver_registrar_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'cinder_csi_plugin': {'enabled': '{{ cinder_csi_enabled }}', 'container': True, 'repo': '{{ cinder_csi_plugin_image_repo }}', 'tag': '{{ cinder_csi_plugin_image_tag }}', 'sha256': '{{ cinder_csi_plugin_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'aws_ebs_csi_plugin': {'enabled': '{{ aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ aws_ebs_csi_plugin_image_repo }}', 'tag': '{{ aws_ebs_csi_plugin_image_tag }}', 'sha256': '{{ aws_ebs_csi_plugin_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'dashboard': {'enabled': '{{ dashboard_enabled }}', 'container': True, 'repo': '{{ dashboard_image_repo }}', 'tag': '{{ dashboard_image_tag }}', 'sha256': '{{ dashboard_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'dashboard_metrics_scrapper': {'enabled': '{{ dashboard_enabled }}', 'container': True, 'repo': '{{ dashboard_metrics_scraper_repo }}', 'tag': '{{ dashboard_metrics_scraper_tag }}', 'sha256': '{{ dashboard_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'metallb_speaker': {'enabled': '{{ metallb_speaker_enabled }}', 'container': True, 'repo': '{{ metallb_speaker_image_repo }}', 'tag': '{{ metallb_version }}', 'sha256': '{{ metallb_speaker_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'metallb_controller': {'enabled': '{{ metallb_enabled }}', 'container': True, 'repo': '{{ metallb_controller_image_repo }}', 'tag': '{{ metallb_version }}', 'sha256': '{{ metallb_controller_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'yq': {'enabled': '{{ argocd_enabled }}', 'file': True, 'version': '{{ yq_version }}', 'dest': '{{ local_release_dir }}/yq-{{ yq_version }}-{{ image_arch }}', 'sha256': '{{ yq_binary_checksum | default(None) }}', 'url': '{{ yq_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}}: {{ etcd_supported_versions[kube_major_version] }}: 'dict object' has no attribute 'v1.29'. 'dict object' has no attribute 'v1.29'. {{ etcd_supported_versions[kube_major_version] }}: 'dict object' has no attribute 'v1.29'. 'dict object' has no attribute 'v1.29'. {'netcheck_server': {'enabled': '{{ deploy_netchecker }}', 'container': True, 'repo': '{{ netcheck_server_image_repo }}', 'tag': '{{ netcheck_server_image_tag }}', 'sha256': '{{ netcheck_server_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'netcheck_agent': {'enabled': '{{ deploy_netchecker }}', 'container': True, 'repo': '{{ netcheck_agent_image_repo }}', 'tag': '{{ netcheck_agent_image_tag }}', 'sha256': '{{ netcheck_agent_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'etcd': {'container': \"{{ etcd_deployment_type != 'host' }}\", 'file': \"{{ etcd_deployment_type == 'host' }}\", 'enabled': True, 'version': '{{ etcd_version }}', 'dest': '{{ local_release_dir }}/etcd-{{ etcd_version }}-linux-{{ image_arch }}.tar.gz', 'repo': '{{ etcd_image_repo }}', 'tag': '{{ etcd_image_tag }}', 'sha256': \"{{ etcd_binary_checksum if (etcd_deployment_type == 'host') else etcd_digest_checksum | d(None) }}\", 'url': '{{ etcd_download_url }}', 'unarchive': \"{{ etcd_deployment_type == 'host' }}\", 'owner': 'root', 'mode': '0755', 'groups': ['etcd']}, 'cni': {'enabled': True, 'file': True, 'version': '{{ cni_version }}', 'dest': '{{ local_release_dir }}/cni-plugins-linux-{{ image_arch }}-{{ cni_version }}.tgz', 'sha256': '{{ cni_binary_checksum }}', 'url': '{{ cni_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'kubeadm': {'enabled': True, 'file': True, 'version': '{{ kubeadm_version }}', 'dest': '{{ local_release_dir }}/kubeadm-{{ kubeadm_version }}-{{ image_arch }}', 'sha256': '{{ kubeadm_binary_checksum }}', 'url': '{{ kubeadm_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'kubelet': {'enabled': True, 'file': True, 'version': '{{ kube_version }}', 'dest': '{{ local_release_dir }}/kubelet-{{ kube_version }}-{{ image_arch }}', 'sha256': '{{ kubelet_binary_checksum }}', 'url': '{{ kubelet_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'kubectl': {'enabled': True, 'file': True, 'version': '{{ kube_version }}', 'dest': '{{ local_release_dir }}/kubectl-{{ kube_version }}-{{ image_arch }}', 'sha256': '{{ kubectl_binary_checksum }}', 'url': '{{ kubectl_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}, 'crictl': {'file': True, 'enabled': True, 'version': '{{ crictl_version }}', 'dest': '{{ local_release_dir }}/crictl-{{ crictl_version }}-linux-{{ image_arch }}.tar.gz', 'sha256': '{{ crictl_binary_checksum }}', 'url': '{{ crictl_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'crio': {'file': True, 'enabled': \"{{ container_manager == 'crio' }}\", 'version': '{{ crio_version }}', 'dest': '{{ local_release_dir }}/cri-o.{{ image_arch }}.{{ crio_version }}tar.gz', 'sha256': '{{ crio_archive_checksum }}', 'url': '{{ crio_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'cri_dockerd': {'file': True, 'enabled': \"{{ container_manager == 'docker' }}\", 'version': '{{ cri_dockerd_version }}', 'dest': '{{ local_release_dir }}/cri-dockerd-{{ cri_dockerd_version }}.{{ image_arch }}.tar.gz', 'sha256': '{{ cri_dockerd_archive_checksum }}', 'url': '{{ cri_dockerd_download_url }}', 'unarchive': True, 'unarchive_extra_opts': ['--strip=1'], 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'crun': {'file': True, 'enabled': '{{ crun_enabled }}', 'version': '{{ crun_version }}', 'dest': '{{ local_release_dir }}/crun-{{ crun_version }}-{{ image_arch }}', 'sha256': '{{ crun_binary_checksum }}', 'url': '{{ crun_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'youki': {'file': True, 'enabled': '{{ youki_enabled }}', 'version': '{{ youki_version }}', 'dest': \"{{ local_releasedir }}/youki{{ youki_version | regexreplace('\\.', '') }}_linux.tar.gz\", 'sha256': '{{ youki_archive_checksum }}', 'url': '{{ youki_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'runc': {'file': True, 'enabled': \"{{ container_manager == 'containerd' }}\", 'version': '{{ runc_version }}', 'dest': '{{ local_release_dir }}/runc-{{ runc_version }}.{{ image_arch }}', 'sha256': '{{ runc_binary_checksum }}', 'url': '{{ runc_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'kata_containers': {'enabled': '{{ kata_containers_enabled }}', 'file': True, 'version': '{{ kata_containers_version }}', 'dest': '{{ local_release_dir }}/kata-static-{{ kata_containers_version }}-{{ image_arch }}.tar.xz', 'sha256': '{{ kata_containers_binary_checksum }}', 'url': '{{ kata_containers_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'containerd': {'enabled': \"{{ container_manager == 'containerd' }}\", 'file': True, 'version': '{{ containerd_version }}', 'dest': '{{ local_release_dir }}/containerd-{{ containerd_version }}-linux-{{ image_arch }}.tar.gz', 'sha256': '{{ containerd_archive_checksum }}', 'url': '{{ containerd_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'gvisor_runsc': {'enabled': '{{ gvisor_enabled }}', 'file': True, 'version': '{{ gvisor_version }}', 'dest': '{{ local_release_dir }}/gvisor-runsc-{{ gvisor_version }}-{{ ansible_architecture }}', 'sha256': '{{ gvisor_runsc_binary_checksum }}', 'url': '{{ gvisor_runsc_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': 755, 'groups': ['k8s_cluster']}, 'gvisor_containerd_shim': {'enabled': '{{ gvisor_enabled }}', 'file': True, 'version': '{{ gvisor_version }}', 'dest': '{{ local_release_dir }}/gvisor-containerd-shim-runsc-v1-{{ gvisor_version }}-{{ ansible_architecture }}', 'sha256': '{{ gvisor_containerd_shim_binary_checksum }}', 'url': '{{ gvisor_containerd_shim_runsc_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': 755, 'groups': ['k8s_cluster']}, 'nerdctl': {'file': True, 'enabled': \"{{ container_manager == 'containerd' }}\", 'version': '{{ nerdctl_version }}', 'dest': '{{ local_release_dir }}/nerdctl-{{ nerdctl_version }}-linux-{{ image_arch }}.tar.gz', 'sha256': '{{ nerdctl_archive_checksum }}', 'url': '{{ nerdctl_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'skopeo': {'file': True, 'enabled': \"{{ container_manager == 'crio' }}\", 'version': '{{ skopeo_version }}', 'dest': '{{ local_release_dir }}/skopeo-{{ skopeo_version }}-{{ image_arch }}', 'sha256': '{{ skopeo_binary_checksum }}', 'url': '{{ skopeo_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}, 'cilium': {'enabled': \"{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally | default(false) | bool }}\", 'container': True, 'repo': '{{ cilium_image_repo }}', 'tag': '{{ cilium_image_tag }}', 'sha256': '{{ cilium_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_operator': {'enabled': \"{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally | default(false) | bool }}\", 'container': True, 'repo': '{{ cilium_operator_image_repo }}', 'tag': '{{ cilium_operator_image_tag }}', 'sha256': '{{ cilium_operator_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_hubble_relay': {'enabled': '{{ cilium_enable_hubble }}', 'container': True, 'repo': '{{ cilium_hubble_relay_image_repo }}', 'tag': '{{ cilium_hubble_relay_image_tag }}', 'sha256': '{{ cilium_hubble_relay_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_hubble_certgen': {'enabled': '{{ cilium_enable_hubble }}', 'container': True, 'repo': '{{ cilium_hubble_certgen_image_repo }}', 'tag': '{{ cilium_hubble_certgen_image_tag }}', 'sha256': '{{ cilium_hubble_certgen_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_hubble_ui': {'enabled': '{{ cilium_enable_hubble }}', 'container': True, 'repo': '{{ cilium_hubble_ui_image_repo }}', 'tag': '{{ cilium_hubble_ui_image_tag }}', 'sha256': '{{ cilium_hubble_ui_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_hubble_ui_backend': {'enabled': '{{ cilium_enable_hubble }}', 'container': True, 'repo': '{{ cilium_hubble_ui_backend_image_repo }}', 'tag': '{{ cilium_hubble_ui_backend_image_tag }}', 'sha256': '{{ cilium_hubble_ui_backend_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'cilium_hubble_envoy': {'enabled': '{{ cilium_enable_hubble }}', 'container': True, 'repo': '{{ cilium_hubble_envoy_image_repo }}', 'tag': '{{ cilium_hubble_envoy_image_tag }}', 'sha256': '{{ cilium_hubble_envoy_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'ciliumcli': {'enabled': \"{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally | default(false) | bool }}\", 'file': True, 'version': '{{ cilium_cli_version }}', 'dest': '{{ local_release_dir }}/cilium-{{ cilium_cli_version }}-{{ image_arch }}.tar.gz', 'sha256': '{{ ciliumcli_binary_checksum }}', 'url': '{{ ciliumcli_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'multus': {'enabled': '{{ kube_network_plugin_multus }}', 'container': True, 'repo': '{{ multus_image_repo }}', 'tag': '{{ multus_image_tag }}', 'sha256': '{{ multus_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'flannel': {'enabled': \"{{ kube_network_plugin == 'flannel' }}\", 'container': True, 'repo': '{{ flannel_image_repo }}', 'tag': '{{ flannel_image_tag }}', 'sha256': '{{ flannel_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'flannel_init': {'enabled': \"{{ kube_network_plugin == 'flannel' }}\", 'container': True, 'repo': '{{ flannel_init_image_repo }}', 'tag': '{{ flannel_init_image_tag }}', 'sha256': '{{ flannel_init_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calicoctl': {'enabled': \"{{ kube_network_plugin == 'calico' }}\", 'file': True, 'version': '{{ calico_ctl_version }}', 'dest': '{{ local_release_dir }}/calicoctl-{{ calico_ctl_version }}-{{ image_arch }}', 'sha256': '{{ calicoctl_binary_checksum }}', 'url': '{{ calicoctl_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['k8s_cluster']}, 'calico_node': {'enabled': \"{{ kube_network_plugin == 'calico' }}\", 'container': True, 'repo': '{{ calico_node_image_repo }}', 'tag': '{{ calico_node_image_tag }}', 'sha256': '{{ calico_node_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_cni': {'enabled': \"{{ kube_network_plugin == 'calico' }}\", 'container': True, 'repo': '{{ calico_cni_image_repo }}', 'tag': '{{ calico_cni_image_tag }}', 'sha256': '{{ calico_cni_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_flexvol': {'enabled': \"{{ kube_network_plugin == 'calico' }}\", 'container': True, 'repo': '{{ calico_flexvol_image_repo }}', 'tag': '{{ calico_flexvol_image_tag }}', 'sha256': '{{ calico_flexvol_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_policy': {'enabled': \"{{ enable_network_policy and kube_network_plugin in ['calico'] }}\", 'container': True, 'repo': '{{ calico_policy_image_repo }}', 'tag': '{{ calico_policy_image_tag }}', 'sha256': '{{ calico_policy_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_typha': {'enabled': '{{ typha_enabled }}', 'container': True, 'repo': '{{ calico_typha_image_repo }}', 'tag': '{{ calico_typha_image_tag }}', 'sha256': '{{ calico_typha_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_apiserver': {'enabled': '{{ calico_apiserver_enabled }}', 'container': True, 'repo': '{{ calico_apiserver_image_repo }}', 'tag': '{{ calico_apiserver_image_tag }}', 'sha256': '{{ calico_apiserver_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'calico_crds': {'file': True, 'enabled': \"{{ kube_network_plugin == 'calico' and calico_datastore == 'kdd' }}\", 'version': '{{ calico_version }}', 'dest': '{{ local_release_dir }}/calico-{{ calico_version }}-kdd-crds/{{ calico_version }}.tar.gz', 'sha256': '{{ calico_crds_archive_checksum }}', 'url': '{{ calico_crds_download_url }}', 'unarchive': True, 'unarchive_extra_opts': [\"{{ '--strip=6' if (calico_version is version('v3.22.3', '<')) else '--strip=3' }}\", '--wildcards', \"{{ '/_includes/charts/calico/crds/kdd/' if (calico_version is version('v3.22.3', '<')) else '/libcalico-go/config/crd/' }}\"], 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}, 'weave_kube': {'enabled': \"{{ kube_network_plugin == 'weave' }}\", 'container': True, 'repo': '{{ weave_kube_image_repo }}', 'tag': '{{ weave_kube_image_tag }}', 'sha256': '{{ weave_kube_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'weave_npc': {'enabled': \"{{ kube_network_plugin == 'weave' }}\", 'container': True, 'repo': '{{ weave_npc_image_repo }}', 'tag': '{{ weave_npc_image_tag }}', 'sha256': '{{ weave_npc_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'kube_ovn': {'enabled': \"{{ kube_network_plugin == 'kube-ovn' }}\", 'container': True, 'repo': '{{ kube_ovn_container_image_repo }}', 'tag': '{{ kube_ovn_container_image_tag }}', 'sha256': '{{ kube_ovn_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'kube_router': {'enabled': \"{{ kube_network_plugin == 'kube-router' }}\", 'container': True, 'repo': '{{ kube_router_image_repo }}', 'tag': '{{ kube_router_image_tag }}', 'sha256': '{{ kube_router_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'pod_infra': {'enabled': True, 'container': True, 'repo': '{{ pod_infra_image_repo }}', 'tag': '{{ pod_infra_image_tag }}', 'sha256': '{{ pod_infra_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'kube-vip': {'enabled': '{{ kube_vip_enabled }}', 'container': True, 'repo': '{{ kube_vip_image_repo }}', 'tag': '{{ kube_vip_image_tag }}', 'sha256': '{{ kube_vip_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'nginx': {'enabled': \"{{ loadbalancer_apiserver_localhost and loadbalancer_apiserver_type == 'nginx' }}\", 'container': True, 'repo': '{{ nginx_image_repo }}', 'tag': '{{ nginx_image_tag }}', 'sha256': '{{ nginx_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'haproxy': {'enabled': \"{{ loadbalancer_apiserver_localhost and loadbalancer_apiserver_type == 'haproxy' }}\", 'container': True, 'repo': '{{ haproxy_image_repo }}', 'tag': '{{ haproxy_image_tag }}', 'sha256': '{{ haproxy_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'coredns': {'enabled': \"{{ dns_mode in ['coredns', 'coredns_dual'] }}\", 'container': True, 'repo': '{{ coredns_image_repo }}', 'tag': '{{ coredns_image_tag }}', 'sha256': '{{ coredns_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'nodelocaldns': {'enabled': '{{ enable_nodelocaldns }}', 'container': True, 'repo': '{{ nodelocaldns_image_repo }}', 'tag': '{{ nodelocaldns_image_tag }}', 'sha256': '{{ nodelocaldns_digest_checksum | default(None) }}', 'groups': ['k8s_cluster']}, 'dnsautoscaler': {'enabled': \"{{ dns_mode in ['coredns', 'coredns_dual'] }}\", 'container': True, 'repo': '{{ dnsautoscaler_image_repo }}', 'tag': '{{ dnsautoscaler_image_tag }}', 'sha256': '{{ dnsautoscaler_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'helm': {'enabled': '{{ helm_enabled }}', 'file': True, 'version': '{{ helm_version }}', 'dest': '{{ local_release_dir }}/helm-{{ helm_version }}/helm-{{ helm_version }}-linux-{{ image_arch }}.tar.gz', 'sha256': '{{ helm_archive_checksum }}', 'url': '{{ helm_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}, 'krew': {'enabled': '{{ krew_enabled }}', 'file': True, 'version': '{{ krew_version }}', 'dest': '{{ local_release_dir }}/krew-{{ hostos }}{{ image_arch }}.tar.gz', 'sha256': '{{ krew_archive_checksum }}', 'url': '{{ krew_download_url }}', 'unarchive': True, 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}, 'registry': {'enabled': '{{ registry_enabled }}', 'container': True, 'repo': '{{ registry_image_repo }}', 'tag': '{{ registry_image_tag }}', 'sha256': '{{ registry_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'metrics_server': {'enabled': '{{ metrics_server_enabled }}', 'container': True, 'repo': '{{ metrics_server_image_repo }}', 'tag': '{{ metrics_server_image_tag }}', 'sha256': '{{ metrics_server_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'local_volume_provisioner': {'enabled': '{{ local_volume_provisioner_enabled }}', 'container': True, 'repo': '{{ local_volume_provisioner_image_repo }}', 'tag': '{{ local_volume_provisioner_image_tag }}', 'sha256': '{{ local_volume_provisioner_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'cephfs_provisioner': {'enabled': '{{ cephfs_provisioner_enabled }}', 'container': True, 'repo': '{{ cephfs_provisioner_image_repo }}', 'tag': '{{ cephfs_provisioner_image_tag }}', 'sha256': '{{ cephfs_provisioner_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'rbd_provisioner': {'enabled': '{{ rbd_provisioner_enabled }}', 'container': True, 'repo': '{{ rbd_provisioner_image_repo }}', 'tag': '{{ rbd_provisioner_image_tag }}', 'sha256': '{{ rbd_provisioner_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'local_path_provisioner': {'enabled': '{{ local_path_provisioner_enabled }}', 'container': True, 'repo': '{{ local_path_provisioner_image_repo }}', 'tag': '{{ local_path_provisioner_image_tag }}', 'sha256': '{{ local_path_provisioner_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'ingress_nginx_controller': {'enabled': '{{ ingress_nginx_enabled }}', 'container': True, 'repo': '{{ ingress_nginx_controller_image_repo }}', 'tag': '{{ ingress_nginx_controller_image_tag }}', 'sha256': '{{ ingress_nginx_controller_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'ingress_alb_controller': {'enabled': '{{ ingress_alb_enabled }}', 'container': True, 'repo': '{{ alb_ingress_image_repo }}', 'tag': '{{ alb_ingress_image_tag }}', 'sha256': '{{ ingress_alb_controller_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'cert_manager_controller': {'enabled': '{{ cert_manager_enabled }}', 'container': True, 'repo': '{{ cert_manager_controller_image_repo }}', 'tag': '{{ cert_manager_controller_image_tag }}', 'sha256': '{{ cert_manager_controller_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'cert_manager_cainjector': {'enabled': '{{ cert_manager_enabled }}', 'container': True, 'repo': '{{ cert_manager_cainjector_image_repo }}', 'tag': '{{ cert_manager_cainjector_image_tag }}', 'sha256': '{{ cert_manager_cainjector_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'cert_manager_webhook': {'enabled': '{{ cert_manager_enabled }}', 'container': True, 'repo': '{{ cert_manager_webhook_image_repo }}', 'tag': '{{ cert_manager_webhook_image_tag }}', 'sha256': '{{ cert_manager_webhook_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'csi_attacher': {'enabled': '{{ cinder_csi_enabled or aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ csi_attacher_image_repo }}', 'tag': '{{ csi_attacher_image_tag }}', 'sha256': '{{ csi_attacher_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'csi_provisioner': {'enabled': '{{ cinder_csi_enabled or aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ csi_provisioner_image_repo }}', 'tag': '{{ csi_provisioner_image_tag }}', 'sha256': '{{ csi_provisioner_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'csi_snapshotter': {'enabled': '{{ cinder_csi_enabled or aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ csi_snapshotter_image_repo }}', 'tag': '{{ csi_snapshotter_image_tag }}', 'sha256': '{{ csi_snapshotter_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'snapshot_controller': {'enabled': '{{ csi_snapshot_controller_enabled }}', 'container': True, 'repo': '{{ snapshot_controller_image_repo }}', 'tag': '{{ snapshot_controller_image_tag }}', 'sha256': '{{ snapshot_controller_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'csi_resizer': {'enabled': '{{ cinder_csi_enabled or aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ csi_resizer_image_repo }}', 'tag': '{{ csi_resizer_image_tag }}', 'sha256': '{{ csi_resizer_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'csi_node_driver_registrar': {'enabled': '{{ cinder_csi_enabled or aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ csi_node_driver_registrar_image_repo }}', 'tag': '{{ csi_node_driver_registrar_image_tag }}', 'sha256': '{{ csi_node_driver_registrar_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'cinder_csi_plugin': {'enabled': '{{ cinder_csi_enabled }}', 'container': True, 'repo': '{{ cinder_csi_plugin_image_repo }}', 'tag': '{{ cinder_csi_plugin_image_tag }}', 'sha256': '{{ cinder_csi_plugin_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'aws_ebs_csi_plugin': {'enabled': '{{ aws_ebs_csi_enabled }}', 'container': True, 'repo': '{{ aws_ebs_csi_plugin_image_repo }}', 'tag': '{{ aws_ebs_csi_plugin_image_tag }}', 'sha256': '{{ aws_ebs_csi_plugin_digest_checksum | default(None) }}', 'groups': ['kube_node']}, 'dashboard': {'enabled': '{{ dashboard_enabled }}', 'container': True, 'repo': '{{ dashboard_image_repo }}', 'tag': '{{ dashboard_image_tag }}', 'sha256': '{{ dashboard_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'dashboard_metrics_scrapper': {'enabled': '{{ dashboard_enabled }}', 'container': True, 'repo': '{{ dashboard_metrics_scraper_repo }}', 'tag': '{{ dashboard_metrics_scraper_tag }}', 'sha256': '{{ dashboard_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'metallb_speaker': {'enabled': '{{ metallb_speaker_enabled }}', 'container': True, 'repo': '{{ metallb_speaker_image_repo }}', 'tag': '{{ metallb_version }}', 'sha256': '{{ metallb_speaker_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'metallb_controller': {'enabled': '{{ metallb_enabled }}', 'container': True, 'repo': '{{ metallb_controller_image_repo }}', 'tag': '{{ metallb_version }}', 'sha256': '{{ metallb_controller_digest_checksum | default(None) }}', 'groups': ['kube_control_plane']}, 'yq': {'enabled': '{{ argocd_enabled }}', 'file': True, 'version': '{{ yq_version }}', 'dest': '{{ local_release_dir }}/yq-{{ yq_version }}-{{ image_arch }}', 'sha256': '{{ yq_binary_checksum | default(None) }}', 'url': '{{ yq_download_url }}', 'unarchive': False, 'owner': 'root', 'mode': '0755', 'groups': ['kube_control_plane']}}: {{ etcd_supported_versions[kube_major_version] }}: 'dict object' has no attribute 'v1.29'. 'dict object' has no attribute 'v1.29'. {{ etcd_supported_versions[kube_major_version] }}: 'dict object' has no attribute 'v1.29'. 'dict object' has no attribute 'v1.29'\n\nThe error appears to be in '/Users/henriquebarquero/devops/infrastructure/ansible/kubespray-v2.2x/roles/download/tasks/prep_kubeadm_images.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Prep_kubeadm_images | Check kubeadm version matches kubernetes version\n ^ here\n"}

NO MORE HOSTS LEFT **

PLAY RECAP ** localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
master01.sb01.k8s.dev.prozis.tech : ok=108 changed=2 unreachable=0 failed=1 skipped=277 rescued=0 ignored=0
worker01.sb01.k8s.dev.prozis.tech : ok=87 changed=2 unreachable=0 failed=0 skipped=98 rescued=0 ignored=0
worker02.sb01.k8s.dev.prozis.tech : ok=88 changed=2 unreachable=0 failed=0 skipped=97 rescued=0 ignored=0
worker03.sb01.k8s.dev.prozis.tech : ok=88 changed=2 unreachable=0 failed=0 skipped=97 rescued=0 ignored=0

Anything else we need to know

No response

VannTen commented 8 months ago

K8S 1.29 is not supported on 2.24, the target version is 1.28 (Kubespray releases a tagged version once the next Kubernetes version has come out), so latest kubespray version == latest - 1 kubernetes version. Not sure if 1.29 works in master already :thinking: /close

k8s-ci-robot commented 8 months ago

@VannTen: Closing this issue.

In response to [this](https://github.com/kubernetes-sigs/kubespray/issues/10874#issuecomment-1926595250): >K8S 1.29 is not supported on 2.24, the target version is 1.28 >(Kubespray releases a tagged version once the next Kubernetes version has come out), so latest kubespray version == latest - 1 kubernetes version. >Not sure if 1.29 works in master already :thinking: >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
dabeck commented 8 months ago

Why are the 1.29 hashes released within 1.24 if its not supported at all 😁 - quite confusing.

VannTen commented 8 months ago

Not sure about that, might have been a mistake while adding the newest patches version for 1.28.

barquero commented 8 months ago

In master Branch 1.29 is available and working. as @dabeck mentioned, that was my confusion too, as the hashes are available on release 1.24.