Cinder subordinate charm cinder-lvm¶
Problem Description¶
Cinder has a great number of drivers for different backends. Almost all currently available commercial storage arrays and many other software only solutions have a driver available, if not already in the upstream cinder project, as an installable package that enables cinder with the extra driver.
Because of how many possibilities exist, a model was developed where a separate subordinate charm will be deployed to take care of the specifics of the driver and pass configuration to the main cinder charm over a relation so that cinder can write to its own configuration file.
Proposed Change¶
Instead of changing the cinder charm, this proposal aims to create a separate subordinate charm specific for the lvm driver. The following points are of condiderable importance for the development of this subordinate charm:
The new implementation should not conflict with current implementation. Both should co-exist, even in the same deployment if possible.
The new charm should implement all features currently existing in the cinder charm, regarding the lvm functionality.
New LVM capabilities in the exisiting cinder charm are to be considered deprecated and will be removed at a future release.
Note that because the LVM driver is part of the cinder-common package, no additional packages need to be installed for this charm to work.
This charm will support the then Queens release of Openstack and newer.
Alternatives¶
At the time of this writing, there exist no alternatives.
Implementation¶
Assignee(s)¶
- Primary assignee:
Andre Ruiz <andre.ruiz@canonical.com> - LP ID: andre-ruiz
- Secondary assignee:
Luciano Lo Giudice <luciano.logiudice@canonical.com> - LP ID: lmlogiudice
Gerrit Topic¶
Use Gerrit topic “charm-cinder-lvm” for all patches related to this spec.
git-review -t charm-cinder-lvm
Work Items¶
The charm, as listed above. Plus, both unit and functional tests will be written.
Repositories¶
Presently, the following repository hosts the charm code:
https://github.com/openstack-charmers/charm-cinder-lvm
Eventually, it will be moved to the _openstack_ namespace.
Documentation¶
Once this charm is completed, charm-guide will be updated to reference it.
Security¶
No security aspect is going to change in relation to the current solution.
Testing¶
Code changes will be covered by both unit and functional tests. No special hardware is expected to be needed to test this charm.
Dependencies¶
No dependencies in addition to the ones that exist in the current solution.