Add cinder-backup service as role

Tempest tests for cinder contain backup tests that fail
unless cinder-backup service is started. This patch facilitates
the service start upon the overcloud deployment.

Original patch converted to composable role.

Co-Authored-By: Giulio Fidente <gfidente@redhat.com>
Depends-On: Ib1dfe52b83ab01819fc669312967950e75d8ddf1
Change-Id: I9ca97b3f1c26aac6d81b3525377e1f5fb962313f
This commit is contained in:
Erno Kuvaja 2016-04-12 15:19:34 +03:00 committed by Giulio Fidente
parent f730f19f1c
commit 75110de9dd
9 changed files with 104 additions and 1 deletions

View File

@ -16,6 +16,7 @@ parameter_defaults:
CephClientKey: 'AQC+vYNXgDAgAhAAc8UoYt+OTz5uhV7ItLdwUw=='
NovaEnableRbdBackend: true
CinderEnableRbdBackend: true
CinderBackupBackend: ceph
GlanceBackend: rbd
GnocchiBackend: rbd
CinderEnableIscsiBackend: false

View File

@ -12,6 +12,7 @@ parameter_defaults:
# the following parameters enable Ceph backends for Cinder, Glance, Gnocchi and Nova
NovaEnableRbdBackend: true
CinderEnableRbdBackend: true
CinderBackupBackend: ceph
GlanceBackend: rbd
GnocchiBackend: rbd
# If the Ceph pools which host VMs, Volumes and Images do not match these

View File

@ -10,6 +10,7 @@ resource_registry:
# NOTE: For now we will need to specify overrides to all services
# which use pacemaker. In the future (with upcoming HA light work) this
# list will hopefully be much smaller however.
OS::TripleO::Services::CinderBackup: ../puppet/services/pacemaker/cinder-backup.yaml
OS::TripleO::Services::CinderVolume: ../puppet/services/pacemaker/cinder-volume.yaml
OS::TripleO::Services::RabbitMQ: ../puppet/services/pacemaker/rabbitmq.yaml
OS::TripleO::Services::HAproxy: ../puppet/services/pacemaker/haproxy.yaml

View File

@ -14,6 +14,8 @@ parameter_defaults:
CinderEnableIscsiBackend: false
## Whether to enable rbd (Ceph) backend for Cinder.
CinderEnableRbdBackend: true
## Cinder Backup backend can be either 'ceph' or 'swift'.
CinderBackupBackend: ceph
## Whether to enable NFS backend for Cinder.
# CinderEnableNfsBackend: false
## Whether to enable rbd (Ceph) backend for Nova ephemeral storage.

View File

@ -131,6 +131,7 @@ resource_registry:
OS::TripleO::Services::CephClient: OS::Heat::None
OS::TripleO::Services::CephExternal: OS::Heat::None
OS::TripleO::Services::CinderApi: puppet/services/cinder-api.yaml
OS::TripleO::Services::CinderBackup: puppet/services/cinder-backup.yaml
OS::TripleO::Services::CinderScheduler: puppet/services/cinder-scheduler.yaml
OS::TripleO::Services::CinderVolume: puppet/services/cinder-volume.yaml
OS::TripleO::Services::Core: OS::Heat::None

View File

@ -224,6 +224,7 @@ parameters:
- OS::TripleO::Services::CephMon
- OS::TripleO::Services::CephExternal
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackup
- OS::TripleO::Services::CinderScheduler
- OS::TripleO::Services::CinderVolume
- OS::TripleO::Services::Core

View File

@ -38,7 +38,7 @@ parameters:
{
"volumes": {
"size": 5,
"pg_num: 128,
"pg_num": 128,
"pgp_num": 128
}
}

View File

@ -0,0 +1,47 @@
heat_template_version: 2016-04-08
description: >
OpenStack Cinder Backup service configured with Puppet
parameters:
CinderBackupBackend:
default: swift
description: The short name of the Cinder Backup backend to use.
type: string
constraints:
- allowed_values: ['swift', 'ceph']
CinderBackupRbdPoolName:
default: backups
type: string
CephClientUserName:
default: openstack
type: string
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
resources:
CinderBase:
type: ./cinder-base.yaml
properties:
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Cinder Backup role.
value:
service_name: cinder_backup
config_settings:
map_merge:
- get_attr: [CinderBase, role_data, config_settings]
- cinder::backup::ceph::backup_ceph_user: {get_param: CephClientUserName}
cinder::backup::ceph::backup_ceph_pool: {get_param: CinderBackupRbdPoolName}
cinder::backup::swift::backup_swift_container: volumebackups
step_config:
str_replace:
template: "include ::tripleo::profile::base::cinder::backup::DRIVER"
params:
DRIVER: {get_param: CinderBackupBackend}

View File

@ -0,0 +1,49 @@
heat_template_version: 2016-04-08
description: >
OpenStack Cinder Backup service with Pacemaker configured with Puppet
parameters:
CinderBackupBackend:
default: swift
description: The short name of the Cinder Backup backend to use.
type: string
constraints:
- allowed_values: ['swift', 'ceph']
CinderBackupRbdPoolName:
default: backups
type: string
CephClientUserName:
default: openstack
type: string
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
resources:
CinderBackupBase:
type: ../cinder-backup.yaml
properties:
EndpointMap: {get_param: EndpointMap}
CinderBackupBackend: {get_param: CinderBackupBackend}
CinderBackupRbdPoolName: {get_param: CinderBackupRbdPoolName}
CephClientUserName: {get_param: CephClientUserName}
outputs:
role_data:
description: Role data for the Cinder Backup role.
value:
service_name: cinder_backup
config_settings:
map_merge:
- get_attr: [CinderBackupBase, role_data, config_settings]
- cinder::backup::manage_service: false
cinder::backup::enabled: false
step_config:
list_join:
- "\n"
- - get_attr: [CinderBackupBase, role_data, step_config]
- "include ::tripleo::profile::pacemaker::cinder::backup"