48 lines
1.6 KiB
YAML
48 lines
1.6 KiB
YAML
---
|
|
- name: IP Address Alias Testing
|
|
hosts: ipalias
|
|
gather_facts: true
|
|
|
|
tasks:
|
|
# - name: Debug ansible_interfaces
|
|
# ansible.builtin.debug:
|
|
# var: ansible_interfaces
|
|
|
|
# - name: Capture network interfaces for host
|
|
# ansible.builtin.set_fact:
|
|
# host_interfaces: "{{ host_interfaces | default([]) | combine({inventory_hostname + '_' + item: 'ansible_' + item}) }}"
|
|
# loop: "{{ ansible_interfaces }}"
|
|
# when:
|
|
# - "'lo' not in item"
|
|
|
|
# - name: Debug host_interfaces
|
|
# ansible.builtin.debug:
|
|
# var: host_interfaces
|
|
|
|
- name: Display any IP aliases for host
|
|
ansible.builtin.debug:
|
|
msg: |
|
|
IP alias detected for interface '{{ item }}:
|
|
{{ hostvars[inventory_hostname]['ansible_' + item]['ipv4_secondaries'] }}
|
|
loop: "{{ ansible_interfaces }}"
|
|
when:
|
|
- "'lo' not in item"
|
|
- hostvars[inventory_hostname]['ansible_' + item]['ipv4_secondaries'] is defined
|
|
|
|
|
|
- name: Log IP alias check to syslogger
|
|
community.general.syslogger:
|
|
msg: "{{ inventory_hostname }} has IP aliases defined for {{ item }}."
|
|
ident: ansbl_ipu_precheck
|
|
vars:
|
|
actors: "check_ip_alias_presence"
|
|
title: >
|
|
IP address aliases cause conflicts with in place upgrades
|
|
summary: "IP address aliases not supported after in place upgrade"
|
|
severity: "high"
|
|
flags: ["inhibitor"]
|
|
loop: "{{ ansible_interfaces }}"
|
|
when:
|
|
- "'lo' not in item"
|
|
- hostvars[inventory_hostname]['ansible_' + item]['ipv4_secondaries'] is defined
|