These are the slides from my Cinder Project Update at the Open Infrastructure Summit in Denver, 2019. This covers the state of the Cinder Project, work completed in the Stein release and plans for the Train cycle.
2. What does Cinder do?
• Provide block storage service
• Implement services and libraries
to provide on demand, self-
service access to Block Storage
resources. Provide Software
Defined Block Storage via
abstraction and automation on
top of various traditional backend
block storage devices.
3. Project background
• Founded during the Folsom release of
OpenStack
• 158 contributors in Rocky
Latest user survey adoption numbers:
• Deployed: [89%] (consumers indicate they are
using this project in production or test phase;
86% in production and 3% in test)
4. Mid-Cycle Meeting
● February 5th - 7th at Morrisville Lenovo Site
● Approximately 5 people in Physical
Attendance
● Approximately 8 people remotely
participated
● Was a productive week
Mmmm, Carolina BBQ! ----->
5. Agenda
● The State of Cinder
● Update on Stein release
● Priorities for Train
7. Contributions
● Slow decline of commits during the last few releases
● Why?
○ Transition from new feature development to bug fixing and User
Experience improvements
○ Drivers have stabilized and are more reliable
● Is this good?
○ Yes!
○ Cinder is a more mature and stable offering
8. Participation
● Continue to have diverse participation from multiple companies
○ Huawei
○ Lenovo
○ Red Hat
○ Dell/EMC
● Retaining expertise
● Core contributor list has changed but remains stable in numbers
● Reviews roughly track based on numbers of commits
○ Always room for improvement
9. Drivers
● Number of supported drivers remains high at 61
○ Down from 80+ at its peak
○ Has remained stable for the last few releases with about the
same number going out as coming in
● Both Fibre Channel Zone Manager drivers have had support returned
● Continue to see Ceph as the most adopted
○ Remains a development focus
10. Bottom Line
● Cinder’s participation remains consistent and healthy
● Cinder’s breadth continues to expand
○ Standalone Cinder
○ cinderlib
● See deployers and SDS vendors looking to Cinder as we have
already solved the hard problems
● Anticipate more use cases beyond OpenStack in the future
12. New Drivers
● New drivers in Stein
○ Hedvig Storage
○ Inspur AS13000
○ Storage Performance Developer Kit (SPDK)
13. Unsupported/Removed Drivers
● Following drivers failed to maintain 3rd party CI and have been
marked unsupported:
○ Nexenta Edge
○ Tintri
○ Veritas HyperScale
● Following drivers were removed after the deprecation period
○ CoprHD
○ ITRI DISCO
○ HGST Flash Storage Suite
14. Multi-Attach
● The RBD (Ceph) driver has added multi-attach support!
○ Currently replication and multi-attach are mutually exclusive
○ A single RBD driver can only support one at a time
○ More improvements coming
15. Driver Initialization Improvements
● Added reinit_driver_count option
○ Indicate the maximum number of times to retry driver re-
initialization after a failure.
○ Exponential backoff
○ Default value of 3
16. RBD Deferred Deletion Support
● Can have deleted volumes tagged for deletion but they are not
removed until a later time (enabled_deferred_deletion=True)
● Disabled by default
● Can be tuned:
○ deferred_deletion_delay
○ deferred_deletion_purge_interval
17. Upgrade Checker
● Community goal for stein
● Allows administrators to check their environment to ensure
compatibility with the new Cinder release
● ‘cinder-status upgrade check’
● A few checks included in Stein, expect to see more in Train
18. Tech Preview Release of cinderlib
● The next step beyond Standalone Cinder
● Allows Cinder’s drivers to be used without any Cinder services
● Tested drivers:
○ RBD/Ceph
○ LVM
○ XtremIO
○ Kaminaro
○ Solidfire
● Nice overview of the project: https://gorka.eguileor.com/cinderlib/
● Currently in use as part of oVirt and Ember-CSI
19. Review Priority Tracking
● Cores now marking reviews with a priority
○ High Priority
○ Priority
○ Blocked
● Can see the categorized reviews here: http://tiny.cc/CinderPriorities
20. Documentation Improvements
● Continuing to focus on getting documentation changes in with code
changes
● Have expanded and improved the Cinder Driver Support Matrix
22. New features & enhancements Planned for Train
● A reminder that this is just a statement of plan … actual mileage
may vary.
● Priorities will be discussed at the Train PTG later this week.
● Keep the most up-to-date list of work and priorities in our
etherpad: https://etherpad.openstack.org/p/cinder-spec-review-
tracking
23. Active/Active HA Improvements
● Work continuing here with distributors testing support
● Hoping to be able to find issues and use the placement code to
resolve them
24. Removal of V2 API
● V3 is a supserset of V2. Would like to remove duplicate V2 code
● Working with API consumers to determine possible impacts
● Hope to be able to remove in Train or the ‘U’ release
25. Generic Backup Implementation
● Goal we have been working towards for some time
● Enable Cinder to backup to any volume driver
● Patches are proposed, hope to make more progress in Train
26. Driver Capabilities Reporting
● Not currently easy to see capabilities reported by drivers enabled
in an environment
● Working to make the information more readily available and usable
27. Re-Image Attached Volume
● Have had requests to be able to re-image attached volumes
● Want to be able to refresh the root image without having to free up
the volume
● Working to create an API to support this process
28. Ceph iSCSI Support
● Investigating adding support for attaching Ceph volumes via iSCSI
● Feature would be useful for Ironic
● Also could be used by Standalone Cinder consumers
● Feedback is that there is a lot of interest in this feature
29. Closing openstackclient Gaps
● Still have gaps between cinderclient and openstackclient
● Don’t anticipate cinderclient ever going away
● Are trying to improve parity
30. Avoiding Untyped Volumes
● Having volumes without types is confusing and can lead to
problems
● Working to add a default type that will be used if no other types are
available
● Hoping to have this addressed in Train