aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/xenmgr/lib/XendDomainInfo.py1
-rw-r--r--tools/xenmgr/lib/xm/create.py2
-rw-r--r--tools/xenmgr/lib/xm/main.py45
-rw-r--r--tools/xenmgr/lib/xm/opts.py2
-rw-r--r--tools/xenmgr/lib/xm/shutdown.py6
5 files changed, 42 insertions, 14 deletions
diff --git a/tools/xenmgr/lib/XendDomainInfo.py b/tools/xenmgr/lib/XendDomainInfo.py
index 0dfd1a71ee..1f44f026a4 100644
--- a/tools/xenmgr/lib/XendDomainInfo.py
+++ b/tools/xenmgr/lib/XendDomainInfo.py
@@ -364,6 +364,7 @@ class XendDomainInfo:
"""Update with info from xc.domain_getinfo().
"""
self.info = info
+ self.memory = self.info['mem_kb'] / 1024
def __str__(self):
s = "domain"
diff --git a/tools/xenmgr/lib/xm/create.py b/tools/xenmgr/lib/xm/create.py
index 3d4165d1f2..d0bfa0859c 100644
--- a/tools/xenmgr/lib/xm/create.py
+++ b/tools/xenmgr/lib/xm/create.py
@@ -28,7 +28,7 @@ gopts.opt('path', val='PATH',
use="Search path for default scripts.")
gopts.opt('defaults', short='f', val='FILE',
- fn=set_value, default='defaults',
+ fn=set_value, default='xmdefaults',
use="Use the given default script.")
gopts.opt('config', short='F', val='FILE',
diff --git a/tools/xenmgr/lib/xm/main.py b/tools/xenmgr/lib/xm/main.py
index 09b658d850..673cccd9fa 100644
--- a/tools/xenmgr/lib/xm/main.py
+++ b/tools/xenmgr/lib/xm/main.py
@@ -4,6 +4,7 @@
import os
import os.path
import sys
+from getopt import getopt
from xenmgr import PrettyPrint
from xenmgr import sxp
@@ -196,20 +197,41 @@ class ProgList(Prog):
name = "list"
info = """List info about domains."""
+ short_options = 'l'
+ long_options = ['long']
+
def help(self, args):
if help:
- print args[0], '[DOM...]'
+ print args[0], '[options] [DOM...]'
print """\nGet information about domains.
- Either all domains or the domains given."""
+ Either all domains or the domains given.
+
+ -l, --long Get more detailed information.
+ """
return
def main(self, args):
- n = len(args)
- if n == 1:
- doms = server.xend_domains()
+ use_long = 0
+ (options, params) = getopt(args[1:],
+ self.short_options,
+ self.long_options)
+ n = len(params)
+ for (k, v) in options:
+ if k in ['-l', '--long']:
+ use_long = 1
+
+ if n == 0:
+ doms = map(int, server.xend_domains())
+ doms.sort()
else:
- doms = map(int, args[1:])
- doms.sort()
+ doms = map(int, params)
+
+ if use_long:
+ self.long_list(doms)
+ else:
+ self.brief_list(doms)
+
+ def brief_list(self, doms):
print 'Dom Name Mem(MB) CPU State Time(s)'
for dom in doms:
info = server.xend_domain(dom)
@@ -222,6 +244,12 @@ class ProgList(Prog):
d['cpu_time'] = float(sxp.child_value(info, 'cpu_time', '0'))
print ("%(dom)-4d %(name)-16s %(mem)7d %(cpu)3d %(state)5s %(cpu_time)7.1f" % d)
+ def long_list(self, doms):
+ for dom in doms:
+ info = server.xend_domain(dom)
+ print '\nDomain %d' % dom
+ PrettyPrint.prettyprint(info)
+
xm.prog(ProgList)
class ProgDestroy(Prog):
@@ -246,8 +274,7 @@ class ProgShutdown(Prog):
info = """Shutdown a domain."""
def help(self, args):
- print args[0], 'DOM'
- print '\nSignal domain DOM to shutdown.'
+ shutdown.main([args[0], '-h'])
def main(self, args):
shutdown.main(args)
diff --git a/tools/xenmgr/lib/xm/opts.py b/tools/xenmgr/lib/xm/opts.py
index b2cb2c7463..5b9515215d 100644
--- a/tools/xenmgr/lib/xm/opts.py
+++ b/tools/xenmgr/lib/xm/opts.py
@@ -273,7 +273,7 @@ class Opts:
self.load(p)
break
else:
- self.err("Cannot open defaults file %s" % self.defaults)
+ self.err("Cannot open defaults file %s" % self.vals.defaults)
def load(self, defaults, help=0):
"""Load a defaults file. Local variables in the file
diff --git a/tools/xenmgr/lib/xm/shutdown.py b/tools/xenmgr/lib/xm/shutdown.py
index 50d98bec5e..2c7831876b 100644
--- a/tools/xenmgr/lib/xm/shutdown.py
+++ b/tools/xenmgr/lib/xm/shutdown.py
@@ -50,7 +50,7 @@ def shutdown(opts, doms, wait):
opts.info("All domains terminated")
def main_all(opts, args):
- shutdown(opts, None, opts.wait)
+ shutdown(opts, None, opts.vals.wait)
def main_dom(opts, args):
if len(args) < 1: opts.err('Missing domain')
@@ -59,7 +59,7 @@ def main_dom(opts, args):
domid = int(dom)
except:
opts.err('Invalid domain: ' + dom)
- shutdown(opts, [ domid ], opts.wait)
+ shutdown(opts, [ domid ], opts.vals.wait)
def main(argv):
opts = gopts
@@ -68,7 +68,7 @@ def main(argv):
opts.usage()
return
print 'shutdown.main>', len(args), args
- if opts.all:
+ if opts.vals.all:
main_all(opts, args)
else:
main_dom(opts, args)