summaryrefslogtreecommitdiffstats
path: root/playbooks/init/validate_hostnames.yml
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/init/validate_hostnames.yml')
-rw-r--r--playbooks/init/validate_hostnames.yml43
1 files changed, 43 insertions, 0 deletions
diff --git a/playbooks/init/validate_hostnames.yml b/playbooks/init/validate_hostnames.yml
new file mode 100644
index 000000000..86e0b2416
--- /dev/null
+++ b/playbooks/init/validate_hostnames.yml
@@ -0,0 +1,43 @@
+---
+- name: Validate node hostnames
+ hosts: oo_nodes_to_config
+ any_errors_fatal: true
+ tasks:
+ - name: Query DNS for IP address of {{ openshift.common.hostname }}
+ shell:
+ getent ahostsv4 {{ openshift.common.hostname }} | head -n 1 | awk '{ print $1 }'
+ register: lookupip
+ changed_when: false
+ failed_when: false
+
+ - name: Validate openshift_hostname when defined
+ fail:
+ msg: >
+ The hostname {{ openshift.common.hostname }} for {{ ansible_nodename }}
+ doesn't resolve to an IP address owned by this host. Please set
+ openshift_hostname variable to a hostname that when resolved on the host
+ in question resolves to an IP address matching an interface on this host.
+ This will ensure proper functionality of OpenShift networking features.
+ Inventory setting: openshift_hostname={{ openshift_hostname }}
+ This check can be overridden by setting openshift_hostname_check=false in
+ the inventory.
+ See https://docs.openshift.org/latest/install_config/install/advanced_install.html#configuring-host-variables
+ when:
+ - lookupip.stdout != '127.0.0.1'
+ - lookupip.stdout not in ansible_all_ipv4_addresses
+ - openshift_hostname_check | default(true)
+
+ - name: Validate openshift_ip exists on node when defined
+ fail:
+ msg: >
+ The IP address {{ openshift_ip }} does not exist on {{ ansible_nodename }}.
+ Please set the openshift_ip variable to an IP address of this node.
+ This will ensure proper functionality of OpenShift networking features.
+ Inventory setting: openshift_ip={{ openshift_ip }}
+ This check can be overridden by setting openshift_ip_check=false in
+ the inventory.
+ See https://docs.openshift.org/latest/install_config/install/advanced_install.html#configuring-host-variables
+ when:
+ - openshift_ip is defined
+ - openshift_ip not in ansible_all_ipv4_addresses
+ - openshift_ip_check | default(true)