[openstack-dev] [cinder][nova] Is volume connection_info modeled/documented anywhere?
Matt Riedemann
mriedem at linux.vnet.ibm.com
Wed Jun 10 13:54:47 UTC 2015
While investigating/discussing bug 1463525 [1] I remembered how little I
know about what can actually come out of the connection_info dict
returned from the os-initialize_connection cinder API call.
So we added some debug logging in nova and I remembered that there are
potentially credentials (auth_password) stored in connection_info, so we
have a bug to clean that up in Nova [2].
The plan is to model connection_info using objects where we have a
parent object BdmConnectionInfo containing the common keys, like
'driver_volume_type' and 'data', and then child objects for the
vendor-specific connection_info objects, like RbdBdmConnectionInfo,
ISCSIBdmConnectionInfo, etc.
The problem I have right now is knowing what can all be in there, since
there are a ton of vendor drivers in Cinder.
Is anyone aware of a wiki page or devref or anything that documents what
can be in that wild west connection_info dict? If not, the first thing
I was going to do was start documenting that - but where? It seems it
should really be modeled in Cinder since it is part of the API contract
and if a vendor driver were to say rename or drop a key from the
connection_info they were returning in os-initialize_connection it would
be a backwards incompatible change.
Is devref best for this with a listing for each vendor driver? At least
then it would be versioned with the code and updates could be made as
new keys are added to connection_info or new drivers are added to Cinder.
I'm looking for any advice here in how to get started since I don't
primarily work on Cinder and don't have a full history here.
[1] https://bugs.launchpad.net/cinder/+bug/1463525
[2] https://bugs.launchpad.net/nova/+bug/1321785
--
Thanks,
Matt Riedemann
More information about the OpenStack-dev
mailing list