yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #44247
[Bug 1532078] [NEW] Aggregate availability_zone access throws NotImplementedError when metadata is null
Public bug reported:
The Aggregate object has an availability_zone property that, when
accessed, gets the availability zone as a key/value stored in the
metadata field. The problem is, the metadata field is nullable, so if an
Aggregate object is created with no metadata, calling the
availability_zone property will explode because it is trying to get the
'availability_zone' key on the metadata field.
Here is a simple test that fails to show the problem (put in
nova/tests/unit/objects/test_aggregate.py):
def test_get_availability_zone_with_null_metadata(self):
agg = aggregate.Aggregate()
self.assertIsNone(agg.availability_zone)
Here's the result of the test:
nova.tests.unit.objects.test_aggregate.TestAggregateObject.test_get_availability_zone_with_null_metadata
--------------------------------------------------------------------------------------------------------
Captured traceback:
~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "nova/tests/unit/objects/test_aggregate.py", line 192, in test_get_availability_zone_with_null_metadata
self.assertIsNone(agg.availability_zone)
File "nova/objects/aggregate.py", line 151, in availability_zone
return self.metadata.get('availability_zone', None)
File "/opt/stack/nova/.tox/py27/local/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 67, in getter
self.obj_load_attr(name)
File "/opt/stack/nova/.tox/py27/local/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 578, in obj_load_attr
_("Cannot load '%s' in the base class") % attrname)
NotImplementedError: Cannot load 'metadata' in the base class
** Affects: nova
Importance: Undecided
Assignee: Ryan Rossiter (rlrossit)
Status: New
** Changed in: nova
Assignee: (unassigned) => Ryan Rossiter (rlrossit)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1532078
Title:
Aggregate availability_zone access throws NotImplementedError when
metadata is null
Status in OpenStack Compute (nova):
New
Bug description:
The Aggregate object has an availability_zone property that, when
accessed, gets the availability zone as a key/value stored in the
metadata field. The problem is, the metadata field is nullable, so if
an Aggregate object is created with no metadata, calling the
availability_zone property will explode because it is trying to get
the 'availability_zone' key on the metadata field.
Here is a simple test that fails to show the problem (put in
nova/tests/unit/objects/test_aggregate.py):
def test_get_availability_zone_with_null_metadata(self):
agg = aggregate.Aggregate()
self.assertIsNone(agg.availability_zone)
Here's the result of the test:
nova.tests.unit.objects.test_aggregate.TestAggregateObject.test_get_availability_zone_with_null_metadata
--------------------------------------------------------------------------------------------------------
Captured traceback:
~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "nova/tests/unit/objects/test_aggregate.py", line 192, in test_get_availability_zone_with_null_metadata
self.assertIsNone(agg.availability_zone)
File "nova/objects/aggregate.py", line 151, in availability_zone
return self.metadata.get('availability_zone', None)
File "/opt/stack/nova/.tox/py27/local/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 67, in getter
self.obj_load_attr(name)
File "/opt/stack/nova/.tox/py27/local/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 578, in obj_load_attr
_("Cannot load '%s' in the base class") % attrname)
NotImplementedError: Cannot load 'metadata' in the base class
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1532078/+subscriptions
Follow ups