Overview of Cinder Project Updates
Cinder project provides block storage services, implements services for on-demand access to storage resources, and enables software-defined block storage through abstraction and automation. Founded during the Folsom release of OpenStack, Cinder has seen significant adoption and continuous updates, including new drivers and migration processes from CGs to GVGs before upgrading from Ocata to Pike.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
05.08.2017 Cinder Project overview and update Sean McGinnis (Huawei), Jay Bryant (Lenovo), Xing Yang (Dell EMC)
What does Cinder do? To provide block storage service To 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.
Project background Founded during the Folsom release of OpenStack 215 contributors in Ocata Latest user survey adoption numbers: Deployed: [89%] (clouds in production or test phase that indicate they are using this project in production or test phase; 86% in production and 3% in test)
Agenda Update of Ocata release Priorities for Pike Other discussions at PTG
New Drivers New drivers in Ocata Dell EMC Unity FC and iSCSI driver Hitachi VSP FC and iSCSI Driver InfiniBox (FC) NEC (FC and iSCSI) Nimble (added FC; had iSCSI before) Reduxio (iSCSI) QNAP ES (iSCSI) IBM Storage driver is open sourced A few new drivers planned for Pike
Migration from CGs to GVGs Before upgrading from Ocata to Pike, operator needs to perform all the Newton data migrations. Finishing all the Newton data migrations will be enforced by the first schema migration in Pike, so you won t be able to upgrade to Pike without that. Operator needs to perform cinder-manage db online_data_migrations to migrate existing consistency groups (CGs) to generic volume groups (GVGs). After migration, CG APIs will operate on the new GVG tables. GVGs with default_cgsnapshot_type can only be operated by CG APIs. In Pike, all drivers supporting CGs should add that support to GVGs. In Queens, CG APIs will be deprecated.
Active-Active HA Update Progress in Ocata on A-A HA: Attach and detach operations are now cluster aware and make full use of clustered cinder-volume services. Delete volume, delete snapshot, delete consistency group, and delete consistency group snapshot operations are now cluster aware and make full use of clustered cinder-volume services. Active-Active HA is already in Cinder services. Need to add Active-Active HA support in drivers.
Upgrade Cinder got tag for rolling upgrade support - assert:supports-rolling- upgrade. The assert:supports-rolling-upgrade tag asserts that the project will support minimal rolling upgrade capabilities. The Cinder database can now only be upgraded from changes since the Liberty release. In order to upgrade from a version prior to that, you must now upgrade to at least Liberty first, then to Ocata or later.
Multiattach Update New attachment API's in Cinder merged in Ocata Cinder spec: https://review.openstack.org/#/c/361512/ Cinder server: https://review.openstack.org/#/c/414632/ Cinder client: https://review.openstack.org/#/c/387716/ Add get_all capability to volume_attachments: https://review.openstack.org/#/c/385143/ Development in Pike: Nova side changes Nova to use Cinder s new APIs: https://review.openstack.org/#/c/373203/
API Changes Reset status for Groups and Group snapshots API changes The v1 API was deprecated in the Juno release and is now defaulted to disabled. In order to still use the v1 API, you must now set enable_v1_api to True in your cinder.conf file. Deprecated V2; Default version is V3 Added ability to query backups by project ID. The force boolean parameter has been added to the volume delete API. It may be used in combination with cascade. This also means that volume force delete is available in the base volume API rather than only in the volume_admin_actions extension. There is a new policy option volume:force_delete which controls access to the ability to specify force delete via the volume delete API. This is separate from the pre-existing volume-admin-actions:force_delete policy check. Added support for querying group details with volume ids which are in this group. For example, groups/{group_id}?list_volume=True . Add provider_id in the detailed view of a volume for admin. Added support to querying snapshots filtered by metadata key/value using metadata optional URL parameter. For example, /v3/snapshots?metadata=={ key1 : value1 } .
Config Option Changes Configurations that are setting backend config in [DEFAULT] section are now not supported. You should use enabled_backends option to set up backends. Any Volume Drivers configured in the DEFAULT config stanza should be moved to their own stanza and enabled via the enabled_backends config option. The older style of config with DEFAULT is deprecated and will be removed in future releases. Support for snapshots named in the backend as snapshot-<snapshot-id> is deprecated. Snapshots are now named in the backend as <volume-name>.<snapshot-id>. LVM: The volume_clear option to use shred was deprecated in the Newton release and has now been removed. Since deprecation, this option has performed the same action as the zero option. Config settings for shred should be updated to be set to zero for continued operation.
Other Changes Cinder is now collecting capacity data, including virtual free capacity etc from the backends. A notification which includes that data is periodically emitted. Fixed volume extend issue that allowed a tenant with enough quota to extend the volume to limits greater than what the volume backend supported. Now extend won t work on disabled services because it s going through the scheduler, unlike how it worked before. Removing cinder-all binary. Instead use the individual binaries like cinder-api, cinder- backup, cinder-volume, cinder-scheduler. Added support for ZMQ messaging layer in multibackend configuration.
New features & enhancements for Pike Attach/Detach API changes Nova to adopt Cinder s new attach/detach APIs to support multiattach Larger effort being tracked here: https://etherpad.openstack.org/p/cinder-nova-api-changes Nova spec: https://review.openstack.org/#/c/373203/ CinderClient microversion support Fix discover version: https://review.openstack.org/#/c/385629/ (merged) Needed for auto-negotiation of highest supported version for client and server. Follow on patch will add feature when CLI client is instantiated Add get_highest_version: https://review.openstack.org/#/c/385641 To be used by Nova and Horizon to detect Cinder API version via the Cinderclient
New features & enhancements for Pike (cont.) Generic Volume Group driver updates Add CG capability to Generic Volume Groups Replication Group (Tiramisu) Support for replicating a group of volumes Cinder Spec: https://review.openstack.org/#/c/229722/ Cinder patch: https://review.openstack.org/#/c/352228/ Client patch: https://review.openstack.org/#/c/352229/ Add Generic Volume Groups into quota management Cinder spec: https://review.openstack.org/#/c/306946/
Pike release themes for Cinder MINOR FOCUS MAJOR FOCUS MINOR FOCUS NOT A FOCUS SCALABILITY RESILIENCY MANAGEABILITY MODULARITY NOT A FOCUS MINOR FOCUS MAJOR FOCUS INTEROPERABILITY SECURITY USER EXPERIENCE
Other Discussions at PTG Inspection mechanism for capacity limited host In addition to create volume, extend volume request also goes through the scheduler now. Proposal was to have other volume/snapshot requests also going through the scheduler. Decision was to implement the checks in the manager now for actions that skip the scheduler. This is a good first step. In the future we can work on getting things routed through the scheduler. Items from OpenStack Client discussion manage/unmanage commands are going to be changed to adopt/abandon to be consistent with other projects. osc will get the latest supported microversion from Cinder and use it.
Other Discussions at PTG (cont.) Change to make the Default section act like the Default section and Shared Backend config Get the spec merged in Pike and review code changes. Capacity-based QoS Some drivers already have this support in the driver itself. Proposal to create a scheduler filter evaluator and tie it to volume_type or qos_type. Cinder spec with more details: https://review.openstack.org/#/c/451565/ Backup service that operates on a group of volumes Can be built upon generic volume groups and existing backup functions. Submit a spec.
Other Discussions at PTG (cont.) reset-state, states of volumes/snapshots/other things Collapse all the commands down to one 'cinder reset-state' command. Deprecate the old <name>-reset-state commands. Cinder spec: https://review.openstack.org/#/c/434509/ Design detail about Cinder volume revert to snapshot Lots of concerns about this spec: Only accept latest snapshot vs any snapshot How to handle bootable volume How to handle snapshot taken before volume extend How to provide generic implementation Continue to address them with the spec review process: https://review.openstack.org/#/c/316540/
Other Discussions at PTG (cont.) Testing drivers for active/active high availability Documentation will be provided on how to certify driver with A/A HA support. Driver maintainers should follow the doc to test A/A HA in order to add support in the driver. API philosophy and reality Cinder should follow API WG guidelines on microversion.
Other Discussions at PTG (cont.) Removing V1 API endpoint Redirect V1 to V2 internally if testing V2 with V1 tempest works. 3rd party CI requirements Existing CI policy does not work well. Propose to have a no-op patch to verify that CI is running and able to pass and to have another patch that should cause CI to fail.
Queens release themes for Cinder MINOR FOCUS MAJOR FOCUS MINOR FOCUS NOT A FOCUS SCALABILITY RESILIENCY MANAGEABILITY MODULARITY NOT A FOCUS MINOR FOCUS MAJOR FOCUS INTEROPERABILITY SECURITY USER EXPERIENCE
Possible features & enhancements for Queens Backend adoption of group replication Support for replicating a group of volumes is targeting Pike. Drivers can add this support in Queens. Active-Active HA support in drivers Active-Active HA support is already in Cinder services. Drivers should test and validate this support. Multiattach support in drivers Multiattach support in Nova is targeting Pike. If completed, support can be added to backend drivers.
We need your help! [Question #1] Feedback on rolling upgrade [Question #2] Feedback on Active-Active HA [Question #3] Feedback on missing functionalities [Question #4] OpenStack Client vs Cinder Client [Developer request #1] Functional testing on Active-Active HA, API microversions, backup, and replication [Developer request #2] Add Active-Active HA support in drivers [Developer request #3] Add CG capability in generic volume groups and replication group support in drivers
Reference Links Release notes http://docs.openstack.org/releasenotes/cinder/ocata.html Launchpad https://launchpad.net/cinder Cinder wiki https://wiki.openstack.org/wiki/Cinder Cinder YouTube https://www.youtube.com/channel/UCJ8Koy4gsISMy0qW3CWZmaQ
THANKS. Questions? @OpenStac k openstack openstack OpenStackFoundation