mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
[XENAPI] Update test scripts to move from VBD.image to creating VDI's
with the uri attribute. Signed-off-by: Alastair Tse <atse@xensource.com>
This commit is contained in:
1 parent
d3cc627bf9
commit
b712f9023e
2 files changed
+60
-22
No files matched your search
@@ -47,7 +47,8 @@ vdi_cfg = {
|
||||
'virtual_size': 100 * 1024,
|
||||
'sector_size': 1024,
|
||||
'type': 'system',
|
||||
'parent': '',
|
||||
'parent': '',
|
||||
'SR_name': 'QCoW',
|
||||
'sharable': False,
|
||||
'read_only': False,
|
||||
}
|
||||
@@ -61,6 +62,19 @@ vbd_cfg = {
|
||||
'driver': 'paravirtualised',
|
||||
}
|
||||
|
||||
local_vdi_cfg = {
|
||||
'name_label': 'gentoo.amd64.img',
|
||||
'name_description': '',
|
||||
'uri': 'file:/root/gentoo.amd64.img',
|
||||
'virtual_size': 0,
|
||||
'sector_size': 0,
|
||||
'type': 'system',
|
||||
'parent': '',
|
||||
'SR_name': 'Local',
|
||||
'sharable': False,
|
||||
'read_only': False,
|
||||
}
|
||||
|
||||
local_vbd_cfg = {
|
||||
'VDI': '',
|
||||
'VM': '',
|
||||
@@ -68,7 +82,6 @@ local_vbd_cfg = {
|
||||
'mode': 'RW',
|
||||
'type': 'disk',
|
||||
'driver': 'paravirtualised',
|
||||
'image': 'file:/root/gentoo.amd64.img'
|
||||
}
|
||||
|
||||
vif_cfg = {
|
||||
@@ -90,6 +103,7 @@ def test_vm_create():
|
||||
server, session = connect()
|
||||
vm_uuid = None
|
||||
vdi_uuid = None
|
||||
local_vdi_uuid = None
|
||||
local_vbd_uuid = None
|
||||
vbd_uuid = None
|
||||
vif_uuid = None
|
||||
@@ -102,9 +116,14 @@ def test_vm_create():
|
||||
vm_names.append(vm_record['name_label'])
|
||||
|
||||
# Get default SR
|
||||
sr_list = execute(server, 'SR.get_by_name_label', (session, 'Local'))
|
||||
sr_list = execute(server, 'SR.get_by_name_label', (session,
|
||||
vdi_cfg['SR_name']))
|
||||
sr_uuid = sr_list[0]
|
||||
|
||||
local_sr_list = execute(server, 'SR.get_by_name_label',
|
||||
(session, local_vdi_cfg['SR_name']))
|
||||
local_sr_uuid = local_sr_list[0]
|
||||
|
||||
# Get default network
|
||||
net_list = execute(server, 'network.get_all', (session,))
|
||||
net_uuid = net_list[0]
|
||||
@@ -121,13 +140,18 @@ def test_vm_create():
|
||||
vbd_cfg['VM'] = vm_uuid
|
||||
vbd_cfg['VDI'] = vdi_uuid
|
||||
vbd_uuid = execute(server, 'VBD.create', (session, vbd_cfg))
|
||||
|
||||
|
||||
# Create a new VDI (Local)
|
||||
local_vdi_cfg['SR'] = local_sr_uuid
|
||||
local_vdi_uuid = execute(server, 'VDI.create',
|
||||
(session, local_vdi_cfg))
|
||||
|
||||
# Create a new VBD (Local)
|
||||
local_vbd_cfg['VM'] = vm_uuid
|
||||
local_vbd_cfg['VDI'] = ''
|
||||
local_vbd_cfg['VDI'] = local_vdi_uuid
|
||||
local_vbd_uuid = execute(server, 'VBD.create',
|
||||
(session, local_vbd_cfg))
|
||||
|
||||
|
||||
# Create a new VIF
|
||||
vif_cfg['network'] = net_uuid
|
||||
vif_cfg['VM'] = vm_uuid
|
||||
@@ -138,13 +162,15 @@ def test_vm_create():
|
||||
|
||||
time.sleep(30)
|
||||
|
||||
print 'Suspending VM..'
|
||||
execute(server, 'VM.suspend', (session, vm_uuid))
|
||||
print 'Suspended VM.'
|
||||
time.sleep(5)
|
||||
print 'Resuming VM ...'
|
||||
execute(server, 'VM.resume', (session, vm_uuid, False))
|
||||
print 'Resumed VM.'
|
||||
test_suspend = True
|
||||
if test_suspend:
|
||||
print 'Suspending VM..'
|
||||
execute(server, 'VM.suspend', (session, vm_uuid))
|
||||
print 'Suspended VM.'
|
||||
time.sleep(5)
|
||||
print 'Resuming VM ...'
|
||||
execute(server, 'VM.resume', (session, vm_uuid, False))
|
||||
print 'Resumed VM.'
|
||||
|
||||
# Wait for user to say we're good to shut it down
|
||||
while True:
|
||||
@@ -156,12 +182,17 @@ def test_vm_create():
|
||||
# Clean up
|
||||
if vif_uuid:
|
||||
execute(server, 'VIF.destroy', (session, vif_uuid))
|
||||
|
||||
if local_vbd_uuid:
|
||||
execute(server, 'VBD.destroy', (session, local_vbd_uuid))
|
||||
if local_vdi_uuid:
|
||||
execute(server, 'VDI.destroy', (session, local_vdi_uuid))
|
||||
|
||||
if vbd_uuid:
|
||||
execute(server, 'VBD.destroy', (session, vbd_uuid))
|
||||
if vdi_uuid:
|
||||
execute(server, 'VDI.destroy', (session, vdi_uuid))
|
||||
|
||||
if vm_uuid:
|
||||
try:
|
||||
execute(server, 'VM.hard_shutdown', (session, vm_uuid))
|
||||
|
||||
@@ -37,7 +37,7 @@ 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 = '%(device)-6s %(uuid)-36s %(VDI)-8s %(image)-8s'
|
||||
VBD_LIST_FORMAT = '%(device)-6s %(uuid)-36s %(VDI)-8s'
|
||||
TASK_LIST_FORMAT = '%(name_label)-18s %(uuid)-36s %(status)-8s %(progress)-4s'
|
||||
VIF_LIST_FORMAT = '%(name)-8s %(device)-7s %(uuid)-36s %(MAC)-10s'
|
||||
|
||||
@@ -85,25 +85,28 @@ OPTIONS = {
|
||||
'action': 'store_true'})],
|
||||
|
||||
'vdi-create': [(('--name-label',), {'help': 'Name for VDI'}),
|
||||
(('--description',), {'help': 'Description for VDI'}),
|
||||
(('--name-description',), {'help': 'Description for VDI'}),
|
||||
(('--sector-size',), {'type': 'int',
|
||||
'help': 'Sector size'}),
|
||||
'help': 'Sector size',
|
||||
'default': 0}),
|
||||
(('--virtual-size',), {'type': 'int',
|
||||
'default': 0,
|
||||
'help': 'Size of VDI in sectors'}),
|
||||
(('--type',), {'choices': ['system', 'user', 'ephemeral'],
|
||||
'default': 'system',
|
||||
'help': 'VDI type'}),
|
||||
(('--sharable',), {'action': 'store_true',
|
||||
'help': 'VDI sharable'}),
|
||||
(('--read-only',), {'action': 'store_true',
|
||||
'help': 'Read only'})],
|
||||
'help': 'Read only'}),
|
||||
(('--sr',), {})],
|
||||
|
||||
'vbd-create': [(('--VDI',), {'help': 'UUID of VDI to attach to.'}),
|
||||
(('--mode',), {'choices': ['RO', 'RW'],
|
||||
'help': 'device mount mode'}),
|
||||
(('--driver',), {'choices':['paravirtualised', 'ioemu'],
|
||||
'help': 'Driver for VBD'}),
|
||||
(('--device',), {'help': 'Device name on guest domain'}),
|
||||
(('--image',), {'help': 'Location of drive image.'})]
|
||||
(('--device',), {'help': 'Device name on guest domain'})]
|
||||
|
||||
}
|
||||
|
||||
@@ -464,8 +467,7 @@ def xapi_vbd_list(args, async = False):
|
||||
|
||||
print VBD_LIST_FORMAT % {'device': 'Device',
|
||||
'uuid' : 'UUID',
|
||||
'VDI': 'VDI',
|
||||
'image': 'Image'}
|
||||
'VDI': 'VDI'}
|
||||
|
||||
for vbd in vbds:
|
||||
vbd_struct = execute(server, 'VBD.get_record', (session, vbd))
|
||||
@@ -547,7 +549,12 @@ def xapi_vdi_create(args, async = False):
|
||||
cfg[opt] = val
|
||||
|
||||
server, session = connect()
|
||||
srs = execute(server, 'SR.get_all', (session,))
|
||||
srs = []
|
||||
if cfg.get('SR'):
|
||||
srs = execute(server, 'SR.get_by_name_label', (session, cfg['SR']))
|
||||
else:
|
||||
srs = execute(server, 'SR.get_all', (session,))
|
||||
|
||||
sr = srs[0]
|
||||
cfg['SR'] = sr
|
||||
|
||||
|
||||