Commit bec34905 authored by Derek Nola's avatar Derek Nola
Browse files

Only use iptables alternative on older iptables versions



Signed-off-by: default avatarDerek Nola <derek.nola@suse.com>
parent 3b998201
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -41,17 +41,9 @@
    - raspberry_pi|default(false)
    - ansible_facts.os_family is match("Archlinux")

- name: Set detected_distribution_major_version
  ansible.builtin.set_fact:
    detected_distribution_major_version: "{{ ansible_facts.lsb.major_release }}"
  when: >
    ( detected_distribution | default("") == "Raspbian" or
      detected_distribution | default("") == "Debian" )

- name: Execute OS related tasks on the Raspberry Pi
  ansible.builtin.include_tasks: "{{ item }}"
  with_first_found:
    - "prereq/{{ detected_distribution }}-{{ detected_distribution_major_version }}.yml"
    - "prereq/{{ detected_distribution }}.yml"
    - "prereq/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
    - "prereq/{{ ansible_distribution }}.yml"
+30 −17
Original line number Diff line number Diff line
@@ -12,9 +12,22 @@
    backrefs: true
  notify: Reboot Pi

- name: Install iptables
  ansible.builtin.apt:
    name: iptables
- name: Gather the package facts
  ansible.builtin.package_facts:
    manager: auto

# If no iptables is found, K3s will use the iptables it ships with.
# However, if a iptables is found, K3s will use that instead. Iptables
# versions 1.8.7 and older have problems with K3s, so we force the use of
# iptables-legacy in that case.
- name: If old iptables found, change to iptables-legacy
  when:
    - ansible_facts.packages['iptables'] is defined
    - ansible_facts.packages['iptables'][0]['version'] is version('1.8.8', '<')
  block:
    - name: Iptables version on node
      ansible.builtin.debug:
        msg: "iptables version {{ ansible_facts.packages['iptables'][0]['version'] }} found"

    - name: Flush iptables before changing to iptables-legacy
      ansible.builtin.iptables:
+31 −14
Original line number Diff line number Diff line
@@ -7,6 +7,23 @@
    backrefs: true
  notify: Reboot Pi

- name: Gather the package facts
  ansible.builtin.package_facts:
    manager: auto

# If no iptables is found, K3s will use the iptables it ships with.
# However, if a iptables is found, K3s will use that instead. Iptables
# versions 1.8.7 and older have problems with K3s, so we force the use of
# iptables-legacy in that case.
- name: If old iptables found, change to iptables-legacy
  when:
    - ansible_facts.packages['iptables'] is defined
    - ansible_facts.packages['iptables'][0]['version'] is version('1.8.8', '<')
  block:
    - name: Iptables version on node
      ansible.builtin.debug:
        msg: "iptables version {{ ansible_facts.packages['iptables'][0]['version'] }} found"

    - name: Flush iptables before changing to iptables-legacy
      ansible.builtin.iptables:
        flush: true