summaryrefslogtreecommitdiffstats
path: root/nova/compute
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-11-26 18:47:22 +0000
committerGerrit Code Review <review@openstack.org>2012-11-26 18:47:22 +0000
commitab77c4e1b8e4c500a9372e290e658952a2441627 (patch)
tree29ce3faf2c4a01de9576384a3bb3a313c18398f3 /nova/compute
parent9adc3a456a4a38fd9e372ddd7ee2fc6abeddbb0d (diff)
parent717c9755805aa06340130b6bc4e7de8f81ea8e57 (diff)
Merge "Make compute manager use nova-conductor for instance_update"
Diffstat (limited to 'nova/compute')
-rw-r--r--nova/compute/manager.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index dae87de92..9a17e808c 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -51,6 +51,7 @@ from nova.compute import rpcapi as compute_rpcapi
from nova.compute import task_states
from nova.compute import utils as compute_utils
from nova.compute import vm_states
+from nova import conductor
import nova.context
from nova import exception
from nova.image import glance
@@ -258,9 +259,9 @@ class ComputeVirtAPI(virtapi.VirtAPI):
self._compute = compute
def instance_update(self, context, instance_uuid, updates):
- return self._compute.db.instance_update_and_get_original(context,
- instance_uuid,
- updates)
+ return self._compute._instance_update(context,
+ instance_uuid,
+ **updates)
def instance_get_by_uuid(self, context, instance_uuid):
return self._compute.db.instance_get_by_uuid(context, instance_uuid)
@@ -322,6 +323,7 @@ class ComputeManager(manager.SchedulerDependentManager):
self.compute_api = compute.API()
self.compute_rpcapi = compute_rpcapi.ComputeAPI()
self.scheduler_rpcapi = scheduler_rpcapi.SchedulerAPI()
+ self.conductor_api = conductor.API()
super(ComputeManager, self).__init__(service_name="compute",
*args, **kwargs)
@@ -340,11 +342,11 @@ class ComputeManager(manager.SchedulerDependentManager):
def _instance_update(self, context, instance_uuid, **kwargs):
"""Update an instance in the database using kwargs as value."""
- (old_ref, instance_ref) = self.db.instance_update_and_get_original(
- context, instance_uuid, kwargs)
+ instance_ref = self.conductor_api.instance_update(context,
+ instance_uuid,
+ **kwargs)
rt = self._get_resource_tracker(instance_ref.get('node'))
rt.update_usage(context, instance_ref)
- notifications.send_update(context, old_ref, instance_ref)
return instance_ref
@@ -747,8 +749,7 @@ class ComputeManager(manager.SchedulerDependentManager):
if ip['version'] == 6:
update_info['access_ip_v6'] = ip['address']
if update_info:
- self.db.instance_update(context, instance['uuid'], update_info)
- notifications.send_update(context, instance, instance)
+ self._instance_update(context, instance['uuid'], **update_info)
def _check_instance_not_already_created(self, context, instance):
"""Ensure an instance with the same name is not already present."""