IPAddress for local Virtual Machines

When running Fedora as a KVM/Qemu  host for  virtual machines, you have the issue that you don’t know the IP Address for a virtual machine once you create it.  IP addresses that are assigned via

The MAC Address is in the config file saved in

/etc/libvirt/qemu/$VMNAME.xml

Once you start the virtual machine, you can fetch the IP Address from the DHCP lease file in:

/var/lib/dnsmasq/dnsmasq.leases

To correlate the two:

 

#!/bin/bash

VMNAME=$1

MAC=`cat /etc/libvirt/qemu/$VMNAME.xml |   xml2 | awk 'BEGIN{FS="="} /mac..address/ {print $2}'`

IP=`grep $MAC /var/lib/dnsmasq/dnsmasq.leases | cut -d' ' -f3`

#$VMNAME has MAC $MAC and IPAddress $IP
echo $IP

 

This must be called as root or via sudo.

UPDATE:

Chris Lalancette notes that the cannonical version of the MAC address can be found using

virsh -c qemu:///system dumpxml $VMNAME