mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
[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>
This commit is contained in:
1 parent
75753a5ac9
commit
3c8100f8d9
2 files changed
+33
-7
No files matched your search
@@ -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'
|
||||
|
||||
@@ -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)
|
||||
|
||||