Objectify instance_action for cell scheduler

This is a refactor change to make cell scheduler use InstanceAction
class method instead of compute_utils, so that all instance action can
be manipulated through object model and instance action related code in
compute_utils can be deprecated.

This is a part of: blueprint make-instance-action-use-objects
Change-Id: I920c8bf809200e6fc2c0329c11ea4be94dc71158
This commit is contained in:
Qiu Yu
2013-12-13 20:37:27 +08:00
parent 25e1557456
commit b30ab00344

View File

@@ -26,13 +26,13 @@ from nova.cells import weights
from nova import compute
from nova.compute import flavors
from nova.compute import instance_actions
from nova.compute import utils as compute_utils
from nova.compute import vm_states
from nova import conductor
from nova.db import base
from nova import exception
from nova.objects import base as obj_base
from nova.objects import instance as instance_obj
from nova.objects import instance_action as instance_action_obj
from nova.openstack.common.gettextutils import _
from nova.openstack.common import log as logging
from nova.scheduler import rpcapi as scheduler_rpcapi
@@ -119,9 +119,11 @@ class CellsScheduler(base.Base):
def _create_action_here(self, ctxt, instance_uuids):
for instance_uuid in instance_uuids:
action = compute_utils.pack_action_start(ctxt, instance_uuid,
instance_actions.CREATE)
self.db.action_start(ctxt, action)
instance_action_obj.InstanceAction.action_start(
ctxt,
instance_uuid,
instance_actions.CREATE,
want_result=False)
def _get_possible_cells(self):
cells = self.state_manager.get_child_cells()