summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--puppet/ceph-storage.yaml9
-rw-r--r--puppet/cinder-storage.yaml9
-rw-r--r--puppet/compute.yaml9
-rw-r--r--puppet/controller.yaml9
-rw-r--r--puppet/swift-storage.yaml9
5 files changed, 40 insertions, 5 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}
diff --git a/puppet/cinder-storage.yaml b/puppet/cinder-storage.yaml
index f7e8f907..9d0ccd18 100644
--- a/puppet/cinder-storage.yaml
+++ b/puppet/cinder-storage.yaml
@@ -89,6 +89,10 @@ parameters:
Hostname:
type: string
default: '' # Defaults to Heat created hostname
+ HostnameMap:
+ type: json
+ default: {}
+ description: Optional mapping to override hostnames
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
@@ -151,7 +155,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}
diff --git a/puppet/compute.yaml b/puppet/compute.yaml
index 8b2bcd33..be94ab3b 100644
--- a/puppet/compute.yaml
+++ b/puppet/compute.yaml
@@ -285,6 +285,10 @@ parameters:
Hostname:
type: string
default: '' # Defaults to Heat created hostname
+ HostnameMap:
+ type: json
+ default: {}
+ description: Optional mapping to override hostnames
NetworkDeploymentActions:
type: comma_delimited_list
description: >
@@ -329,7 +333,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}
diff --git a/puppet/controller.yaml b/puppet/controller.yaml
index ea19c711..dcf5d446 100644
--- a/puppet/controller.yaml
+++ b/puppet/controller.yaml
@@ -682,6 +682,10 @@ parameters:
Hostname:
type: string
default: '' # Defaults to Heat created hostname
+ HostnameMap:
+ type: json
+ default: {}
+ description: Optional mapping to override hostnames
NetworkDeploymentActions:
type: comma_delimited_list
description: >
@@ -727,7 +731,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}
diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml
index 142e47cc..7fd7977c 100644
--- a/puppet/swift-storage.yaml
+++ b/puppet/swift-storage.yaml
@@ -68,6 +68,10 @@ parameters:
Hostname:
type: string
default: '' # Defaults to Heat created hostname
+ HostnameMap:
+ type: json
+ default: {}
+ description: Optional mapping to override hostnames
ExtraConfig:
default: {}
description: |
@@ -120,7 +124,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}