blob: 58c560c7f037322fa4d8eea60f610818b4e371b5 [file] [log] [blame]
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
update_from_metadata_fields() {
local metadataIp="169.254.169.254"
local metadataFiels=$(curl -s --connect-timeout 5 169.254.169.254/openstack/latest/meta_data.json | jq -r .meta)
if [ -n "${metadataFiels}" ]; then
local dmz=$(echo ${metadataFiels} | jq -r .dmz)
if [ "${dmz}" == "true" ]
local dmzGateway=$(echo ${metadataFiels} | jq -r .dmz_gateway)
if [ -n "${dmzGateway}" ]; then
local curDefault=$(ip r | grep 'default via' | cut -f 3 -d ' ')
if [ "${curDefault}" != "${dmzGateway}" ]; then
ip r del default
ip r add default via ${dmzGateway}
fi
fi
fi
fi
}
if [ ! -f /tmp/bootstrap_interfaces ] && [ -d /srv/salt/reclass/nodes/_generated ]; then
sed -i "s/single_address:.*/single_address: $(hostname -I | cut -d ' ' -f 1)/g" /srv/salt/reclass/nodes/cfg01.*
touch /tmp/bootstrap_interfaces
fi
update_from_metadata_fields || echo "Can't update settings from metadata fields"
exit 0