1 of 32

Cinder

Project overview and update

Jay Bryant (Cinder PTL)

IRC: jungleboyj

Twitter: @jungleboyj

May 1, 2019

2 of 32

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 of 32

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 of 32

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 of 32

Agenda

  • The State of Cinder
  • Update on Stein release
  • Priorities for Train

6 of 32

The State of Cinder

7 of 32

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 of 32

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 of 32

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 of 32

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

11 of 32

Stein Release Update

12 of 32

New Drivers

  • New drivers in Stein
    • Hedvig Storage
    • Inspur AS13000
    • Storage Performance Developer Kit (SPDK)

13 of 32

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 of 32

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 of 32

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 of 32

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 of 32

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 of 32

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 of 32

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 of 32

Documentation Improvements

  • Continuing to focus on getting documentation changes in with code changes
  • Have expanded and improved the Cinder Driver Support Matrix

21 of 32

Priorities for Train

22 of 32

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 of 32

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 of 32

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 of 32

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 of 32

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 of 32

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 of 32

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 of 32

Closing openstackclient Gaps

  • Still have gaps between cinderclient and openstackclient
  • Don’t anticipate cinderclient ever going away
  • Are trying to improve parity

30 of 32

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

31 of 32

Reference Links

32 of 32

THANKS.

Questions?

openstack

openstack

OpenStackFoundation

@OpenStack