From 3aeb7d69eaf75f49670c95ea58ef7a4c8e7a68bb Mon Sep 17 00:00:00 2001 From: egandro Date: Sun, 28 Jan 2024 01:50:13 +0100 Subject: [PATCH] added fix for metallb version upgrades (#394) * added fix for metallb version upgrades * use bash to allow pipefail --------- Co-authored-by: Harald Fielker Co-authored-by: Techno Tim --- roles/k3s_server_post/tasks/metallb.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/roles/k3s_server_post/tasks/metallb.yml b/roles/k3s_server_post/tasks/metallb.yml index 2421947..07a23b0 100644 --- a/roles/k3s_server_post/tasks/metallb.yml +++ b/roles/k3s_server_post/tasks/metallb.yml @@ -8,6 +8,27 @@ with_items: "{{ groups[group_name_master | default('master')] }}" run_once: true +- name: Delete outdated metallb replicas + shell: |- + set -o pipefail + + REPLICAS=$(k3s kubectl --namespace='metallb-system' get replicasets \ + -l 'component=controller,app=metallb' \ + -o jsonpath='{.items[0].spec.template.spec.containers[0].image}, {.items[0].metadata.name}' 2>/dev/null || true) + REPLICAS_SETS=$(echo ${REPLICAS} | grep -v '{{ metal_lb_controller_tag_version }}' | sed -e "s/^.*\s//g") + if [ -n "${REPLICAS_SETS}" ] ; then + for REPLICAS in "${REPLICAS_SETS}" + do + k3s kubectl --namespace='metallb-system' \ + delete rs "${REPLICAS}" + done + fi + args: + executable: /bin/bash + changed_when: false + run_once: true + with_items: "{{ groups[group_name_master | default('master')] }}" + - name: Copy metallb CRs manifest to first master template: src: "metallb.crs.j2"