aboutsummaryrefslogtreecommitdiffstats
path: root/tools/python/scripts
diff options
context:
space:
mode:
authorAlastair Tse <atse@xensource.com>2006-11-30 14:50:27 +0000
committerAlastair Tse <atse@xensource.com>2006-11-30 14:50:27 +0000
commit3c8100f8d9d22f093ac92205a28b745ed3d1c703 (patch)
tree6e2a8cc577fc8eb36f64cea8b4b4ee845c390f78 /tools/python/scripts
parent75753a5ac92d545b9f606af107cd5005dab2caea (diff)
downloadxen-3c8100f8d9d22f093ac92205a28b745ed3d1c703.tar.gz
xen-3c8100f8d9d22f093ac92205a28b745ed3d1c703.tar.bz2
xen-3c8100f8d9d22f093ac92205a28b745ed3d1c703.zip
[XENAPI] Update debugging scripts to support vbd_list
Add function to list all vbds attached to a VM. Update VM config builder to specify the default as 'linux' Signed-off-by: Alastair Tse <atse@xensource.com>
Diffstat (limited to 'tools/python/scripts')
-rw-r--r--tools/python/scripts/xapi.domcfg.py2
-rw-r--r--tools/python/scripts/xapi.py38
2 files changed, 33 insertions, 7 deletions
diff --git a/tools/python/scripts/xapi.domcfg.py b/tools/python/scripts/xapi.domcfg.py
index 8565bd8975..d7b8ae550c 100644
--- a/tools/python/scripts/xapi.domcfg.py
+++ b/tools/python/scripts/xapi.domcfg.py
@@ -26,7 +26,7 @@ platform_serial = ''
platform_localtime = False
platform_clock_offset = False
platform_enable_audio = False
-builder = ''
+builder = 'linux'
boot_method = '' # this will remove the kernel/initrd ??
kernel_kernel = '/boot/vmlinuz-2.6.16.29-xen'
kernel_initrd = '/root/initrd-2.6.16.29-xen.img'
diff --git a/tools/python/scripts/xapi.py b/tools/python/scripts/xapi.py
index 387ad0a487..7eb96e8945 100644
--- a/tools/python/scripts/xapi.py
+++ b/tools/python/scripts/xapi.py
@@ -35,11 +35,14 @@ SR_LIST_FORMAT = '%(name_label)-18s %(uuid)-36s %(physical_size)-10s' \
'%(type)-10s'
VDI_LIST_FORMAT = '%(name_label)-18s %(uuid)-36s %(virtual_size)-8s '\
'%(sector_size)-8s'
+VBD_LIST_FORMAT = '%(name_label)-18s %(uuid)-36s %(VDI)-8s '\
+ '%(image)-8s'
COMMANDS = {
'host-info': ('', 'Get Xen Host Info'),
'host-set-name': ('', 'Set host name'),
'sr-list': ('', 'List all SRs'),
+ 'vbd-list': ('', 'List all VBDs'),
'vbd-create': ('<domname> <pycfg> [opts]',
'Create VBD attached to domname'),
'vdi-create': ('<pycfg> [opts]', 'Create a VDI'),
@@ -165,6 +168,13 @@ def resolve_vm(server, session, vm_name):
else:
return vm_uuid[0]
+def resolve_vdi(server, session, vdi_name):
+ vdi_uuid = execute(server.VDI.get_by_name_label, session, vdi_name)
+ if not vdi_uuid:
+ return None
+ else:
+ return vdi_uuid[0]
+
#
# Actual commands
#
@@ -223,9 +233,9 @@ def xapi_vm_list(*args):
for uuid in vm_uuids:
vm_info = execute(server.VM.get_record, session, uuid)
if is_long:
- vbds = vm_info['vbds']
- vifs = vm_info['vifs']
- vtpms = vm_info['vtpms']
+ vbds = vm_info['VBDs']
+ vifs = vm_info['VIFs']
+ vtpms = vm_info['VTPMs']
vif_infos = []
vbd_infos = []
vtpm_infos = []
@@ -238,9 +248,9 @@ def xapi_vm_list(*args):
for vtpm in vtpms:
vtpm_info = execute(server.VTPM.get_record, session, vtpm)
vtpm_infos.append(vtpm_info)
- vm_info['vbds'] = vbd_infos
- vm_info['vifs'] = vif_infos
- vm_info['vtpms'] = vtpm_infos
+ vm_info['VBDs'] = vbd_infos
+ vm_info['VIFs'] = vif_infos
+ vm_info['VTPMs'] = vtpm_infos
pprint(vm_info)
else:
print VM_LIST_FORMAT % _stringify(vm_info)
@@ -334,6 +344,22 @@ def xapi_vif_create(*args):
vif_uuid = execute(server.VIF.create, session, cfg)
print 'Done. (%s)' % vif_uuid
+def xapi_vbd_list(*args):
+ server, session = _connect()
+ domname = args[0]
+
+ dom_uuid = resolve_vm(server, session, domname)
+ vbds = execute(server.VM.get_VBDs, session, dom_uuid)
+
+ print VBD_LIST_FORMAT % {'name_label': 'VDI Label',
+ 'uuid' : 'UUID',
+ 'VDI': 'VDI',
+ 'image': 'Image'}
+
+ for vbd in vbds:
+ vbd_struct = execute(server.VBD.get_record, session, vbd)
+ print VBD_LIST_FORMAT % vbd_struct
+
def xapi_vdi_list(*args):
server, session = _connect()
vdis = execute(server.VDI.get_all, session)