]> xenbits.xensource.com Git - osstest/openstack-nova.git/commitdiff
Remove redundant VersionedObject Fields
authorMatt Riedemann <mriedem@us.ibm.com>
Tue, 22 Nov 2016 20:47:53 +0000 (15:47 -0500)
committerMatt Riedemann <mriedem@us.ibm.com>
Tue, 22 Nov 2016 20:47:53 +0000 (15:47 -0500)
This removes the NonNegativeInteger NonNegativeFloat and
IPV4AndV6Address Fields, since they already are defined in ovo.

implements bp json-schema-for-versioned-object

Depends-On: I083c854d0e1d18806169a1454e8127eda9e8ffb8

Change-Id: I61b7b6fa53013aff200e55b7031d5ba23669e1f4

nova/objects/fields.py
nova/tests/unit/objects/test_fields.py
requirements.txt

index f9f99f70896fd63a8594a5738f1e5dea653834bf..fa0c612c5f096e54e63e0f7b1f934028dab8f4d8 100644 (file)
@@ -39,8 +39,10 @@ ElementTypeError = fields.ElementTypeError
 BooleanField = fields.BooleanField
 UnspecifiedDefault = fields.UnspecifiedDefault
 IntegerField = fields.IntegerField
+NonNegativeIntegerField = fields.NonNegativeIntegerField
 UUIDField = fields.UUIDField
 FloatField = fields.FloatField
+NonNegativeFloatField = fields.NonNegativeFloatField
 StringField = fields.StringField
 SensitiveStringField = fields.SensitiveStringField
 EnumField = fields.EnumField
@@ -61,6 +63,7 @@ DictOfListOfStringsField = fields.DictOfListOfStringsField
 IPAddressField = fields.IPAddressField
 IPV4AddressField = fields.IPV4AddressField
 IPV6AddressField = fields.IPV6AddressField
+IPV4AndV6AddressField = fields.IPV4AndV6AddressField
 IPNetworkField = fields.IPNetworkField
 IPV4NetworkField = fields.IPV4NetworkField
 IPV6NetworkField = fields.IPV6NetworkField
@@ -673,17 +676,6 @@ class InstancePowerState(Enum):
         return cls.ALL[index]
 
 
-class IPV4AndV6Address(IPAddress):
-    @staticmethod
-    def coerce(obj, attr, value):
-        result = IPAddress.coerce(obj, attr, value)
-        if result.version != 4 and result.version != 6:
-            raise ValueError(_('Network "%(val)s" is not valid '
-                               'in field %(attr)s') %
-                             {'val': value, 'attr': attr})
-        return result
-
-
 class NetworkModel(FieldType):
     @staticmethod
     def coerce(obj, attr, value):
@@ -709,24 +701,6 @@ class NetworkModel(FieldType):
             ','.join([str(vif['id']) for vif in value]))
 
 
-class NonNegativeFloat(FieldType):
-    @staticmethod
-    def coerce(obj, attr, value):
-        v = float(value)
-        if v < 0:
-            raise ValueError(_('Value must be >= 0 for field %s') % attr)
-        return v
-
-
-class NonNegativeInteger(FieldType):
-    @staticmethod
-    def coerce(obj, attr, value):
-        v = int(value)
-        if v < 0:
-            raise ValueError(_('Value must be >= 0 for field %s') % attr)
-        return v
-
-
 class AddressBase(FieldType):
     @staticmethod
     def coerce(obj, attr, value):
@@ -924,17 +898,5 @@ class InstancePowerStateField(BaseEnumField):
     AUTO_TYPE = InstancePowerState()
 
 
-class IPV4AndV6AddressField(AutoTypedField):
-    AUTO_TYPE = IPV4AndV6Address()
-
-
 class ListOfIntegersField(AutoTypedField):
     AUTO_TYPE = List(fields.Integer())
-
-
-class NonNegativeFloatField(AutoTypedField):
-    AUTO_TYPE = NonNegativeFloat()
-
-
-class NonNegativeIntegerField(AutoTypedField):
-    AUTO_TYPE = NonNegativeInteger()
index a67b71bd9bf96de94f368faf5f85d47b59c3f642..48fb0222ed5b61eed4b88261386765739ed80b4a 100644 (file)
@@ -230,7 +230,7 @@ class TestInteger(TestField):
 class TestNonNegativeInteger(TestInteger):
     def setUp(self):
         super(TestNonNegativeInteger, self).setUp()
-        self.field = fields.Field(fields.NonNegativeInteger())
+        self.field = fields.NonNegativeIntegerField()
         self.coerce_bad_values.extend(['-2', '4.2'])
 
 
@@ -247,7 +247,7 @@ class TestFloat(TestField):
 class TestNonNegativeFloat(TestFloat):
     def setUp(self):
         super(TestNonNegativeFloat, self).setUp()
-        self.field = fields.Field(fields.NonNegativeFloat())
+        self.field = fields.NonNegativeFloatField()
         self.coerce_bad_values.extend(['-4.2'])
 
 
index 87c228ae8183cc7cdcbac8629eb702468bf083ed..1c1ace1180c6b851c4b61b064540ac13630e608c 100644 (file)
@@ -51,7 +51,7 @@ oslo.service>=1.10.0 # Apache-2.0
 rfc3986>=0.2.2 # Apache-2.0
 oslo.middleware>=3.0.0 # Apache-2.0
 psutil<2.0.0,>=1.1.1 # BSD
-oslo.versionedobjects>=1.13.0 # Apache-2.0
+oslo.versionedobjects>=1.17.0 # Apache-2.0
 os-brick>=1.8.0 # Apache-2.0
 os-vif>=1.3.0 # Apache-2.0
 os-win>=1.1.0 # Apache-2.0