diff --git a/ironic/objects/base.py b/ironic/objects/base.py index d7b4aebd27..14ef1aadfe 100644 --- a/ironic/objects/base.py +++ b/ironic/objects/base.py @@ -17,8 +17,6 @@ from oslo_log import log as logging from oslo_versionedobjects import base as object_base -from ironic.common import exception -from ironic.common.i18n import _ from ironic.objects import fields as object_fields @@ -29,30 +27,6 @@ class IronicObjectRegistry(object_base.VersionedObjectRegistry): pass -# Object versioning rules -# -# Each service has its set of objects, each with a version attached. When -# a client attempts to call an object method, the server checks to see if -# the version of that object matches (in a compatible way) its object -# implementation. If so, cool, and if not, fail. -def check_object_version(server, client): - try: - client_major, _client_minor = client.split('.') - server_major, _server_minor = server.split('.') - client_minor = int(_client_minor) - server_minor = int(_server_minor) - except ValueError: - raise exception.IncompatibleObjectVersion( - _('Invalid version string')) - - if client_major != server_major: - raise exception.IncompatibleObjectVersion( - dict(client=client_major, server=server_major)) - if client_minor > server_minor: - raise exception.IncompatibleObjectVersion( - dict(client=client_minor, server=server_minor)) - - class IronicObject(object_base.VersionedObject): """Base class and object factory. @@ -94,17 +68,3 @@ class IronicObject(object_base.VersionedObject): class IronicObjectSerializer(object_base.VersionedObjectSerializer): # Base class to use for object hydration OBJ_BASE_CLASS = IronicObject - - -def obj_to_primitive(obj): - """Recursively turn an object into a python primitive. - - An IronicObject becomes a dict - """ - if isinstance(obj, IronicObject): - result = {} - for key, value in obj.items(): - result[key] = obj_to_primitive(value) - return result - else: - return obj diff --git a/ironic/objects/utils.py b/ironic/objects/utils.py deleted file mode 100644 index f732d731fa..0000000000 --- a/ironic/objects/utils.py +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2013 IBM Corp. -# -# 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. - -"""Utility methods for objects""" -from datetime import datetime - -from oslo_utils import timeutils - - -def dt_serializer(name): - """Return a datetime serializer for a named attribute.""" - def serializer(self, name=name): - if getattr(self, name) is not None: - return datetime.isoformat(getattr(self, name)) - else: - return None - return serializer - - -def dt_deserializer(instance, val): - """A deserializer method for datetime attributes.""" - if val is None: - return None - else: - return timeutils.parse_isotime(val) diff --git a/ironic/tests/objects/test_objects.py b/ironic/tests/objects/test_objects.py index 1bcef6632a..c001b906d0 100644 --- a/ironic/tests/objects/test_objects.py +++ b/ironic/tests/objects/test_objects.py @@ -18,14 +18,12 @@ import gettext import iso8601 from oslo_context import context -from oslo_utils import timeutils from oslo_versionedobjects import base as object_base from oslo_versionedobjects import exception as object_exception import six from ironic.objects import base from ironic.objects import fields -from ironic.objects import utils from ironic.tests import base as test_base gettext.install('ironic') @@ -94,34 +92,6 @@ class TestSubclassedObject(MyObj): fields = {'new_field': fields.StringField()} -class TestUtils(test_base.TestCase): - - def test_dt_serializer(self): - class Obj(object): - foo = utils.dt_serializer('bar') - - obj = Obj() - obj.bar = timeutils.parse_isotime('1955-11-05T00:00:00+00:00') - self.assertEqual('1955-11-05T00:00:00+00:00', obj.foo()) - obj.bar = None - self.assertIsNone(obj.foo()) - obj.bar = 'foo' - self.assertRaises(TypeError, obj.foo) - - def test_dt_deserializer(self): - dt = timeutils.parse_isotime('1955-11-05T00:00:00Z') - self.assertEqual(utils.dt_deserializer(None, dt.isoformat()), dt) - self.assertIsNone(utils.dt_deserializer(None, None)) - self.assertRaises(ValueError, utils.dt_deserializer, None, 'foo') - - def test_obj_to_primitive_dict(self): - myobj = MyObj(self.context) - myobj.foo = 1 - myobj.bar = 'foo' - self.assertEqual({'foo': 1, 'bar': 'foo'}, - base.obj_to_primitive(myobj)) - - class _BaseTestCase(test_base.TestCase): def setUp(self): super(_BaseTestCase, self).setUp()