Fix volume_info result for SDK < 0.19
With openstacksdk prior to version 0.19, module volume_info fails with:
TypeError: Value of unknown type: <class
'openstack.block_storage.v2.volume.Volume'> ...
The call to 'self.conn.block_storage.volumes()' returns an instance
of class 'openstack.block_storage.v2.volume.Volume'. This class
inherits from 'openstack.resource.Resource', which is a 'dict'
subclass since 0.19. For older sdk versions prior to 0.19 it was
not, hence we have to use the 'to_dict' function to convert each
'Volume' to 'dict' explicitly.
Ref.: 2f97394847
Task: 41571
Story: 2008136
Change-Id: I5b7adc399f19da08f02202af64a226c92bb9bf41
This commit is contained in:
parent
a4e6d1b67c
commit
69947cd9fd
@ -133,7 +133,7 @@ class VolumeInfoModule(OpenStackModule):
|
||||
status=self.params['status'],
|
||||
)
|
||||
result = self.conn.block_storage.volumes(**kwargs)
|
||||
result = list(result)
|
||||
result = [vol if isinstance(vol, dict) else vol.to_dict() for vol in result]
|
||||
self.results.update({'volumes': result})
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user