
On Tue, Oct 20, 2009 at 11:30:12PM -0500, Charles Duffy wrote:
Daniel Berteaud wrote:
If you need to get the mac address from bash, you can use this:
virsh dumpxml myguest | grep 'mac address' | cut -d\' -f2
You'll get one mac address per line (one line per NIC on the guest)
An alternate approach which doesn't depend on the specific manner in which the XML is pretty-printed follows:
virsh dumpxml myguest \ | xmlstarlet sel -t \ -m "/domain/devices/interface[@type='network']/mac" \ -v '@address' \ -n
This does add an external dependency (see http://xmlstar.sf.net/), but I find XMLStarlet useful in conjunction with libvirt in other cases -- for instance, for programatically adding or modifying devices within the domain XML.
Agreed, its cleaner ! I added a --xpath option to xmllint to allow virsh dumpxml myguest | xmllint --xpath "//interface[@type='network']/mac" but I commited this last week only so it's not yet in any libxml2 release. When libxml2-2.7.7 or successors are out then this may be sufficient (but less complete than XMLStarlet !) Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/