#!/usr/bin/python """ Say what host a running VM is on. """ from subprocess import PIPE, Popen, call import sys import yaml def main(argv): if len(argv) < 2: print >>sys.stderr, "usage: invirt-remote-listhost " return 2 machine_name = argv[1] p = Popen(['/usr/sbin/invirt-remote-proxy-web', 'listvms'], stdout=PIPE) output = p.communicate()[0] if p.returncode != 0: raise RuntimeError("Command '%s' returned non-zero exit status %d" % ('invirt-remote-proxy-web', p.returncode)) vms = yaml.load(output, yaml.CSafeLoader) if machine_name not in vms: print >>sys.stderr, "machine '%s' is not on" % machine_name return 2 print vms[machine_name]['host'] return 0 if __name__ == '__main__': sys.exit(main(sys.argv)) # vim:et:sw=4:ts=4