--- - name: Get interface uuid ansible.builtin.command: argv: - nmcli - -f - DEVICE,UUID,NAME - c - show changed_when: false check_mode: false register: interface_uuid - name: Create ethernet interface configurations ansible.builtin.template: src: ifcfg-eth.j2 dest: "/etc/sysconfig/network-scripts/ifcfg-{{ item.device }}" mode: "0644" owner: root group: "{{ ansible_wheel }}" # notify: Reload network manager connections with_items: "{{ network_interfaces }}" when: - ansible_distribution != "Fedora" - ansible_distribution_major_version | int <= 8 - name: Create ethernet interface configurations ansible.builtin.template: src: nmconnection.j2 dest: "/etc/NetworkManager/system-connections/{{ item.device }}.nmconnection" mode: "0600" owner: root group: "{{ ansible_wheel }}" notify: Reload network manager connections with_items: "{{ network_interfaces }}" when: >- ansible_distribution == "Fedora" or ansible_distribution_major_version | int >= 9 - name: Install keepalived ansible.builtin.package: name: keepalived state: installed when: - network_vip_interfaces is defined - network_vip_interfaces != [] - name: Create keepalived group ansible.builtin.group: name: keepalived system: true when: - network_vip_interfaces is defined - network_vip_interfaces != [] - name: Create keepalived user ansible.builtin.user: name: keepalived comment: Service keepalived createhome: false group: keepalived home: /var/empty shell: /sbin/nologin system: true when: - network_vip_interfaces is defined - network_vip_interfaces != [] - name: Create run directory ansible.builtin.copy: dest: /etc/tmpfiles.d/keepalived.conf content: "d /run/keepalived 755 keepalived keepalived" mode: "0644" owner: root group: "{{ ansible_wheel }}" notify: Refresh keepalived run directory when: - network_vip_interfaces is defined - network_vip_interfaces != [] - name: Copy keepalived notify script ansible.builtin.copy: dest: /usr/local/libexec/keepalived-notify src: keepalived-notify.sh mode: "0755" owner: root group: "{{ ansible_wheel }}" when: - network_vip_interfaces is defined - network_vip_interfaces != [] - name: Create keepalived config ansible.builtin.template: dest: /etc/keepalived/keepalived.conf src: keepalived.conf.j2 mode: "0600" owner: root group: "{{ ansible_wheel }}" notify: Restart keepalived when: - network_vip_interfaces is defined - network_vip_interfaces != [] - name: Enable keepalived ansible.builtin.service: name: keepalived state: started enabled: true when: - network_vip_interfaces is defined - network_vip_interfaces != []