summaryrefslogtreecommitdiff
path: root/create-vm
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2016-04-23 16:57:23 +0100
committerLars Wirzenius <liw@liw.fi>2016-04-23 16:57:23 +0100
commit6dafa8e6657cf6a610490e38e483837ae886b15f (patch)
treeead374ec2a89c3911c1bbf19d463fff9095cc580 /create-vm
parent26b07c09bc8174eb53c3c562dab2149205cac630 (diff)
downloadansibleness-6dafa8e6657cf6a610490e38e483837ae886b15f.tar.gz
Update create-vm to run on Debian stretch
Diffstat (limited to 'create-vm')
-rwxr-xr-xcreate-vm24
1 files changed, 22 insertions, 2 deletions
diff --git a/create-vm b/create-vm
index a9e4756..b06fa7a 100755
--- a/create-vm
+++ b/create-vm
@@ -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