eae-am-deutschen-platz/playbook_provision_gateway.yml

150 lines
3.5 KiB
YAML

---
- name: provision gateway
hosts: gateways
tasks:
- name: configure routing tables
copy:
src: "{{ item }}"
dest: /etc/iproute2/
owner: root
group: root
mode: 0644
with_fileglob:
- "templates/gateways/{{ inventory_hostname }}/etc/iproute2/*"
notify:
- reload network
- name: provision /etc/config
template:
src: "{{ item }}"
dest: /etc/config/
owner: root
group: root
mode: 0600
with_fileglob:
- "templates/gateways/base/etc/config/*"
- "templates/gateways/{{ inventory_hostname }}/etc/config/*"
notify:
- "reload {{ item | basename }}"
- name: configure frr
template:
src: "{{ item }}"
dest: /etc/frr/
owner: root
group: root
mode: 0600
with_fileglob:
- "templates/gateways/base/etc/frr/*"
- "templates/gateways/{{ inventory_hostname }}/etc/frr/*"
notify:
- restart frr
- name: install lldpd
opkg:
name: lldpd
update_cache: yes
handlers:
- name: reload dhcp
service:
name: dnsmasq
state: reloaded
- name: reload firewall
service:
name: firewall
state: reloaded
- name: reload network
service:
name: network
state: reloaded
- name: reload prometheus-node-exporter-lua
service:
name: prometheus-node-exporter-lua
state: reloaded
- name: reload system
service:
name: system
state: reloaded
- name: restart frr
service:
name: frr
state: restarted
- name: reload lldpd
service:
name: lldpd
state: reloaded
- name: custom changes for ffl-ans-gw-core01 (offloader vm, ...)
hosts: ffl-ans-gw-core01
tasks:
- name: install qemu packages
opkg:
name:
- kmod-tun
- qemu-x86_64-softmmu
- kmod-kvm-intel
update_cache: yes
- name: provision /usr/lib
template:
src: "{{ item }}"
dest: /usr/lib
owner: root
group: root
mode: 0755
with_fileglob:
- "templates/gateways/{{ inventory_hostname }}/usr/lib/*"
- name: provision /etc/init.d
template:
src: "{{ item }}"
dest: /etc/init.d/
owner: root
group: root
mode: 0755
with_fileglob:
- "templates/gateways/{{ inventory_hostname }}/etc/init.d/*"
- name: preserve custom changes on config backups
blockinfile:
path: /etc/sysupgrade.conf
marker_begin: "BEGIN OFFLOADER"
marker_end: "END OFFLOADER"
block: |
/etc/init.d/qemu-offloader
/usr/lib/offloader_vm_net_up
- name: enable offloader vm service
service:
name: qemu-offloader
state: started
enabled: True
- name: add notes about custom offloader in banner
copy:
dest: /etc/profile.d/01_offloader_banner.sh
owner: root
group: root
mode: 0644
content: |
cat << EOB
DISCLAIMER:
===========
There is a FFL/FFDD offloader running on this machine
via qemu.
service qemu-offloader status
to be cleaned up:
- let procd gracefully kill the vm on stop/shutdown
- remove network hook /usr/lib/offloader_vm_net_up
-----------------------------------------------------
EOB