needed
JIRA: APEX-198
Adds support for baremetal deployments where external connectivity is only
provided via the jumphost. The connectivity test is done by pinging an
external IP (8.8.8.8 by default) for each node. If ping fails for any of
the nodes then NAT is added.
Change-Id: I8d59beb03c3b2998deaec5dc7536fa7a5b1f7718
Signed-off-by: Markus Kullberg <markus.kullberg@nokia.com>
return 1
fi
}
+
+##tests if overcloud nodes have external connectivity
+#params:none
+function test_overcloud_connectivity {
+ for node in $(undercloud_connect stack ". stackrc && nova list" | grep -Eo "controller-[0-9]+|compute-[0-9]+" | tr -d -) ; do
+ if ! overcloud_connect $node "ping -c 2 $ping_site > /dev/null"; then
+ echo "${blue}Node ${node} was unable to ping site ${ping_site}${reset}"
+ return 1
+ fi
+ done
+ echo "${blue}Overcloud external connectivity OK${reset}"
+}
+
EOI
# for virtual, we NAT public network through Undercloud
- if [ "$virtual" == "TRUE" ] && [ "$public_network_ipv6" != "True" ]; then
+ # same goes for baremetal if only jumphost has external connectivity
+ if [ "$virtual" == "TRUE" ] || ! test_overcloud_connectivity && [ "$public_network_ipv6" != "True" ]; then
if ! configure_undercloud_nat ${public_network_cidr}; then
echo -e "${red}ERROR: Unable to NAT undercloud with external net: ${public_network_cidr}${reset}"
exit 1