source: trunk/packages/sipb-xen-remote-server/files/usr/sbin/sipb-xen-remote-listvms @ 948

Last change on this file since 948 was 816, checked in by y_z, 16 years ago
  • use invirt.config to get hostnames
  • refactoring: extracted bcast() function into invirt.remote package
  • fixed os.rename import bug
  • using correct default paths in invirt-getconf
  • Property svn:executable set to *
File size: 631 bytes
RevLine 
[562]1#!/usr/bin/python
[538]2
3"""
4Collates the results of listvms from multiple VM servers.  Part of the xvm
5suite.
6"""
7
[816]8from invirt.remote import bcast
[563]9import sys
10import yaml
[538]11
12def main(argv):
[816]13    # Query each of the hosts.
14    results = filter(lambda (_, x): x is not None, bcast('listvms'))
[538]15
[561]16    # Merge the results and print.
17    merged = {}
[623]18    for server, result in results:
19        for data in result.itervalues():
20            data['host'] = server
[561]21        merged.update(result)
[616]22
[564]23    print yaml.dump(merged, Dumper=yaml.CSafeDumper, default_flow_style=False)
[538]24
25if __name__ == '__main__':
[816]26    sys.exit(main(sys.argv))
[538]27
[617]28# vim:et:sw=4:ts=4
Note: See TracBrowser for help on using the repository browser.