diff options
author | Lars Wirzenius <liw@liw.fi> | 2016-04-23 16:57:23 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2016-04-23 16:57:23 +0100 |
commit | 6dafa8e6657cf6a610490e38e483837ae886b15f (patch) | |
tree | ead374ec2a89c3911c1bbf19d463fff9095cc580 /create-vm | |
parent | 26b07c09bc8174eb53c3c562dab2149205cac630 (diff) | |
download | ansibleness-6dafa8e6657cf6a610490e38e483837ae886b15f.tar.gz |
Update create-vm to run on Debian stretch
Diffstat (limited to 'create-vm')
-rwxr-xr-x | create-vm | 24 |
1 files changed, 22 insertions, 2 deletions
@@ -6,6 +6,12 @@ set -eu +verbose() +{ + echo "INFO: $@" +} + + die() { echo "$@" 1>&2 @@ -13,6 +19,18 @@ die() } +get_ip() +{ + python -c ' +import sys, json +leases = json.load(open(sys.argv[1])) +for lease in leases: + if lease["mac-address"] == sys.argv[2]: + print lease["ip-address"] +' "$1" "$2" +} + + # Check parameters. if [ "$#" != 2 ] @@ -70,14 +88,16 @@ then # Get the MAC address. mac="$(virsh -c qemu:///system dumpxml "$name" | sed -n "/<mac address=/s/^.*'\(.*\)'.*/\1/p")" + verbose "MAC: $mac" # Get IP address related to the MAC address. Append that to /etc/hosts. - leases=/var/lib/libvirt/dnsmasq/default.leases + leases=/var/lib/libvirt/dnsmasq/virbr0.status + ip="" while [ "$ip" = "" ] do sleep 1 - ip="$(awk -v "mac=$mac" '$2 == mac { print $3 }' "$leases")" + ip="$(get_ip "$leases" "$mac")" done echo "$ip $name" | sudo tee -a /etc/hosts > /dev/null |