aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/ceph-storage.yaml
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2016-02-03 10:12:20 +0000
committerSteven Hardy <shardy@redhat.com>2016-02-03 10:17:11 +0000
commit3c1850b780c3841ffcab1e35f81be623f0000e37 (patch)
tree70cfa0008f174376fcb45ee1bc46e36c004fd1ca /puppet/ceph-storage.yaml
parentb9e421ec6db97782c4b3024203e827812e87ddf3 (diff)
Add HostnameMap to allow granular control of hostnames
Some operators desire more granular control of hostnames than is currently possible via the *HostnameFormat parameters, in particular mapping nodes to explicit IDs (such as inventory references) is not easily possible. So, add a HostnameMap parameter, which is optional and allows explicit overriding of the default hostnames. E.g pass an environment like this: parameter_defaults: HostnameMap: overcloud-controller-0: overcloud-controller-prod-123-0 overcloud-controller-1: overcloud-controller-prod-456-0 overcloud-controller-2: overcloud-controller-prod-789-0 Note this is mapping is global (for all roles), because we expect the keys to be unique given that they include the role name and index by default. Note that this depends on a fix for heat bug #1539737 Change-Id: Ib4d3d40e9523903ebccc06c3e14b2d71d924afa3 Depends-On: Ib934f443a8b8e4f75335a9d8b992e7f86791aa45
Diffstat (limited to 'puppet/ceph-storage.yaml')
-rw-r--r--puppet/ceph-storage.yaml9
1 files changed, 8 insertions, 1 deletions
diff --git a/puppet/ceph-storage.yaml b/puppet/ceph-storage.yaml
index e310e1f5..ef2ed073 100644
--- a/puppet/ceph-storage.yaml
+++ b/puppet/ceph-storage.yaml
@@ -47,6 +47,10 @@ parameters:
Hostname:
type: string
default: '' # Defaults to Heat created hostname
+ HostnameMap:
+ type: json
+ default: {}
+ description: Optional mapping to override hostnames
ExtraConfig:
default: {}
description: |
@@ -99,7 +103,10 @@ resources:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
user_data: {get_resource: UserData}
- name: {get_param: Hostname}
+ name:
+ str_replace:
+ template: {get_param: Hostname}
+ params: {get_param: HostnameMap}
software_config_transport: {get_param: SoftwareConfigTransport}
metadata: {get_param: ServerMetadata}
scheduler_hints: {get_param: SchedulerHints}