Allow NovaRbdPoolName to be role specific
Currently, TripleO does not support to create Compute roles using different Ceph pools as Nova Ephemeral backends. An admin should be allowed to have groups of compute nodes using different Ceph's Ephemeral pools improving availability, reliability and performance. The change is straight forward adding the role_specific tag to the parameter NovaRbdPoolName. Closes-Bug: 1821039 Change-Id: I7c1ac7c0d3a987c8c9c1e070ea773875aa684d88 (cherry picked from commite4901745eb
) (cherry picked from commit5b5e4a5f8e
)
This commit is contained in:
parent
babe303f2d
commit
7577c22f1f
|
@ -112,6 +112,9 @@ parameters:
|
|||
NovaRbdPoolName:
|
||||
default: vms
|
||||
type: string
|
||||
description: The pool name for RBD backend ephemeral storage.
|
||||
tags:
|
||||
- role_specific
|
||||
CephClientKey:
|
||||
description: The Ceph client key. Can be created with ceph-authtool --gen-print-key.
|
||||
type: string
|
||||
|
@ -252,7 +255,10 @@ outputs:
|
|||
list_concat_unique:
|
||||
- - {get_param: CinderRbdPoolName}
|
||||
- {get_param: CinderBackupRbdPoolName}
|
||||
- if:
|
||||
- equals: [{get_param: [RoleParameters, NovaRbdPoolName]}, '']
|
||||
- {get_param: NovaRbdPoolName}
|
||||
- {get_param: [RoleParameters, NovaRbdPoolName]}
|
||||
- {get_param: GlanceRbdPoolName}
|
||||
# CinderRbdExtraPools is a list (do not indent further)
|
||||
- {get_param: CinderRbdExtraPools}
|
||||
|
@ -284,7 +290,10 @@ outputs:
|
|||
list_concat_unique:
|
||||
- - {get_param: CinderRbdPoolName}
|
||||
- {get_param: CinderBackupRbdPoolName}
|
||||
- if:
|
||||
- equals: [{get_param: [RoleParameters, NovaRbdPoolName]}, '']
|
||||
- {get_param: NovaRbdPoolName}
|
||||
- {get_param: [RoleParameters, NovaRbdPoolName]}
|
||||
- {get_param: GlanceRbdPoolName}
|
||||
- if:
|
||||
- equals: [{get_param: GnocchiRbdPoolName}, '']
|
||||
|
|
|
@ -59,7 +59,7 @@ parameter_defaults:
|
|||
# Type: boolean
|
||||
NovaEnableRbdBackend: True
|
||||
|
||||
#
|
||||
# The pool name for RBD backend ephemeral storage.
|
||||
# Type: string
|
||||
NovaRbdPoolName: vms
|
||||
|
||||
|
|
|
@ -43,6 +43,9 @@ parameters:
|
|||
NovaRbdPoolName:
|
||||
default: vms
|
||||
type: string
|
||||
description: The pool name for RBD backend ephemeral storage.
|
||||
tags:
|
||||
- role_specific
|
||||
ServiceData:
|
||||
default: {}
|
||||
description: Dictionary packing service data
|
||||
|
@ -150,7 +153,10 @@ outputs:
|
|||
- ', allow rwx pool='
|
||||
- - {get_param: CinderRbdPoolName}
|
||||
- {get_param: CinderBackupRbdPoolName}
|
||||
- if:
|
||||
- equals: [{get_param: [RoleParameters, NovaRbdPoolName]}, '']
|
||||
- {get_param: NovaRbdPoolName}
|
||||
- {get_param: [RoleParameters, NovaRbdPoolName]}
|
||||
- {get_param: GlanceRbdPoolName}
|
||||
- {get_param: GnocchiRbdPoolName}
|
||||
# CinderRbdExtraPools is a list (do not indent further)
|
||||
|
|
|
@ -33,6 +33,9 @@ parameters:
|
|||
NovaRbdPoolName:
|
||||
default: vms
|
||||
type: string
|
||||
description: The pool name for RBD backend ephemeral storage.
|
||||
tags:
|
||||
- role_specific
|
||||
ServiceData:
|
||||
default: {}
|
||||
description: Dictionary packing service data
|
||||
|
@ -97,7 +100,11 @@ outputs:
|
|||
str_replace:
|
||||
template: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=CINDERBACKUP_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
|
||||
params:
|
||||
NOVA_POOL: {get_param: NovaRbdPoolName}
|
||||
NOVA_POOL:
|
||||
if:
|
||||
- equals: [{get_param: [RoleParameters, NovaRbdPoolName]}, '']
|
||||
- {get_param: NovaRbdPoolName}
|
||||
- {get_param: [RoleParameters, NovaRbdPoolName]}
|
||||
CINDER_POOL: {get_param: CinderRbdPoolName}
|
||||
CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
|
||||
GLANCE_POOL: {get_param: GlanceRbdPoolName}
|
||||
|
|
|
@ -66,6 +66,9 @@ parameters:
|
|||
NovaRbdPoolName:
|
||||
default: vms
|
||||
type: string
|
||||
description: The pool name for RBD backend ephemeral storage.
|
||||
tags:
|
||||
- role_specific
|
||||
CephPools:
|
||||
description: >
|
||||
It can be used to override settings for one of the predefined pools, or to create
|
||||
|
@ -132,7 +135,10 @@ outputs:
|
|||
- {get_param: ManilaCephFSDataPoolName}
|
||||
- {get_param: ManilaCephFSMetadataPoolName}
|
||||
- {get_param: CinderBackupRbdPoolName}
|
||||
- if:
|
||||
- equals: [{get_param: [RoleParameters, NovaRbdPoolName]}, '']
|
||||
- {get_param: NovaRbdPoolName}
|
||||
- {get_param: [RoleParameters, NovaRbdPoolName]}
|
||||
- {get_param: GlanceRbdPoolName}
|
||||
- {get_param: GnocchiRbdPoolName}
|
||||
# CinderRbdExtraPools is a list (do not indent further)
|
||||
|
|
|
@ -33,6 +33,9 @@ parameters:
|
|||
NovaRbdPoolName:
|
||||
default: vms
|
||||
type: string
|
||||
description: The pool name for RBD backend ephemeral storage.
|
||||
tags:
|
||||
- role_specific
|
||||
CephClusterName:
|
||||
type: string
|
||||
default: ceph
|
||||
|
@ -206,6 +209,7 @@ resources:
|
|||
nova::compute::libvirt::rx_queue_size: NovaLibvirtRxQueueSize
|
||||
nova::compute::libvirt::tx_queue_size: NovaLibvirtTxQueueSize
|
||||
nova::compute::libvirt::volume_use_multipath: NovaLibvirtVolumeUseMultipath
|
||||
nova::compute::rbd::libvirt_images_rbd_pool: NovaRbdPoolName
|
||||
- values: {get_param: [RoleParameters]}
|
||||
- values:
|
||||
NovaVcpuPinSet: {get_param: NovaVcpuPinSet}
|
||||
|
@ -213,6 +217,7 @@ resources:
|
|||
NovaLibvirtRxQueueSize: {get_param: NovaLibvirtRxQueueSize}
|
||||
NovaLibvirtTxQueueSize: {get_param: NovaLibvirtTxQueueSize}
|
||||
NovaLibvirtVolumeUseMultipath: {get_param: NovaLibvirtVolumeUseMultipath}
|
||||
NovaRbdPoolName: {get_param: NovaRbdPoolName}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
|
@ -246,7 +251,6 @@ outputs:
|
|||
- - '/etc/ceph/'
|
||||
- {get_param: CephClusterName}
|
||||
- '.conf'
|
||||
nova::compute::rbd::libvirt_images_rbd_pool: {get_param: NovaRbdPoolName}
|
||||
nova::compute::rbd::libvirt_rbd_user: {get_param: CephClientUserName}
|
||||
nova::compute::rbd::rbd_keyring:
|
||||
list_join:
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
features:
|
||||
- |
|
||||
The parameter ``NovaRbdPoolName`` is changed to be role specific.
|
||||
This requires the usage of host aggregates as otherwise it will break live
|
||||
migration of instances as we can not do this with different storage backends.
|
Loading…
Reference in New Issue