Timotej Lazar
ce7c1bd49e
Mostly to avoid special‐casing bond interfaces, and to support BGP connections over virtual interfaces.
90 lines
1.8 KiB
YAML
90 lines
1.8 KiB
YAML
- name: Set hostname
|
|
hostname:
|
|
name: "{{ inventory_hostname }}"
|
|
|
|
- name: Set hostname in /etc/hosts
|
|
lineinfile:
|
|
path: /etc/hosts
|
|
regexp: '^127.0.1.1\s+'
|
|
line: "127.0.1.1 {{ inventory_hostname }}"
|
|
|
|
- name: Disable unneeded services
|
|
service:
|
|
name: '{{ item }}'
|
|
enabled: false
|
|
state: stopped
|
|
loop:
|
|
- nvued
|
|
- netqd@mgmt
|
|
|
|
- name: Set up ports
|
|
template:
|
|
dest: /etc/cumulus/ports.conf
|
|
src: ports.conf.j2
|
|
notify: reload switchd
|
|
|
|
- name: Set up management VRF and interface
|
|
template:
|
|
dest: /etc/network/interfaces
|
|
src: interfaces.j2
|
|
mode: 0644
|
|
notify: reload interfaces
|
|
|
|
- name: Set up loopback and switch interfaces
|
|
template:
|
|
dest: "/etc/network/interfaces.d/{{ item }}.intf"
|
|
src: "{{ item }}.intf.j2"
|
|
mode: 0644
|
|
notify: reload interfaces
|
|
loop:
|
|
- loopback
|
|
- switch
|
|
|
|
- name: Set up peerlink
|
|
template:
|
|
dest: "/etc/network/interfaces.d/peerlink.intf"
|
|
src: "peerlink.intf.j2"
|
|
mode: 0644
|
|
notify: reload interfaces
|
|
when: "peer is defined"
|
|
|
|
- name: Set up bridge
|
|
template:
|
|
dest: "/etc/network/interfaces.d/bridge.intf"
|
|
src: "bridge.intf.j2"
|
|
mode: 0644
|
|
notify: reload interfaces
|
|
when: "'bridge' in interfaces | map(attribute='name')"
|
|
|
|
- name: Set nameservers for mgmt VRF
|
|
template:
|
|
dest: /etc/resolv.conf
|
|
src: resolv.conf.j2
|
|
mode: 0644
|
|
notify: reload interfaces
|
|
|
|
- name: Disable SSH in default VRF
|
|
service:
|
|
name: ssh
|
|
enabled: no
|
|
state: stopped
|
|
|
|
- name: Listen for SSH only in mgmt VRF
|
|
service:
|
|
name: ssh@mgmt
|
|
enabled: yes
|
|
state: started
|
|
|
|
- name: Enable BGP for FRR
|
|
lineinfile:
|
|
path: /etc/frr/daemons
|
|
regexp: '^bgpd='
|
|
line: 'bgpd=yes'
|
|
notify: restart frr
|
|
|
|
- name: Enable FRR
|
|
service:
|
|
name: frr
|
|
enabled: yes
|
|
state: started
|