Re: [openstack-dev] [cinder] [Third-party-announce] Cinder Merged patch broke HDS driver
Ramy, Ok, I'll do that. Good idea. Thang, Thank you for all your help. Regards, Marcus On Thu, Mar 5, 2015 at 11:41 PM, Thang Pham thang.g.p...@gmail.com wrote: I commented on this in your patch ( https://review.openstack.org/#/c/161837/) and posted a patch to help you along - https://review.openstack.org/#/c/161945/. This patch will make create_snapshot and create_volume_from_snapshot method use snapshot objects. By using snapshot objects in both methods, you could now update the driver to use snapshot objects, instead of the workaround you had originally posted. Regards, Thang On Thu, Mar 5, 2015 at 8:10 PM, Asselin, Ramy ramy.asse...@hp.com wrote: Marcus, Don’t turn off ci, because then you could miss another regression. Instead, simply exclude that test case: e.g. export DEVSTACK_GATE_TEMPEST_REGEX=^(?=.*tempest.api.volume)(?!.*test_snapshots_actions).* Ramy *From:* Marcus Vinícius Ramires do Nascimento [mailto:marcus...@gmail.com] *Sent:* Wednesday, March 04, 2015 1:29 PM *To:* openstack-dev@lists.openstack.org; Announcements for third party CI operators. *Subject:* [openstack-dev] [cinder] [Third-party-announce] Cinder Merged patch broke HDS driver Hi folks, This weekend, the patch *Snapshot and volume objects* ( https://review.openstack.org/#/c/133566) was merged and this one broke our HDS HBSD driver and the respective CI. When CI tries to run tempest.api.volume.admin.test_snapshots_actions the following error is shown: 2015-03-04 14:00:34.368 ERROR oslo_messaging.rpc.dispatcher [req-c941792b-963f-4a7d-a6ac-9f1d9f823fd1 915289d113dd4f9db2f2a792c18b3564 984bc8d228c8497689dde60dc2b8f300] Exception during messag e handling: 'class 'cinder.objects.snapshot.Snapshot'' object has no attribute 'snapshot_metadata' 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher Traceback (most recent call last): 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 142, in _dispatch_and_reply 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher executor_callback)) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 186, in _dispatch 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher executor_callback) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 130, in _do_dispatch 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher result = func(ctxt, **new_args) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py, line 105, in wrapper 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 156, in lso_inner1 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return lso_inner2(inst, context, snapshot, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py, line 431, in inner 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 155, in lso_inner2 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*_args, **_kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 635, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher snapshot.save() 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py, line 82, in __exit__ 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 625, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher self.driver.delete_snapshot(snapshot) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py, line 105, in wrapper 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_iscsi.py, line 314, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher self.common.delete_snapshot(snapshot) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File
Re: [openstack-dev] [cinder] [Third-party-announce] Cinder Merged patch broke HDS driver
Marcus, Don’t turn off ci, because then you could miss another regression. Instead, simply exclude that test case: e.g. export DEVSTACK_GATE_TEMPEST_REGEX=^(?=.*tempest.api.volume)(?!.*test_snapshots_actions).* Ramy From: Marcus Vinícius Ramires do Nascimento [mailto:marcus...@gmail.com] Sent: Wednesday, March 04, 2015 1:29 PM To: openstack-dev@lists.openstack.org; Announcements for third party CI operators. Subject: [openstack-dev] [cinder] [Third-party-announce] Cinder Merged patch broke HDS driver Hi folks, This weekend, the patch Snapshot and volume objects (https://review.openstack.org/#/c/133566) was merged and this one broke our HDS HBSD driver and the respective CI. When CI tries to run tempest.api.volume.admin.test_snapshots_actions the following error is shown: 2015-03-04 14:00:34.368 ERROR oslo_messaging.rpc.dispatcher [req-c941792b-963f-4a7d-a6ac-9f1d9f823fd1 915289d113dd4f9db2f2a792c18b3564 984bc8d228c8497689dde60dc2b8f300] Exception during messag e handling: 'class 'cinder.objects.snapshot.Snapshot'' object has no attribute 'snapshot_metadata' 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher Traceback (most recent call last): 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 142, in _dispatch_and_reply 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher executor_callback)) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 186, in _dispatch 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher executor_callback) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 130, in _do_dispatch 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher result = func(ctxt, **new_args) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py, line 105, in wrapper 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 156, in lso_inner1 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return lso_inner2(inst, context, snapshot, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py, line 431, in inner 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 155, in lso_inner2 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*_args, **_kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 635, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher snapshot.save() 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py, line 82, in __exit__ 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 625, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher self.driver.delete_snapshot(snapshot) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py, line 105, in wrapper 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_iscsi.py, line 314, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher self.common.delete_snapshot(snapshot) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_common.py, line 635, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher is_vvol = self.get_snapshot_is_vvol(snapshot) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_common.py, line 189, in get_snapshot_is_vvol 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return self.get_is_vvol(snapshot, 'snapshot_metadata') 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_common.py, line 183, in get_is_vvol 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return self.get_value(obj, name, 'type
Re: [openstack-dev] [cinder] [Third-party-announce] Cinder Merged patch broke HDS driver
I commented on this in your patch (https://review.openstack.org/#/c/161837/) and posted a patch to help you along - https://review.openstack.org/#/c/161945/. This patch will make create_snapshot and create_volume_from_snapshot method use snapshot objects. By using snapshot objects in both methods, you could now update the driver to use snapshot objects, instead of the workaround you had originally posted. Regards, Thang On Thu, Mar 5, 2015 at 8:10 PM, Asselin, Ramy ramy.asse...@hp.com wrote: Marcus, Don’t turn off ci, because then you could miss another regression. Instead, simply exclude that test case: e.g. export DEVSTACK_GATE_TEMPEST_REGEX=^(?=.*tempest.api.volume)(?!.*test_snapshots_actions).* Ramy *From:* Marcus Vinícius Ramires do Nascimento [mailto:marcus...@gmail.com] *Sent:* Wednesday, March 04, 2015 1:29 PM *To:* openstack-dev@lists.openstack.org; Announcements for third party CI operators. *Subject:* [openstack-dev] [cinder] [Third-party-announce] Cinder Merged patch broke HDS driver Hi folks, This weekend, the patch *Snapshot and volume objects* ( https://review.openstack.org/#/c/133566) was merged and this one broke our HDS HBSD driver and the respective CI. When CI tries to run tempest.api.volume.admin.test_snapshots_actions the following error is shown: 2015-03-04 14:00:34.368 ERROR oslo_messaging.rpc.dispatcher [req-c941792b-963f-4a7d-a6ac-9f1d9f823fd1 915289d113dd4f9db2f2a792c18b3564 984bc8d228c8497689dde60dc2b8f300] Exception during messag e handling: 'class 'cinder.objects.snapshot.Snapshot'' object has no attribute 'snapshot_metadata' 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher Traceback (most recent call last): 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 142, in _dispatch_and_reply 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher executor_callback)) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 186, in _dispatch 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher executor_callback) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 130, in _do_dispatch 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher result = func(ctxt, **new_args) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py, line 105, in wrapper 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 156, in lso_inner1 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return lso_inner2(inst, context, snapshot, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py, line 431, in inner 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 155, in lso_inner2 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*_args, **_kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 635, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher snapshot.save() 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py, line 82, in __exit__ 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 625, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher self.driver.delete_snapshot(snapshot) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py, line 105, in wrapper 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_iscsi.py, line 314, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher self.common.delete_snapshot(snapshot) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_common.py, line 635, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher is_vvol
[openstack-dev] [cinder] [Third-party-announce] Cinder Merged patch broke HDS driver
Hi folks, This weekend, the patch Snapshot and volume objects ( https://review.openstack.org/#/c/133566) was merged and this one broke our HDS HBSD driver and the respective CI. When CI tries to run tempest.api.volume.admin.test_snapshots_actions the following error is shown: 2015-03-04 14:00:34.368 ERROR oslo_messaging.rpc.dispatcher [req-c941792b-963f-4a7d-a6ac-9f1d9f823fd1 915289d113dd4f9db2f2a792c18b3564 984bc8d228c8497689dde60dc2b8f300] Exception during messag e handling: 'class 'cinder.objects.snapshot.Snapshot'' object has no attribute 'snapshot_metadata' 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher Traceback (most recent call last): 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 142, in _dispatch_and_reply 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher executor_callback)) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 186, in _dispatch 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher executor_callback) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py, line 130, in _do_dispatch 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher result = func(ctxt, **new_args) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py, line 105, in wrapper 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 156, in lso_inner1 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return lso_inner2(inst, context, snapshot, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py, line 431, in inner 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 155, in lso_inner2 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*_args, **_kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 635, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher snapshot.save() 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py, line 82, in __exit__ 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/manager.py, line 625, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher self.driver.delete_snapshot(snapshot) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py, line 105, in wrapper 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_iscsi.py, line 314, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher self.common.delete_snapshot(snapshot) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_common.py, line 635, in delete_snapshot 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher is_vvol = self.get_snapshot_is_vvol(snapshot) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_common.py, line 189, in get_snapshot_is_vvol 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return self.get_is_vvol(snapshot, 'snapshot_metadata') 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_common.py, line 183, in get_is_vvol 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher return self.get_value(obj, name, 'type') == 'V-VOL' 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/volume/drivers/hitachi/hbsd_common.py, line 176, in get_value 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher if obj.get(name): 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher File /opt/stack/cinder/cinder/objects/base.py, line 615, in get 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher self.__class__, key)) 2015-03-04 14:00:34.368 TRACE oslo_messaging.rpc.dispatcher AttributeError: 'class 'cinder.objects.snapshot.Snapshot'*' object has