[openstack-dev] [Cinder] Getting `ValueError: Field `volume_id' cannot be None`

Deepak Shetty dpkshetty at gmail.com
Thu Jun 4 08:07:28 UTC 2015


Hi Thang,
  Since you are working on Snapshot Objects, any idea on why the testcase
when run all by itself, works, but when run as part of the overall suite,
fails ?
This seems to be related to the Snapshot Objects, hence Ccing you.

On Wed, Jun 3, 2015 at 9:54 PM, Deepak Shetty <dpkshetty at gmail.com> wrote:

> Hi All,
>   I am hitting a strange issue when running Cinder unit tests against my
> patch @
> https://review.openstack.org/#/c/172808/5
>
> I have spent 1 day and haven't been successfull at figuring how/why my
> patch is causing it!
>
> All tests failing are part of VolumeTestCase suite and from the error (see
> below) it seems
> the Snapshot Object is complaining that 'volume_id' field is null (while
> it shouldn't be)
>
> An example error from the associated Jenkins run can be seen @
>
> http://logs.openstack.org/08/172808/5/check/gate-cinder-python27/0abd15e/console.html.gz#_2015-05-22_13_28_47_140
>
> I am seeing a total of 21 such errors.
>
> Its strange because, when I try to reproduce it locally in my devstack
> env, I see the below:
>
> 1) When i just run: ./run_tests.sh -N
> cinder.tests.unit.test_volume.VolumeTestCase
> all testcases pass
>
> 2) When i run 1 individual testcase: ./run_tests.sh -N
> cinder.tests.unit.test_volume.VolumeTestCase.test_delete_busy_snapshot
> that passes too
>
> 3) When i run : ./run_tests.sh -N
> I see 21 tests failing and all are failing with error similar to the below
>
> {0} cinder.tests.unit.test_volume.VolumeTestCase.test_delete_busy_snapshot
> [0.537366s] ... FAILED
>
> Captured traceback:
> ~~~~~~~~~~~~~~~~~~~
>     Traceback (most recent call last):
>       File "cinder/tests/unit/test_volume.py", line 3219, in
> test_delete_busy_snapshot
>         snapshot_obj = objects.Snapshot.get_by_id(self.context,
> snapshot_id)
>       File
> "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 163,
> in wrapper
>         result = fn(cls, context, *args, **kwargs)
>       File "cinder/objects/snapshot.py", line 130, in get_by_id
>         expected_attrs=['metadata'])
>       File "cinder/objects/snapshot.py", line 112, in _from_db_object
>         snapshot[name] = value
>       File
> "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 675,
> in __setitem__
>         setattr(self, name, value)
>       File
> "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 70,
> in setter
>         field_value = field.coerce(self, name, value)
>       File
> "/usr/lib/python2.7/site-packages/oslo_versionedobjects/fields.py", line
> 182, in coerce
>         return self._null(obj, attr)
>       File
> "/usr/lib/python2.7/site-packages/oslo_versionedobjects/fields.py", line
> 160, in _null
>         raise ValueError(_("Field `%s' cannot be None") % attr)
>     ValueError: Field `volume_id' cannot be None
>
> Any suggestions / thoughts on why this could be happening ?
>
> thanx,
> deepak
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150604/64b6eaba/attachment.html>


More information about the OpenStack-dev mailing list