39
39
def stubout_instance_snapshot(stubs):
41
def fake_fetch_image(cls, context, session, instance, image, type):
42
return [dict(vdi_type='root', vdi_uuid=_make_fake_vdi())]
40
def fake_fetch_image(context, session, instance, image, type):
41
return {'root': dict(uuid=_make_fake_vdi(), file=None),
42
'kernel': dict(uuid=_make_fake_vdi(), file=None),
43
'ramdisk': dict(uuid=_make_fake_vdi(), file=None)}
44
stubs.Set(vm_utils.VMHelper, 'fetch_image', fake_fetch_image)
45
stubs.Set(vm_utils, 'fetch_image', fake_fetch_image)
46
47
def fake_wait_for_vhd_coalesce(*args):
47
48
#TODO(sirp): Should we actually fake out the data here
95
96
def stubout_determine_is_pv_objectstore(stubs):
96
97
"""Assumes VMs stu have PV kernels"""
101
stubs.Set(vm_utils.VMHelper, '_determine_is_pv_objectstore', f)
101
stubs.Set(vm_utils, '_determine_is_pv_objectstore', f)
104
104
def stubout_is_snapshot(stubs):
105
105
""" Always returns true
106
106
xenapi fake driver does not create vmrefs for snapshots """
111
stubs.Set(vm_utils.VMHelper, 'is_snapshot', f)
110
stubs.Set(vm_utils, 'is_snapshot', f)
114
113
def stubout_lookup_image(stubs):
121
120
def stubout_fetch_image_glance_disk(stubs, raise_failure=False):
122
121
"""Simulates a failure in fetch image_glance_disk."""
125
def _fake_fetch_image_glance_disk(cls, context, session, instance, image,
123
def _fake_fetch_image_glance_disk(context, session, instance, image,
127
125
if raise_failure:
128
126
raise fake.Failure("Test Exception raised by "
135
133
filename = "unknown"
137
return [dict(vdi_type=vm_utils.ImageType.to_string(image_type),
135
vdi_type = vm_utils.ImageType.to_string(image_type)
136
return {vdi_type: dict(uuid=None, file=filename)}
141
stubs.Set(vm_utils.VMHelper, '_fetch_image_glance_disk',
138
stubs.Set(vm_utils, '_fetch_image_glance_disk',
142
139
_fake_fetch_image_glance_disk)
145
142
def stubout_create_vm(stubs):
146
143
"""Simulates a failure in create_vm."""
150
146
raise fake.Failure("Test Exception raised by " +
151
147
"fake create_vm")
152
stubs.Set(vm_utils.VMHelper, 'create_vm', f)
148
stubs.Set(vm_utils, 'create_vm', f)
155
151
def _make_fake_vdi():
295
290
stubs.Set(vmops.VMOps, "_acquire_bootlock", fake_acquire_bootlock)
296
291
stubs.Set(vmops.VMOps, "_release_bootlock", fake_release_bootlock)
297
stubs.Set(vm_utils.VMHelper, 'generate_ephemeral', fake_generate_ephemeral)
292
stubs.Set(vm_utils, 'generate_ephemeral', fake_generate_ephemeral)
298
293
stubs.Set(vm_utils, '_wait_for_device', fake_wait_for_device)
338
333
return 'vm_ref', dict(image='foo', snap='bar')
340
335
def fake_move_disks(self, instance, disk_info):
341
vdi_ref = fake.create_vdi('new', 'fake')
342
return fake.get_record('VDI', vdi_ref)['uuid']
336
vdi_ref = fake.create_vdi(instance['name'], 'fake')
337
vdi_rec = fake.get_record('VDI', vdi_ref)
338
vdi_rec['other_config']['nova_disk_type'] = 'root'
339
return {'uuid': vdi_rec['uuid'], 'ref': vdi_ref}
345
def fake_get_vdi(cls, session, vm_ref):
341
def fake_get_vdi(session, vm_ref):
346
342
vdi_ref = fake.create_vdi('derp', 'herp')
347
343
vdi_rec = session.call_xenapi("VDI.get_record", vdi_ref)
348
344
return vdi_ref, {'uuid': vdi_rec['uuid'], }
351
def fake_sr(cls, session, *args):
346
def fake_sr(session, *args):
355
def fake_get_sr_path(cls, *args):
349
def fake_get_sr_path(*args):
358
352
def fake_destroy(*args, **kwargs):
362
def fake_generate_ephemeral(cls, *args):
355
def fake_generate_ephemeral(*args):
365
358
stubs.Set(vmops.VMOps, '_destroy', fake_destroy)
366
359
stubs.Set(vmops.VMOps, '_move_disks', fake_move_disks)
367
stubs.Set(vm_utils.VMHelper, 'scan_default_sr', fake_sr)
368
stubs.Set(vm_utils.VMHelper, 'scan_sr', fake_sr)
360
stubs.Set(vm_utils, 'scan_default_sr', fake_sr)
361
stubs.Set(vm_utils, 'scan_sr', fake_sr)
369
362
stubs.Set(vmops.VMOps, '_create_snapshot', fake_create_snapshot)
370
stubs.Set(vm_utils.VMHelper, 'get_vdi_for_vm_safely', fake_get_vdi)
371
stubs.Set(vm_utils.VMHelper, 'get_sr_path', fake_get_sr_path)
372
stubs.Set(vm_utils.VMHelper, 'generate_ephemeral', fake_generate_ephemeral)
363
stubs.Set(vm_utils, 'get_vdi_for_vm_safely', fake_get_vdi)
364
stubs.Set(vm_utils, 'get_sr_path', fake_get_sr_path)
365
stubs.Set(vm_utils, 'generate_ephemeral', fake_generate_ephemeral)