--- /dev/null
+---
+- name: check if nmap is installed
+ shell: "command -v nmap"
+ changed_when: false
+ failed_when: false
+ register: nmapexist
+
+- name: fail if nmap is not present
+ fail:
+ msg: "nmap is needed to make sure ceph ports are not filtered, please install it"
+ when: nmapexist.rc != 0
+
+- name: check if monitor port is not filtered
+ local_action: shell nmap -p 6789 {{ item }} {{ hostvars[item]['ansible_' + monitor_interface]['ipv4']['address'] }} | grep -sqo filtered
+ changed_when: false
+ failed_when: false
+ with_items: groups.{{ mon_group_name }}
+ register: monportstate
+ register: monportstate
+ when: mon_group_name in group_names
+
+- name: fail if monitor port is filtered
+ fail:
+ msg: "Please allow port 6789 on your firewall"
+ with_items: monportstate.results
+ when:
+ item.rc == 0 and
+ mon_group_name is defined and
+ mon_group_name in group_names
+
+- name: check if osd and mds range is not filtered
+ local_action: shell nmap -p 6800-7300 {{ item }} {{ hostvars[item]['ansible_default_ipv4']['address'] }} | grep -sqo filtered
+ changed_when: false
+ failed_when: false
+ with_items: groups.{{ osd_group_name }}
+ register: osdrangestate
+ when: osd_group_name in group_names
+
+- name: fail if osd and mds range is filtered (osd hosts)
+ fail:
+ msg: "Please allow range from 6800 to 7300 on your firewall"
+ with_items: osdrangestate.results
+ when:
+ item.rc == 0 and
+ osd_group_name is defined and
+ osd_group_name in group_names
+
+- name: check if osd and mds range is not filtered
+ local_action: shell nmap -p 6800-7300 {{ item }} {{ hostvars[item]['ansible_default_ipv4']['address'] }} | grep -sqo filtered
+ changed_when: false
+ failed_when: false
+ with_items: groups.{{ mds_group_name }}
+ register: mdsrangestate
+ when: mds_group_name in group_names
+
+- name: fail if osd and mds range is filtered (mds hosts)
+ fail:
+ msg: "Please allow range from 6800 to 7300 on your firewall"
+ with_items: mdsrangestate.results
+ when:
+ item.rc == 0 and
+ mds_group_name is defined and
+ mds_group_name in group_names
+
+- name: check if rados gateway port is not filtered
+ local_action: shell nmap -p {{ radosgw_civetweb_port }} {{ item }} {{ hostvars[item]['ansible_default_ipv4']['address'] }} | grep -sqo filtered
+ changed_when: false
+ failed_when: false
+ with_items: groups.rgws
+ register: rgwportstate
+ when: rgw_group_name in group_names
+
+- name: fail if rados gateway port is filtered
+ fail:
+ msg: "Please allow port {{ radosgw_civetweb_port }} on your firewall"
+ with_items: rgwportstate.results
+ when:
+ item.rc == 0 and
+ rgw_group_name is defined and
+ rgw_group_name in group_names