|
|
|
@ -615,6 +615,27 @@ resources:
|
|
|
|
|
server: {get_resource: {{server_resource_name}}} |
|
|
|
|
deployment_actions: {get_attr: [DeploymentActions, value]} |
|
|
|
|
|
|
|
|
|
SshKnownHostsHostnames: |
|
|
|
|
type: OS::Heat::Value |
|
|
|
|
properties: |
|
|
|
|
value: |
|
|
|
|
str_replace: |
|
|
|
|
template: "PRIMARYIP,PRIMARYHOST.DOMAIN,PRIMARYHOST,\ |
|
|
|
|
{%- for network in networks %} |
|
|
|
|
{{network.name}}IP,{{network.name}}HOST.DOMAIN,{{network.name}}HOST,\ |
|
|
|
|
{%- endfor %} |
|
|
|
|
CTLPLANEIP,CTLPLANEHOST.DOMAIN,CTLPLANEHOST" |
|
|
|
|
params: |
|
|
|
|
PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, {{role.name}}HostnameResolveNetwork]}]} |
|
|
|
|
DOMAIN: {get_param: CloudDomain} |
|
|
|
|
PRIMARYHOST: {get_attr: [{{server_resource_name}}, name]} |
|
|
|
|
{%- for network in networks %} |
|
|
|
|
{{network.name}}IP: {get_attr: [{{network.name}}Port, ip_address]} |
|
|
|
|
{{network.name}}HOST: {get_attr: [NetHostMap, value, {{network.name_lower|default(network.name.lower())}}, short]} |
|
|
|
|
{%- endfor %} |
|
|
|
|
CTLPLANEIP: {get_attr: [{{server_resource_name}}, networks, ctlplane, 0]} |
|
|
|
|
CTLPLANEHOST: {get_attr: [NetHostMap, value, ctlplane, short]} |
|
|
|
|
|
|
|
|
|
outputs: |
|
|
|
|
ip_address: |
|
|
|
|
description: IP address of the server in the ctlplane network |
|
|
|
@ -666,23 +687,17 @@ outputs:
|
|
|
|
|
known_hosts_entry: |
|
|
|
|
description: Entry for ssh known hosts |
|
|
|
|
value: |
|
|
|
|
str_replace: |
|
|
|
|
template: "PRIMARYIP,PRIMARYHOST.DOMAIN,PRIMARYHOST,\ |
|
|
|
|
{%- for network in networks %} |
|
|
|
|
{{network.name}}IP,{{network.name}}HOST.DOMAIN,{{network.name}}HOST,\ |
|
|
|
|
{%- endfor %} |
|
|
|
|
CTLPLANEIP,CTLPLANEHOST.DOMAIN,CTLPLANEHOST HOSTSSHPUBKEY" |
|
|
|
|
params: |
|
|
|
|
PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, {{role.name}}HostnameResolveNetwork]}]} |
|
|
|
|
DOMAIN: {get_param: CloudDomain} |
|
|
|
|
PRIMARYHOST: {get_attr: [{{server_resource_name}}, name]} |
|
|
|
|
{%- for network in networks %} |
|
|
|
|
{{network.name}}IP: {get_attr: [{{network.name}}Port, ip_address]} |
|
|
|
|
{{network.name}}HOST: {get_attr: [NetHostMap, value, {{network.name_lower|default(network.name.lower())}}, short]} |
|
|
|
|
{%- endfor %} |
|
|
|
|
CTLPLANEIP: {get_attr: [{{server_resource_name}}, networks, ctlplane, 0]} |
|
|
|
|
CTLPLANEHOST: {get_attr: [NetHostMap, value, ctlplane, short]} |
|
|
|
|
HOSTSSHPUBKEY: {get_attr: [SshHostPubKey, ecdsa]} |
|
|
|
|
list_join: |
|
|
|
|
- ' ' |
|
|
|
|
- - {get_attr: [SshKnownHostsHostnames, value]} |
|
|
|
|
- {get_attr: [SshHostPubKey, ecdsa]} |
|
|
|
|
known_hosts_hostnames: |
|
|
|
|
description: Mapping of server name to hostnames portion of ssh known hosts entry |
|
|
|
|
value: |
|
|
|
|
map_replace: |
|
|
|
|
- name: {get_attr: [SshKnownHostsHostnames, value]} |
|
|
|
|
- keys: |
|
|
|
|
name: {get_attr: [{{server_resource_name}}, name]} |
|
|
|
|
nova_server_resource: |
|
|
|
|
description: Heat resource handle for {{role.name}} server |
|
|
|
|
value: |
|
|
|
|