~ubuntu-branches/ubuntu/saucy/nova/saucy-proposed

« back to all changes in this revision

Viewing changes to nova/conductor/api.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2013-09-09 13:11:11 UTC
  • mfrom: (1.1.74)
  • Revision ID: package-import@ubuntu.com-20130909131111-aw02ice50wac9tma
Tags: 1:2013.2~b3-0ubuntu1
* New usptream release. 
* debian/patches/avoid_requirements_cheetah.patch: Dropped
* debian/patches/fix-sqlalchemy-0.7.9-usage.patch: Dropped
* debian/patches/fix-requirements.patch: Refreshed.
* debian/patches/path-to-the-xenhost.conf-fixup.patch: Refreshed
* debian/control: Add python-jinja2
* debian/control: Dropped python-cheetah

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
from nova import baserpc
20
20
from nova.conductor import manager
21
21
from nova.conductor import rpcapi
 
22
from nova.openstack.common.gettextutils import _
22
23
from nova.openstack.common import log as logging
23
24
from nova.openstack.common.rpc import common as rpc_common
24
25
from nova import utils
109
110
    def instance_fault_create(self, context, values):
110
111
        return self._manager.instance_fault_create(context, values)
111
112
 
112
 
    def migration_get(self, context, migration_id):
113
 
        return self._manager.migration_get(context, migration_id)
114
 
 
115
 
    def migration_get_unconfirmed_by_dest_compute(self, context,
116
 
                                                  confirm_window,
117
 
                                                  dest_compute):
118
 
        return self._manager.migration_get_unconfirmed_by_dest_compute(
119
 
            context, confirm_window, dest_compute)
120
 
 
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)
124
116
 
125
 
    def migration_create(self, context, instance, values):
126
 
        return self._manager.migration_create(context, instance, values)
127
 
 
128
117
    def migration_update(self, context, migration, status):
129
118
        return self._manager.migration_update(context, migration, status)
130
119
 
318
307
                                                             instance,
319
308
                                                             migration)
320
309
 
321
 
    def quota_commit(self, context, reservations, project_id=None):
 
310
    def quota_commit(self, context, reservations, project_id=None,
 
311
                     user_id=None):
322
312
        return self._manager.quota_commit(context, reservations,
323
 
                                          project_id=project_id)
 
313
                                          project_id=project_id,
 
314
                                          user_id=user_id)
324
315
 
325
 
    def quota_rollback(self, context, reservations, project_id=None):
 
316
    def quota_rollback(self, context, reservations, project_id=None,
 
317
                       user_id=None):
326
318
        return self._manager.quota_rollback(context, reservations,
327
 
                                            project_id=project_id)
 
319
                                            project_id=project_id,
 
320
                                            user_id=user_id)
328
321
 
329
322
    def get_ec2_ids(self, context, instance):
330
323
        return self._manager.get_ec2_ids(context, instance)
331
324
 
332
 
    def compute_stop(self, context, instance, do_cast=True):
333
 
        return self._manager.compute_stop(context, instance, do_cast)
334
 
 
335
 
    def compute_confirm_resize(self, context, instance, migration_ref):
336
 
        return self._manager.compute_confirm_resize(context, instance,
337
 
                                                    migration_ref)
338
 
 
339
325
    def compute_unrescue(self, context, instance):
340
326
        return self._manager.compute_unrescue(context, instance)
341
327
 
342
 
    def compute_reboot(self, context, instance, reboot_type):
343
 
        return self._manager.compute_reboot(context, instance, reboot_type)
344
 
 
345
328
 
346
329
class LocalComputeTaskAPI(object):
347
330
    def __init__(self):
350
333
        self._manager = utils.ExceptionHelper(
351
334
                manager.ComputeTaskManager())
352
335
 
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
 
340
        # method.
 
341
        self._manager.migrate_server(
 
342
            context, instance, scheduler_hint, False, False, flavor,
 
343
            None, None, reservations)
 
344
 
 
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)
357
351
 
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,
 
355
            legacy_bdm=True):
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)
368
364
 
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()
422
418
 
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,
427
 
            disk_over_commit)
 
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
 
423
        # method.
 
424
        self.conductor_compute_rpcapi.migrate_server(
 
425
            context, instance, scheduler_hint, False, False, flavor,
 
426
            None, None, reservations)
 
427
 
 
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)
428
434
 
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)
439
446
 
440
447
    def unshelve_instance(self, context, instance):
441
448
        self.conductor_compute_rpcapi.unshelve_instance(context,