Extra RBD pools for additional cinder backends

Registered by Alan Bishop

This blueprint proposes a mechanism for configuring additional Cinder RBD
backends that are mapped to different pools within the same Ceph cluster. This
is desirable because Ceph clusters can support any number of pools, which can
be tailored to provide different service levels.

TripleO currently supports a single Ceph pool for use as a Cinder RBD
backend. The RBD pool and associated Cinder backend are defined by these two
TripleO settings:

o CinderRbdPoolName
  - THT parameter
  - Default value: "volumes"
o cinder::backend::rbd::volume_backend_name
  - Puppet hiera data
  - Default value: "tripleo_ceph"

This blueprint would add a new THT parameter:

  CinderRbdExtraPools:
    default: ''
    description: >
      List of extra Ceph pools for use with RBD backends for Cinder. An
      extra Cinder RBD backend driver is created for each pool in the
      list. This is in addition to the standard RBD backend driver
      associated with the CinderRbdPoolName.
    type: comma_delimited_list

Any pools specified in the (optional) list would automatically generate
additional Cinder backends. For example, deploying an environment file that
contained this:

parameter_defaults:
  CinderRbdExtraPools: fast,slow

Would result in a Cinder deployment with three RBD backends:

RBD Pool Cinder Backend
-------- -----------------
volumes tripleo_ceph
fast tripleo_ceph_fast
slow tripleo_ceph_slow

Note 1: For Ceph clusters managed by TripleO, the "CephPools" THT parameter
can be used to create additional pools.

Note 2: The user/operator would be responsible for creating the Ceph CRUSH map
necessary to establish appropriate service levels for each RBD pool.

Note 3: The user/operator would be responsible for creating Cinder volume
types associated with each of the Cinder RBD backends. That is, the Cinder
backends would be automatically created, but the Cinder volume types would
need to be defined post-deployment.

Blueprint information

Status:
Complete
Approver:
Alex Schultz
Priority:
Medium
Drafter:
Alan Bishop
Direction:
Approved
Assignee:
Alan Bishop
Definition:
Approved
Series goal:
Accepted for queens
Implementation:
Implemented
Milestone target:
milestone icon queens-2
Started by
Alex Schultz
Completed by
Alan Bishop

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/multiple-cinder-rbd-backend,n,z

Addressed by: https://review.openstack.org/506715
    Add support for multiple Cinder RBD backends

Addressed by: https://review.openstack.org/519749
    CI: Test multi-rbd backend for cinder in scenario001

(?)

Work Items

Work items:
Add support in puppet-tripleo (https://review.openstack.org/506714): DONE
Add support in t-h-t (https://review.openstack.org/506715): DONE
Add test of feature in CI scenario001 (https://review.openstack.org/519749): DONE

This blueprint contains Public information 
Everyone can see this information.