Support cinder-volume running active-active

Add the ability to run the cinder-volume service in an active-active
configuration via a new CinderVolumeCluster parameter. The cinder-volume
service runs A/A only when configured with a cluster name.

Change-Id: Ic76742d3835d93bf16f5d9c13a2786fd7a373423
Depends-On: I615af64086d46356f322094d9f3b4e29557ed899
This commit is contained in:
Alan Bishop 2019-03-04 14:54:34 -05:00
parent 13451eb158
commit 5b11bb39da
3 changed files with 26 additions and 0 deletions

View File

@ -61,6 +61,15 @@ parameters:
description: >
The Ceph cluster name must be at least 1 character and contain only
letters and numbers.
CinderVolumeCluster:
default: ''
description: >
The cluster name used for deploying the cinder-volume service in an
active-active (A/A) configuration. This configuration requires the
Cinder backend drivers support A/A, and the cinder-volume service not
be managed by pacemaker. If these criteria are not met then the cluster
name must be left blank.
type: string
CinderEnableNfsBackend:
default: false
description: Whether to enable or not the NFS backend for Cinder
@ -187,6 +196,7 @@ outputs:
- tripleo::profile::base::cinder::volume::cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
tripleo::profile::base::cinder::volume::cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
tripleo::profile::base::cinder::volume::cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
tripleo::profile::base::cinder::volume::cinder_volume_cluster: {get_param: CinderVolumeCluster}
tripleo::profile::base::cinder::volume::nfs::cinder_nfs_mount_options: {get_param: CinderNfsMountOptions}
tripleo::profile::base::cinder::volume::nfs::cinder_nfs_servers: {get_param: CinderNfsServers}
tripleo::profile::base::cinder::volume::nfs::cinder_nfs_snapshot_support: {get_param: CinderNfsSnapshotSupport}

View File

@ -0,0 +1,8 @@
resource_registry:
# For A/A mode, do not run the cinder-volume service under pacemaker.
OS::TripleO::Services::CinderVolume: ../deployment/cinder/cinder-volume-container-puppet.yaml
# Cinder requires etcd for use as its Distributed Lock Manager (DLM).
OS::TripleO::Services::Etcd: ../deployment/etcd/etcd-container-puppet.yaml
parameter_defaults:
CinderVolumeCluster: tripleo

View File

@ -0,0 +1,8 @@
---
features:
- |
Add the ability to configure the cinder-volume service to run in
active-active (A/A) mode using the cluster name specified by the new
CinderVolumeCluster parameter. Note that A/A mode requires the backend
driver support running A/A. Cinder's RBD driver supports A/A, but most
other cinder drivers currently do not.