* project: update all dependencies including ansible Upgrade to ansible 7.x and ansible-core 2.14.x. There seems to be issue with ansible 8/ansible-core 2.15 so we remain on those versions for now. It's quite a big bump already anyway. Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * tests: install aws galaxy collection Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * ansible-lint: disable various rules after ansible upgrade Temporarily disable a bunch of linting action following ansible upgrade. Those should be taken care of separately. Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve deprecated-module ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve no-free-form ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve schema[meta] ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve schema[playbook] ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve schema[tasks] ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve risky-file-permissions ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve risky-shell-pipe ansible-lint error Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: remove deprecated warn args Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: use fqcn for non builtin tasks Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: resolve syntax-check[missing-file] for contrib playbook Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * project: use arithmetic inside jinja to fix ansible 6 upgrade Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> --------- Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch>
111 lines
3.4 KiB
YAML
111 lines
3.4 KiB
YAML
---
|
|
- name: Macvlan | Retrieve Pod Cidr
|
|
command: "{{ kubectl }} get nodes {{ kube_override_hostname | default(inventory_hostname) }} -o jsonpath='{.spec.podCIDR}'"
|
|
changed_when: false
|
|
register: node_pod_cidr_cmd
|
|
delegate_to: "{{ groups['kube_control_plane'][0] }}"
|
|
|
|
- name: Macvlan | set node_pod_cidr
|
|
set_fact:
|
|
node_pod_cidr: "{{ node_pod_cidr_cmd.stdout }}"
|
|
|
|
- name: Macvlan | Retrieve default gateway network interface
|
|
become: false
|
|
raw: ip -4 route list 0/0 | sed 's/.*dev \([[:alnum:]]*\).*/\1/'
|
|
changed_when: false
|
|
register: node_default_gateway_interface_cmd
|
|
|
|
- name: Macvlan | set node_default_gateway_interface
|
|
set_fact:
|
|
node_default_gateway_interface: "{{ node_default_gateway_interface_cmd.stdout | trim }}"
|
|
|
|
- name: Macvlan | Install network gateway interface on debian
|
|
template:
|
|
src: debian-network-macvlan.cfg.j2
|
|
dest: /etc/network/interfaces.d/60-mac0.cfg
|
|
mode: 0644
|
|
notify: Macvlan | restart network
|
|
when: ansible_os_family in ["Debian"]
|
|
|
|
- block:
|
|
- name: Macvlan | Install macvlan script on centos
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: /etc/sysconfig/network-scripts/
|
|
owner: root
|
|
group: root
|
|
mode: "0755"
|
|
with_fileglob:
|
|
- files/*
|
|
|
|
- name: Macvlan | Install post-up script on centos
|
|
copy:
|
|
src: "files/ifup-local"
|
|
dest: /sbin/
|
|
owner: root
|
|
group: root
|
|
mode: "0755"
|
|
when: enable_nat_default_gateway
|
|
|
|
- name: Macvlan | Install network gateway interface on centos
|
|
template:
|
|
src: "{{ item.src }}.j2"
|
|
dest: "/etc/sysconfig/network-scripts/{{ item.dst }}"
|
|
mode: 0644
|
|
with_items:
|
|
- {src: centos-network-macvlan.cfg, dst: ifcfg-mac0 }
|
|
- {src: centos-routes-macvlan.cfg, dst: route-mac0 }
|
|
- {src: centos-postup-macvlan.cfg, dst: post-up-mac0 }
|
|
notify: Macvlan | restart network
|
|
|
|
when: ansible_os_family == "RedHat"
|
|
|
|
- block:
|
|
- name: Macvlan | Install service nat via gateway on Flatcar Container Linux
|
|
template:
|
|
src: coreos-service-nat_ouside.j2
|
|
dest: /etc/systemd/system/enable_nat_ouside.service
|
|
mode: 0644
|
|
when: enable_nat_default_gateway
|
|
|
|
- name: Macvlan | Enable service nat via gateway on Flatcar Container Linux
|
|
command: "{{ item }}"
|
|
with_items:
|
|
- systemctl daemon-reload
|
|
- systemctl enable enable_nat_ouside.service
|
|
when: enable_nat_default_gateway
|
|
|
|
- name: Macvlan | Install network gateway interface on Flatcar Container Linux
|
|
template:
|
|
src: "{{ item.src }}.j2"
|
|
dest: "/etc/systemd/network/{{ item.dst }}"
|
|
mode: 0644
|
|
with_items:
|
|
- {src: coreos-device-macvlan.cfg, dst: macvlan.netdev }
|
|
- {src: coreos-interface-macvlan.cfg, dst: output.network }
|
|
- {src: coreos-network-macvlan.cfg, dst: macvlan.network }
|
|
notify: Macvlan | restart network
|
|
|
|
when: ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"]
|
|
|
|
- name: Macvlan | Install cni definition for Macvlan
|
|
template:
|
|
src: 10-macvlan.conf.j2
|
|
dest: /etc/cni/net.d/10-macvlan.conf
|
|
mode: 0644
|
|
|
|
- name: Macvlan | Install loopback definition for Macvlan
|
|
template:
|
|
src: 99-loopback.conf.j2
|
|
dest: /etc/cni/net.d/99-loopback.conf
|
|
mode: 0644
|
|
|
|
- name: Enable net.ipv4.conf.all.arp_notify in sysctl
|
|
ansible.posix.sysctl:
|
|
name: net.ipv4.conf.all.arp_notify
|
|
value: 1
|
|
sysctl_set: yes
|
|
sysctl_file: "{{ sysctl_file_path }}"
|
|
state: present
|
|
reload: yes
|