Update CephPools format in the docker templates to fit ceph-ansible

The format which ceph-ansible uses to describe the list of pools
to be created in the cluster is different from the one which
puppet-ceph uses; this commit updates the description and the
the docker templates accordingly.

Change-Id: I1e5b2c3cbf6ae02c19a2275ca119fed6e173319d
Closes-Bug: #1720373
This commit is contained in:
Giulio Fidente 2017-10-02 14:10:53 +02:00
parent 2a7efbada6
commit c10aa7a043
3 changed files with 25 additions and 17 deletions

View File

@ -73,15 +73,9 @@ parameters:
description: > description: >
It can be used to override settings for one of the predefined pools, or to create It can be used to override settings for one of the predefined pools, or to create
additional ones. Example: additional ones. Example:
{ [{"name": "volumes", "pg_num": 64, "rule_name": ""}]
"volumes": { default: []
"size": 5, type: comma_delimited_list
"pg_num": 128,
"pgp_num": 128
}
}
default: {}
type: json
CinderRbdPoolName: CinderRbdPoolName:
default: volumes default: volumes
type: string type: string
@ -225,13 +219,7 @@ outputs:
- {get_param: NovaRbdPoolName} - {get_param: NovaRbdPoolName}
- {get_param: GlanceRbdPoolName} - {get_param: GlanceRbdPoolName}
- {get_param: GnocchiRbdPoolName} - {get_param: GnocchiRbdPoolName}
- repeat: - {get_param: CephPools}
template:
name: <%pool%>
pg_num: {get_param: CephPoolDefaultPgNum}
rule_name: ""
for_each:
<%pool%>: {get_param: CephPools}
openstack_keys: &openstack_keys openstack_keys: &openstack_keys
- name: - name:
list_join: list_join:

View File

@ -0,0 +1,17 @@
---
upgrade:
- |
The format to use for the CephPools parameter needs to be updated into the
form expected by ceph-ansible. For example, for a new pool named `mypool`
it should change from:
{ "mypool": { "size": 3, "pg_num": 128, "pgp_num": 128 } }
into:
[ { "name": "mypool", "pg_num": 128, "rule_name": "" } ]
The first is a map where each key is a pool name and its value the pool
properties, the second is a list where each item describes all properties
of a pool, including its name.
other:
- |
With the migration from puppet-ceph to ceph-ansible for the deployment
of Ceph, the format of CephPools parameter changes because the two tools
use a different format to represent the list of additional pools to create.

View File

@ -58,7 +58,10 @@ REQUIRED_DOCKER_LOGGING_OUTPUTS = ['config_settings', 'docker_config',
# consistency across files on. This should only contain parameters whose # consistency across files on. This should only contain parameters whose
# definition we cannot change for backwards compatibility reasons. New # definition we cannot change for backwards compatibility reasons. New
# parameters to the templates should not be added to this list. # parameters to the templates should not be added to this list.
PARAMETER_DEFINITION_EXCLUSIONS = {'ManagementNetCidr': ['default'], PARAMETER_DEFINITION_EXCLUSIONS = {'CephPools': ['description',
'type',
'default'],
'ManagementNetCidr': ['default'],
'ManagementAllocationPools': ['default'], 'ManagementAllocationPools': ['default'],
'ExternalNetCidr': ['default'], 'ExternalNetCidr': ['default'],
'ExternalAllocationPools': ['default'], 'ExternalAllocationPools': ['default'],