]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
QosPolicy: made shared field required and with default value = False
authorIhar Hrachyshka <ihrachys@redhat.com>
Thu, 30 Jul 2015 08:46:49 +0000 (10:46 +0200)
committerIhar Hrachyshka <ihrachys@redhat.com>
Thu, 30 Jul 2015 08:46:49 +0000 (10:46 +0200)
Change-Id: Icc71ae923d88e2db193d4a33726f8455af4c5dd8
Partially-Implements: blueprint quantum-qos-api

neutron/db/migration/alembic_migrations/versions/liberty/expand/48153cb5f051_qos_db_changes.py
neutron/db/qos/models.py
neutron/objects/base.py
neutron/objects/qos/policy.py
neutron/tests/unit/objects/qos/test_policy.py

index 9a8fb102a415bbc637f4097df044bb7a25be1aec..03711ca03d46dca8121a36022d37062b501b33a6 100755 (executable)
@@ -37,7 +37,7 @@ def upgrade():
         sa.Column('id', sa.String(length=36), primary_key=True),
         sa.Column('name', sa.String(length=attrs.NAME_MAX_LEN)),
         sa.Column('description', sa.String(length=attrs.DESCRIPTION_MAX_LEN)),
-        sa.Column('shared', sa.Boolean()),
+        sa.Column('shared', sa.Boolean(), nullable=False),
         sa.Column('tenant_id', sa.String(length=attrs.TENANT_ID_MAX_LEN),
                   index=True))
 
index bf0a62d011a7b952f84da6a841da864314448b88..f40ee0f49a30ed4b5d861f7b7ee1413249e3f9ed 100755 (executable)
@@ -28,7 +28,7 @@ class QosPolicy(model_base.BASEV2, models_v2.HasId, models_v2.HasTenant):
     __tablename__ = 'qos_policies'
     name = sa.Column(sa.String(attrs.NAME_MAX_LEN))
     description = sa.Column(sa.String(attrs.DESCRIPTION_MAX_LEN))
-    shared = sa.Column(sa.Boolean)
+    shared = sa.Column(sa.Boolean, nullable=False)
 
 
 class QosNetworkPolicyBinding(model_base.BASEV2):
index cf51cf3d20ef44ae43543bf9666bd578a1a3cbe2..264bbf9af9d03e61af2de951a19e599e202a8d76 100644 (file)
@@ -23,6 +23,10 @@ class NeutronObject(obj_base.VersionedObject,
                     obj_base.VersionedObjectDictCompat,
                     obj_base.ComparableVersionedObject):
 
+    def __init__(self, context=None, **kwargs):
+        super(NeutronObject, self).__init__(context, **kwargs)
+        self.obj_set_defaults()
+
     def to_dict(self):
         return dict(self.items())
 
index 51602a3eafbdab984850bdd6dcd9646f35f39a91..fb2fca2226bddec412745bb67238989e0cbaf5fd 100644 (file)
@@ -60,7 +60,7 @@ class QosPolicy(base.NeutronDbObject):
         'tenant_id': obj_fields.UUIDField(),
         'name': obj_fields.StringField(),
         'description': obj_fields.StringField(),
-        'shared': obj_fields.BooleanField()
+        'shared': obj_fields.BooleanField(default=False)
     }
 
     fields_no_update = ['id', 'tenant_id']
index 9369f03a8c63c749893c7a1d96980a36e6985f44..c3c747b90b91488c167cd39375f3fb050ad1a351 100644 (file)
@@ -245,3 +245,8 @@ class QosPolicyDbObjectTestCase(test_base.BaseDbObjectTestCase,
 
         self.assertEqual(rule_dict,
                          obj_dict['bandwidth_limit_rules'][0])
+
+    def test_shared_default(self):
+        self.db_obj.pop('shared')
+        obj = self._test_class(self.context, **self.db_obj)
+        self.assertEqual(False, obj.shared)