109
110
def instance_fault_create(self, context, values):
110
111
return self._manager.instance_fault_create(context, values)
112
def migration_get(self, context, migration_id):
113
return self._manager.migration_get(context, migration_id)
115
def migration_get_unconfirmed_by_dest_compute(self, context,
118
return self._manager.migration_get_unconfirmed_by_dest_compute(
119
context, confirm_window, dest_compute)
121
113
def migration_get_in_progress_by_host_and_node(self, context, host, node):
122
114
return self._manager.migration_get_in_progress_by_host_and_node(
123
115
context, host, node)
125
def migration_create(self, context, instance, values):
126
return self._manager.migration_create(context, instance, values)
128
117
def migration_update(self, context, migration, status):
129
118
return self._manager.migration_update(context, migration, status)
321
def quota_commit(self, context, reservations, project_id=None):
310
def quota_commit(self, context, reservations, project_id=None,
322
312
return self._manager.quota_commit(context, reservations,
323
project_id=project_id)
313
project_id=project_id,
325
def quota_rollback(self, context, reservations, project_id=None):
316
def quota_rollback(self, context, reservations, project_id=None,
326
318
return self._manager.quota_rollback(context, reservations,
327
project_id=project_id)
319
project_id=project_id,
329
322
def get_ec2_ids(self, context, instance):
330
323
return self._manager.get_ec2_ids(context, instance)
332
def compute_stop(self, context, instance, do_cast=True):
333
return self._manager.compute_stop(context, instance, do_cast)
335
def compute_confirm_resize(self, context, instance, migration_ref):
336
return self._manager.compute_confirm_resize(context, instance,
339
325
def compute_unrescue(self, context, instance):
340
326
return self._manager.compute_unrescue(context, instance)
342
def compute_reboot(self, context, instance, reboot_type):
343
return self._manager.compute_reboot(context, instance, reboot_type)
346
329
class LocalComputeTaskAPI(object):
347
330
def __init__(self):
350
333
self._manager = utils.ExceptionHelper(
351
334
manager.ComputeTaskManager())
353
def migrate_server(self, context, instance, scheduler_hint, live, rebuild,
354
flavor, block_migration, disk_over_commit):
355
return self._manager.migrate_server(context, instance, scheduler_hint,
356
live, rebuild, flavor, block_migration, disk_over_commit)
336
def resize_instance(self, context, instance, extra_instance_updates,
337
scheduler_hint, flavor, reservations):
338
# NOTE(comstud): 'extra_instance_updates' is not used here but is
339
# needed for compatibility with the cells_rpcapi version of this
341
self._manager.migrate_server(
342
context, instance, scheduler_hint, False, False, flavor,
343
None, None, reservations)
345
def live_migrate_instance(self, context, instance, host_name,
346
block_migration, disk_over_commit):
347
scheduler_hint = {'host': host_name}
348
self._manager.migrate_server(
349
context, instance, scheduler_hint, True, False, None,
350
block_migration, disk_over_commit, None)
358
352
def build_instances(self, context, instances, image,
359
353
filter_properties, admin_password, injected_files,
360
requested_networks, security_groups, block_device_mapping):
354
requested_networks, security_groups, block_device_mapping,
361
356
utils.spawn_n(self._manager.build_instances, context,
362
357
instances=instances, image=image,
363
358
filter_properties=filter_properties,
364
359
admin_password=admin_password, injected_files=injected_files,
365
360
requested_networks=requested_networks,
366
361
security_groups=security_groups,
367
block_device_mapping=block_device_mapping)
362
block_device_mapping=block_device_mapping,
363
legacy_bdm=legacy_bdm)
369
365
def unshelve_instance(self, context, instance):
370
366
utils.spawn_n(self._manager.unshelve_instance, context,
420
416
def __init__(self):
421
417
self.conductor_compute_rpcapi = rpcapi.ComputeTaskAPI()
423
def migrate_server(self, context, instance, scheduler_hint, live, rebuild,
424
flavor, block_migration, disk_over_commit):
425
return self.conductor_compute_rpcapi.migrate_server(context, instance,
426
scheduler_hint, live, rebuild, flavor, block_migration,
419
def resize_instance(self, context, instance, extra_instance_updates,
420
scheduler_hint, flavor, reservations):
421
# NOTE(comstud): 'extra_instance_updates' is not used here but is
422
# needed for compatibility with the cells_rpcapi version of this
424
self.conductor_compute_rpcapi.migrate_server(
425
context, instance, scheduler_hint, False, False, flavor,
426
None, None, reservations)
428
def live_migrate_instance(self, context, instance, host_name,
429
block_migration, disk_over_commit):
430
scheduler_hint = {'host': host_name}
431
self.conductor_compute_rpcapi.migrate_server(
432
context, instance, scheduler_hint, True, False, None,
433
block_migration, disk_over_commit, None)
429
435
def build_instances(self, context, instances, image, filter_properties,
430
436
admin_password, injected_files, requested_networks,
431
security_groups, block_device_mapping):
437
security_groups, block_device_mapping, legacy_bdm=True):
432
438
self.conductor_compute_rpcapi.build_instances(context,
433
439
instances=instances, image=image,
434
440
filter_properties=filter_properties,
435
441
admin_password=admin_password, injected_files=injected_files,
436
442
requested_networks=requested_networks,
437
443
security_groups=security_groups,
438
block_device_mapping=block_device_mapping)
444
block_device_mapping=block_device_mapping,
445
legacy_bdm=legacy_bdm)
440
447
def unshelve_instance(self, context, instance):
441
448
self.conductor_compute_rpcapi.unshelve_instance(context,