Skip to content
Snippets Groups Projects
Select Git revision
  • f81215ef066c5441899337f369bdedcd85bb20aa
  • master default protected
2 results

bgp.yaml

Blame
  • bgp.yaml 1.35 KiB
    ---
    
    - name: Install required packages for bgp
      package:
        state: present
        name:
          - frr
          - gobgpd
    
    - name: Create opt/gobgpd folder
      file:
        path: /opt/gobgpd
        state: directory
    
    - name: Download gobgpd tar file and extract it
      unarchive: 
        src: https://github.com/osrg/gobgp/releases/download/v2.33.0/gobgp_2.33.0_linux_amd64.tar.gz
        dest: /opt/gobgpd
        remote_src: yes
    
    - name: Place frr config file
      template:
        src: etc/frr/daemons.j2
        dest: /etc/frr/daemons
        mode: 0640
      register: frr_config_file
    
    - name: Ensure frr is restarted and enabled to start at boot
      service:
        name: frr
        state: restarted
        enabled: yes
      when: frr_config_file.changed
    
    - name: Place gobgpd systemd service file
      template:
        src: etc/systemd/system/gobgpd.service.j2
        dest: /etc/systemd/system/gobgpd.service
        mode: 0644
      register: gobgpd_service_config_file
    
    - name: Place gobgpd config file
      template:
        src: etc/gobgpd.conf.j2
        dest: /etc/gobgpd.conf
        mode: 0644
      register: gobgpd_config_file
    
    - name: Force systemd to reread configs
      ansible.builtin.systemd:
        daemon_reload: yes
      when: gobgpd_service_config_file.changed
    
    - name: Ensure gobgpd is restarted and enabled to start at boot
      service:
        name: gobgpd
        state: restarted
        enabled: yes
      when: gobgpd_config_file.changed or gobgpd_service_config_file.changed