104 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
- name: PVE base network configuration
 | 
						|
  hosts: proxmox
 | 
						|
  serial: 1 # one host at a time
 | 
						|
  tasks:
 | 
						|
    - name: /etc/network/interfaces
 | 
						|
      tags: network
 | 
						|
      ansible.builtin.template:
 | 
						|
        src: templates/network.interfaces.j2
 | 
						|
        dest: /etc/network/interfaces
 | 
						|
      notify: reload networking
 | 
						|
    - name: UI primary IP (/etc/hosts)
 | 
						|
      tags: network
 | 
						|
      ansible.builtin.lineinfile:
 | 
						|
        path: /etc/hosts
 | 
						|
        regexp: ' {{ inventory_hostname_short }}$'
 | 
						|
        line: '{{ primary_ipv6 | split("/") | first }} {{ inventory_hostname }} {{ inventory_hostname_short }}'
 | 
						|
  handlers:
 | 
						|
    - name: reload networking
 | 
						|
      ansible.builtin.systemd_service:
 | 
						|
        name: networking.service
 | 
						|
        state: reloaded
 | 
						|
 | 
						|
- name: PVE CEPH network configuration
 | 
						|
  hosts: proxmox
 | 
						|
  serial: 1  # one host at a time
 | 
						|
 | 
						|
  tasks:
 | 
						|
    - name: Load secrets
 | 
						|
      ansible.builtin.include_vars:
 | 
						|
        file: ../secrets/bgp.yaml
 | 
						|
 | 
						|
    - name: configure mesh network
 | 
						|
      ansible.builtin.template:
 | 
						|
        src: templates/ceph.interfaces.j2
 | 
						|
        dest: /etc/network/interfaces.d/ceph
 | 
						|
      tags: network
 | 
						|
 | 
						|
    - name: ifup lo
 | 
						|
      ansible.builtin.command:
 | 
						|
        cmd: ifup lo
 | 
						|
      tags: network
 | 
						|
 | 
						|
    - name: ifup mesh interfaces
 | 
						|
      ansible.builtin.command:
 | 
						|
        cmd: "ifup {{ item }}"
 | 
						|
      loop: "{{ ceph_mesh.interfaces }}"
 | 
						|
      loop_control:
 | 
						|
        label: "ifup {{ item }}"
 | 
						|
      tags: network
 | 
						|
 | 
						|
    - name: enable fabricd OpenFabric in FRR
 | 
						|
      ansible.builtin.lineinfile:
 | 
						|
        path: /etc/frr/daemons
 | 
						|
        regexp: ^fabricd=.*$
 | 
						|
        line: fabricd=yes
 | 
						|
      notify: reload FRR
 | 
						|
      tags: frr
 | 
						|
 | 
						|
    - name: configure FRR
 | 
						|
      ansible.builtin.template:
 | 
						|
        src: templates/frr.conf.j2
 | 
						|
        dest: /etc/frr/frr.conf
 | 
						|
      notify: reload FRR
 | 
						|
      tags: frr
 | 
						|
 | 
						|
    - name: enable/start FRR
 | 
						|
      ansible.builtin.systemd_service:
 | 
						|
        name: frr.service
 | 
						|
        enabled: true
 | 
						|
        state: started
 | 
						|
 | 
						|
    - name: configure ebtables
 | 
						|
      ansible.builtin.template:
 | 
						|
        src: templates/ebtables.rules.j2
 | 
						|
        dest: /etc/ebtables.rules
 | 
						|
        mode: "u=rw,g=r,o=r"
 | 
						|
      notify: reload ebtables
 | 
						|
      tags: ebtables
 | 
						|
 | 
						|
    - name: create ebtables systemd service
 | 
						|
      ansible.builtin.template:
 | 
						|
        src: templates/ebtables.service.j2
 | 
						|
        dest: /etc/systemd/system/ebtables.service
 | 
						|
        mode: "u=rw,g=r,o=r"
 | 
						|
      tags: ebtables
 | 
						|
 | 
						|
    - name: enable/start ebtables service
 | 
						|
      ansible.builtin.systemd_service:
 | 
						|
        name: ebtables.service
 | 
						|
        enabled: true
 | 
						|
        state: started
 | 
						|
      tags: ebtables
 | 
						|
 | 
						|
  handlers:
 | 
						|
    - name: reload FRR
 | 
						|
      ansible.builtin.systemd_service:
 | 
						|
        name: frr.service
 | 
						|
        state: reloaded
 | 
						|
 | 
						|
    - name: reload ebtables
 | 
						|
      ansible.builtin.systemd_service:
 | 
						|
        name: frr.service
 | 
						|
        state: restarted
 |