Remove os-collect-config dependency from os-net-config
Change-Id: I73ad36465afbd3c078ed6e42550a1a5800963677 Partial-Bug: #1832441
This commit is contained in:
parent
c8311ecc5f
commit
3f0c2ceb02
@ -12,61 +12,6 @@
|
|||||||
#
|
#
|
||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
function get_metadata_ip() {
|
|
||||||
|
|
||||||
local METADATA_IP
|
|
||||||
|
|
||||||
# Look for a variety of Heat transports
|
|
||||||
# FIXME: Heat should provide a way to obtain this in a single place
|
|
||||||
for URL in os-collect-config.cfn.metadata_url os-collect-config.heat.auth_url os-collect-config.request.metadata_url os-collect-config.zaqar.auth_url; do
|
|
||||||
METADATA_IP=$(os-apply-config --key $URL --key-default '' --type raw 2>/dev/null | sed -e 's|http.*://\[\?\([^]]*\)]\?:.*|\1|')
|
|
||||||
[ -n "$METADATA_IP" ] && break
|
|
||||||
done
|
|
||||||
|
|
||||||
echo $METADATA_IP
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function is_local_ip() {
|
|
||||||
local IP_TO_CHECK=$1
|
|
||||||
if ip -o a | grep "inet6\? $IP_TO_CHECK/" &>/dev/null; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function ping_metadata_ip() {
|
|
||||||
local METADATA_IP=$(get_metadata_ip)
|
|
||||||
local METADATA_IP_PING_TIMEOUT=60
|
|
||||||
|
|
||||||
if [ -n "$METADATA_IP" ] && ! is_local_ip $METADATA_IP; then
|
|
||||||
|
|
||||||
echo -n "Trying to ping metadata IP ${METADATA_IP}..."
|
|
||||||
|
|
||||||
_IP="$(getent hosts $METADATA_IP | awk '{ print $1 }')"
|
|
||||||
_ping=ping
|
|
||||||
if [[ "$_IP" =~ ":" ]] ; then
|
|
||||||
_ping=ping6
|
|
||||||
fi
|
|
||||||
|
|
||||||
local COUNT=0
|
|
||||||
until $_ping -c 1 $METADATA_IP &> /dev/null; do
|
|
||||||
COUNT=$(( $COUNT + 1 ))
|
|
||||||
sleep 1
|
|
||||||
if [ $COUNT -eq $METADATA_IP_PING_TIMEOUT ]; then
|
|
||||||
echo "FAILURE"
|
|
||||||
echo "$METADATA_IP is not pingable." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "SUCCESS"
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "No metadata IP found. Skipping."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function configure_safe_defaults() {
|
function configure_safe_defaults() {
|
||||||
|
|
||||||
[[ $? == 0 ]] && return 0
|
[[ $? == 0 ]] && return 0
|
||||||
@ -111,9 +56,7 @@ EOF_CAT
|
|||||||
os-net-config -c /etc/os-net-config/dhcp_all_interfaces.yaml -v --detailed-exit-codes --cleanup
|
os-net-config -c /etc/os-net-config/dhcp_all_interfaces.yaml -v --detailed-exit-codes --cleanup
|
||||||
RETVAL=$?
|
RETVAL=$?
|
||||||
set -e
|
set -e
|
||||||
if [[ $RETVAL == 2 ]]; then
|
if [[ $RETVAL != 2 || $RETVAL != 0 ]]; then
|
||||||
ping_metadata_ip
|
|
||||||
elif [[ $RETVAL != 0 ]]; then
|
|
||||||
echo "ERROR: configuration of safe defaults failed."
|
echo "ERROR: configuration of safe defaults failed."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -146,8 +89,6 @@ if [ -n '$network_config' ]; then
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [[ $RETVAL == 2 ]]; then
|
if [[ $RETVAL == 2 ]]; then
|
||||||
ping_metadata_ip
|
|
||||||
|
|
||||||
#NOTE: dprince this udev rule can apparently leak DHCP processes?
|
#NOTE: dprince this udev rule can apparently leak DHCP processes?
|
||||||
# https://bugs.launchpad.net/tripleo/+bug/1538259
|
# https://bugs.launchpad.net/tripleo/+bug/1538259
|
||||||
# until we discover the root cause we can simply disable the
|
# until we discover the root cause we can simply disable the
|
||||||
|
Loading…
Reference in New Issue
Block a user