57d4e0ce3d
There was a cyclic import between conductor.rpcapi and objects.base, this was initally fixed by doing an import at runtime. This patch fixes the import cycle for good. Change-Id: I8ee8c47652de75430312f77ddee08adc7a237d2b Closes-Bug: #1623074
44 lines
2.0 KiB
Python
44 lines
2.0 KiB
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from oslo_versionedobjects import base as object_base
|
|
|
|
from ironic.conductor import rpcapi as conductor_api
|
|
|
|
|
|
class IronicObjectIndirectionAPI(object_base.VersionedObjectIndirectionAPI):
|
|
def __init__(self):
|
|
super(IronicObjectIndirectionAPI, self).__init__()
|
|
self._conductor = conductor_api.ConductorAPI()
|
|
|
|
def object_action(self, context, objinst, objmethod, args, kwargs):
|
|
return self._conductor.object_action(context, objinst, objmethod,
|
|
args, kwargs)
|
|
|
|
def object_class_action(self, context, objname, objmethod, objver,
|
|
args, kwargs):
|
|
# NOTE(xek): This method is implemented for compatibility with
|
|
# oslo.versionedobjects 0.10.0 and older. It will be replaced by
|
|
# object_class_action_versions.
|
|
versions = object_base.obj_tree_get_versions(objname)
|
|
return self.object_class_action_versions(
|
|
context, objname, objmethod, versions, args, kwargs)
|
|
|
|
def object_class_action_versions(self, context, objname, objmethod,
|
|
object_versions, args, kwargs):
|
|
return self._conductor.object_class_action_versions(
|
|
context, objname, objmethod, object_versions, args, kwargs)
|
|
|
|
def object_backport_versions(self, context, objinst, object_versions):
|
|
return self._conductor.object_backport_versions(context, objinst,
|
|
object_versions)
|