30 lines
643 B
Bash
30 lines
643 B
Bash
|
#!/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
|
||
|
|
||
|
|