diff options
author | Steven Hardy <shardy@redhat.com> | 2015-06-15 05:13:07 -0400 |
---|---|---|
committer | Steve Baker <sbaker@redhat.com> | 2015-06-17 10:23:09 +1200 |
commit | 1f37302f6b8ef7e6ce8dfe37eba528535493dbf9 (patch) | |
tree | 385276e1674166716cd35a52da8a6e27a75f377a /overcloud-without-mergepy.yaml | |
parent | 48d07db384a3e8a36a2a92e95ef3ad4ed5c6071e (diff) |
Allow control of hostname formatting
Currently, we use the heat default server names, which results in some
fairly unreadable hostnames due to the level of nesting in the templates.
e.g ov-sszdbj5rdne-0-bhseh65edxv6-Controller-zoqc6tlypbdp
Instead, we allow the user to specify a format string per role, defaulted
to a string which formats the name e.g <stackname>-controller-<index>
e.g overcloud-controller-0
Optionally additional hostname components (not replaced by heat) could be
added, such that deployment time customization of hostnames via firstboot
scripts (e.g cloud-init) may be possible.
Should anyone wish to maintain the old heat-generated names, they can pass
an empty string via these parameters, which heat will treat as if no "name"
property was provided to OS::Nova::Server.
Change-Id: I1730caa0c2256f970da22ab21fa3aa1549b3f90b
Diffstat (limited to 'overcloud-without-mergepy.yaml')
-rw-r--r-- | overcloud-without-mergepy.yaml | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index 97f0bd1f..0244b65c 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -566,7 +566,32 @@ parameters: constraints: - custom_constraint: nova.flavor -# Identifiers to trigger tasks on nodes + # Hostname format for each role + # Note %index% is translated into the index of the node, e.g 0/1/2 etc + # and %stackname% is replaced with OS::stack_name in the template below. + # If you want to use the heat generated names, pass '' (empty string). + ControllerHostnameFormat: + type: string + description: Format for Controller node hostnames + default: '%stackname%-controller-%index%' + ComputeHostnameFormat: + type: string + description: Format for Compute node hostnames + default: '%stackname%-novacompute-%index%' + BlockStorageHostnameFormat: + type: string + description: Format for BlockStorage node hostnames + default: '%stackname%-blockstorage-%index%' + ObjectStorageHostnameFormat: + type: string + description: Format for SwiftStorage node hostnames + default: '%stackname%-objectstorage-%index%' + CephStorageHostnameFormat: + type: string + description: Format for CephStorage node hostnames + default: '%stackname%-cephstorage-%index%' + + # Identifiers to trigger tasks on nodes UpdateIdentifier: default: '' type: string @@ -574,6 +599,8 @@ parameters: Setting to a previously unused value during stack-update will trigger package update on all nodes + + resources: HeatAuthEncryptionKey: @@ -686,6 +713,11 @@ resources: KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]} NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]} UpdateIdentifier: {get_param: UpdateIdentifier} + Hostname: + str_replace: + template: {get_param: ControllerHostnameFormat} + params: + '%stackname%': {get_param: 'OS::stack_name'} Compute: type: OS::Heat::ResourceGroup @@ -744,6 +776,11 @@ resources: SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword} ServiceNetMap: {get_param: ServiceNetMap} UpdateIdentifier: {get_param: UpdateIdentifier} + Hostname: + str_replace: + template: {get_param: ComputeHostnameFormat} + params: + '%stackname%': {get_param: 'OS::stack_name'} BlockStorage: type: OS::Heat::ResourceGroup @@ -769,6 +806,11 @@ resources: RabbitClientPort: {get_param: RabbitClientPort} NtpServer: {get_param: NtpServer} UpdateIdentifier: {get_param: UpdateIdentifier} + Hostname: + str_replace: + template: {get_param: BlockStorageHostnameFormat} + params: + '%stackname%': {get_param: 'OS::stack_name'} ObjectStorage: type: OS::Heat::ResourceGroup @@ -789,6 +831,11 @@ resources: NtpServer: {get_param: NtpServer} UpdateIdentifier: {get_param: UpdateIdentifier} ServiceNetMap: {get_param: ServiceNetMap} + Hostname: + str_replace: + template: {get_param: ObjectStorageHostnameFormat} + params: + '%stackname%': {get_param: 'OS::stack_name'} CephStorage: type: OS::Heat::ResourceGroup @@ -804,6 +851,11 @@ resources: NtpServer: {get_param: NtpServer} ServiceNetMap: {get_param: ServiceNetMap} UpdateIdentifier: {get_param: UpdateIdentifier} + Hostname: + str_replace: + template: {get_param: CephStorageHostnameFormat} + params: + '%stackname%': {get_param: 'OS::stack_name'} ControllerIpListMap: type: OS::TripleO::Network::Ports::NetIpListMap |