mirror of https://github.com/ceph/ceph-ansible.git
validate: add checks for interfaces
Check if the interface provided: * exists in the gathered facts (thus on the system) * is active * has an IP address (depending on ip_version ) Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1600227 Signed-off-by: Sébastien Han <seb@redhat.com>pull/2928/head
parent
b3266c5be2
commit
235d1b3f55
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
- name: "fail if {{ monitor_interface }} does not exist on {{ inventory_hostname }}"
|
||||
fail:
|
||||
msg: "{{ monitor_interface }} does not exist on {{ inventory_hostname }}"
|
||||
when:
|
||||
- monitor_interface not in ansible_interfaces
|
||||
|
||||
- name: "fail if {{ monitor_interface }} is not active on {{ inventory_hostname }}"
|
||||
fail:
|
||||
msg: "{{ monitor_interface }} is not active on {{ inventory_hostname }}"
|
||||
when:
|
||||
- not hostvars[inventory_hostname]['ansible_' + monitor_interface]['active']
|
||||
|
||||
- name: "fail if {{ monitor_interface }} does not have any ip v4 address on {{ inventory_hostname }}"
|
||||
fail:
|
||||
msg: "{{ monitor_interface }} does not have any IPv4 address on {{ inventory_hostname }}"
|
||||
when:
|
||||
- ip_version == "ipv4"
|
||||
- hostvars[inventory_hostname]['ansible_' + monitor_interface]['ipv4'] is not defined
|
||||
|
||||
- name: "fail if {{ monitor_interface }} does not have any ip v6 address on {{ inventory_hostname }}"
|
||||
fail:
|
||||
msg: "{{ monitor_interface }} does not have any IPv6 address on {{ inventory_hostname }}"
|
||||
when:
|
||||
- ip_version == "ipv6"
|
||||
- hostvars[inventory_hostname]['ansible_' + monitor_interface]['ipv6'] is not defined
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
- name: "fail if {{ radosgw_interface }} does not exist on {{ inventory_hostname }}"
|
||||
fail:
|
||||
msg: "{{ radosgw_interface }} does not exist on {{ inventory_hostname }}"
|
||||
when:
|
||||
- radosgw_interface not in ansible_interfaces
|
||||
|
||||
- name: "fail if {{ radosgw_interface }} is not active on {{ inventory_hostname }}"
|
||||
fail:
|
||||
msg: "{{ radosgw_interface }} is not active on {{ inventory_hostname }}"
|
||||
when:
|
||||
- hostvars[inventory_hostname]['ansible_' + radosgw_interface]['active'] == "false"
|
||||
|
||||
- name: "fail if {{ radosgw_interface }} does not have any ip v4 address on {{ inventory_hostname }}"
|
||||
fail:
|
||||
msg: "{{ radosgw_interface }} does not have any IPv4 address on {{ inventory_hostname }}"
|
||||
when:
|
||||
- ip_version == "ipv4"
|
||||
- hostvars[inventory_hostname]['ansible_' + radosgw_interface]['ipv4'] is not defined
|
||||
|
||||
- name: "fail if {{ radosgw_interface }} does not have any ip v6 address on {{ inventory_hostname }}"
|
||||
fail:
|
||||
msg: "{{ radosgw_interface }} does not have any IPv6 address on {{ inventory_hostname }}"
|
||||
when:
|
||||
- ip_version == "ipv6"
|
||||
- hostvars[inventory_hostname]['ansible_' + radosgw_interface]['ipv6'] is not defined
|
|
@ -59,3 +59,19 @@
|
|||
- osd_group_name in group_names
|
||||
- not osd_auto_discovery | default(False)
|
||||
- osd_scenario != "lvm"
|
||||
|
||||
- name: include check_eth_mon.yml
|
||||
include: check_eth_mon.yml
|
||||
when:
|
||||
- mon_group_name in group_names
|
||||
- monitor_interface != "dummy"
|
||||
- monitor_address == "0.0.0.0"
|
||||
- monitor_address_block == "subnet"
|
||||
|
||||
- name: include check_eth_rgw.yml
|
||||
include: check_eth_rgw.yml
|
||||
when:
|
||||
- rgw_group_name in group_names
|
||||
- radosgw_interface != "dummy"
|
||||
- radosgw_address == "0.0.0.0"
|
||||
- radosgw_address_block == "subnet"
|
Loading…
Reference in New Issue