Merge "Remove and deprecate conductor object_backport()"
This commit is contained in:
commit
fd72f2200c
@ -17,6 +17,7 @@
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log as logging
|
||||
import oslo_messaging as messaging
|
||||
from oslo_versionedobjects import base as ovo_base
|
||||
|
||||
from nova import baserpc
|
||||
from nova.conductor import manager
|
||||
@ -65,7 +66,11 @@ class LocalAPI(object):
|
||||
return self._manager.provider_fw_rule_get_all(context)
|
||||
|
||||
def object_backport(self, context, objinst, target_version):
|
||||
return self._manager.object_backport(context, objinst, target_version)
|
||||
# NOTE(hanlind): This shouldn't be called anymore but leaving it for
|
||||
# now just in case. Collect the object version manifest and redirect
|
||||
# to the newer backport call.
|
||||
object_versions = ovo_base.obj_tree_get_versions(objinst.obj_name())
|
||||
return self.object_backport_versions(context, objinst, object_versions)
|
||||
|
||||
def object_backport_versions(self, context, objinst, object_versions):
|
||||
return self._manager.object_backport_versions(context, objinst,
|
||||
|
@ -447,6 +447,7 @@ class ConductorManager(manager.Manager):
|
||||
except Exception:
|
||||
raise messaging.ExpectedException()
|
||||
|
||||
# NOTE(hanlind): This can be removed in version 3.0 of the RPC API
|
||||
def object_class_action(self, context, objname, objmethod,
|
||||
objver, args, kwargs):
|
||||
"""Perform a classmethod action on an object."""
|
||||
@ -494,6 +495,7 @@ class ConductorManager(manager.Manager):
|
||||
updates['obj_what_changed'] = objinst.obj_what_changed()
|
||||
return updates, result
|
||||
|
||||
# NOTE(hanlind): This can be removed in version 3.0 of the RPC API
|
||||
def object_backport(self, context, objinst, target_version):
|
||||
return objinst.obj_to_primitive(target_version=target_version)
|
||||
|
||||
|
@ -188,6 +188,7 @@ class ConductorAPI(object):
|
||||
* 2.2 - Add object_backport_versions()
|
||||
* 2.3 - Add object_class_action_versions()
|
||||
* Remove compute_node_create()
|
||||
* Remove object_backport()
|
||||
"""
|
||||
|
||||
VERSION_ALIASES = {
|
||||
@ -212,6 +213,9 @@ class ConductorAPI(object):
|
||||
cctxt = self.client.prepare()
|
||||
return cctxt.call(context, 'provider_fw_rule_get_all')
|
||||
|
||||
# TODO(hanlind): This method can be removed once oslo.versionedobjects
|
||||
# has been converted to use version_manifests in remotable_classmethod
|
||||
# operations, which will use the new class action handler.
|
||||
def object_class_action(self, context, objname, objmethod, objver,
|
||||
args, kwargs):
|
||||
if self.client.can_send_version('2.3'):
|
||||
@ -242,11 +246,6 @@ class ConductorAPI(object):
|
||||
return cctxt.call(context, 'object_action', objinst=objinst,
|
||||
objmethod=objmethod, args=args, kwargs=kwargs)
|
||||
|
||||
def object_backport(self, context, objinst, target_version):
|
||||
cctxt = self.client.prepare()
|
||||
return cctxt.call(context, 'object_backport', objinst=objinst,
|
||||
target_version=target_version)
|
||||
|
||||
def object_backport_versions(self, context, objinst, object_versions):
|
||||
cctxt = self.client.prepare(version='2.2')
|
||||
return cctxt.call(context, 'object_backport_versions', objinst=objinst,
|
||||
|
@ -840,6 +840,20 @@ class ConductorAPITestCase(_BaseTestCase, test.TestCase):
|
||||
self.assertEqual(timeouts.count(10), 10)
|
||||
self.assertIn(None, timeouts)
|
||||
|
||||
@mock.patch('oslo_versionedobjects.base.obj_tree_get_versions')
|
||||
def test_object_backport_redirect(self, mock_ovo):
|
||||
mock_ovo.return_value = mock.sentinel.obj_versions
|
||||
mock_objinst = mock.Mock()
|
||||
|
||||
with mock.patch.object(self.conductor,
|
||||
'object_backport_versions') as mock_call:
|
||||
self.conductor.object_backport(mock.sentinel.ctxt,
|
||||
mock_objinst,
|
||||
mock.sentinel.target_version)
|
||||
mock_call.assert_called_once_with(mock.sentinel.ctxt,
|
||||
mock_objinst,
|
||||
mock.sentinel.obj_versions)
|
||||
|
||||
|
||||
class ConductorLocalAPITestCase(ConductorAPITestCase):
|
||||
"""Conductor LocalAPI Tests."""
|
||||
|
Loading…
x
Reference in New Issue
Block a user