aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorKeir Fraser <keir@xensource.com>2007-10-01 06:39:00 +0100
committerKeir Fraser <keir@xensource.com>2007-10-01 06:39:00 +0100
commiteaaa8ec56109140638d9ebb368ee339960486209 (patch)
tree1e8194e47310f9e10e258e88965ce8da80d079d3 /tools
parent368c6ecb52dcdba4def2084f6ab9d65b92250df8 (diff)
downloadxen-eaaa8ec56109140638d9ebb368ee339960486209.tar.gz
xen-eaaa8ec56109140638d9ebb368ee339960486209.tar.bz2
xen-eaaa8ec56109140638d9ebb368ee339960486209.zip
xm: Print xend config via 'xm info --config'.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/python/xen/xm/main.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py
index 25f7c4e1da..a546712b45 100644
--- a/tools/python/xen/xm/main.py
+++ b/tools/python/xen/xm/main.py
@@ -55,6 +55,9 @@ from xen.util.acmpolicy import ACM_LABEL_UNLABELED_DISPLAY
import XenAPI
+import inspect
+from xen.xend import XendOptions
+xoptions = XendOptions.instance()
# getopt.gnu_getopt is better, but only exists in Python 2.3+. Use
# getopt.getopt if gnu_getopt is not available. This will mean that options
@@ -1595,7 +1598,31 @@ def xm_sched_credit(args):
err(str(result))
def xm_info(args):
- arg_check(args, "info", 0)
+ arg_check(args, "info", 0, 1)
+
+ try:
+ (options, params) = getopt.gnu_getopt(args, 'c', ['config'])
+ except getopt.GetoptError, opterr:
+ err(opterr)
+ usage('info')
+
+ show_xend_config = 0
+ for (k, v) in options:
+ if k in ['-c', '--config']:
+ show_xend_config = 1
+
+ if show_xend_config:
+ for name, obj in inspect.getmembers(xoptions):
+ if not inspect.ismethod(obj):
+ if name == "config":
+ for x in obj[1:]:
+ if len(x) < 2:
+ print "%-38s: (none)" % x[0]
+ else:
+ print "%-38s:" % x[0], x[1]
+ else:
+ print "%-38s:" % name, obj
+ return
if serverType == SERVER_XEN_API: