rut-prod-ops/scripts/update_ip_on_host.sh

29 lines
643 B
Bash
Executable file

#!/bin/bash
SERVERNAME=$1
DOMAIN=rut.sunet.se
OLDIPV4=$(dig -t a +short $SERVERNAME)
OLDIPV6=$(dig -t aaaa +short $SERVERNAME)
export OS_CLOUD=sto4-rut
SERVER_JSON="$(openstack server list -f json \
| jq -r ".[] | select(.Name==\"$SERVERNAME\")")"
ADDRESSES="$(echo "$SERVER_JSON" \
| jq -r '.Networks.public[]')"
IPV4=""
IPV6=""
for addr in $ADDRESSES; do
if [[ "$addr" == *:* ]]; then
IPV6="$addr"
else
IPV4="$addr"
fi
done
knotctl update -z $DOMAIN -n ${SERVERNAME}. -a data=$IPV6 -r AAAA -d $OLDIPV6
knotctl update -z $DOMAIN -n ${SERVERNAME}. -a data=$IPV4 -r A -d $OLDIPV4