tripleo-heat-templates/extraconfig/post_deploy/standalone_post.yaml
Emilien Macchi 016279b71e standalone/undercloud - post: use EndpointMap to fetch Keystone URL
Using EndpointMap to ensure we get the hostname/fqdn if possible
otherwise it fallbacks to the IP for Keystone public endpoint.

This is useful when the operator uses a certificate based on
hostname/fqdn and not an IP address.

Closes-Bug #1763776
Change-Id: Ifa9d55cca90caf5be0c83507cb47447e25311fce
2019-05-21 08:41:22 -04:00

102 lines
3.0 KiB
YAML

heat_template_version: rocky
description: >
Post-deployment for the TripleO standalone deployment
parameters:
servers:
type: json
DeployedServerPortMap:
default: {}
type: json
StandaloneHomeDir:
description: The HOME directory where the stackrc and ssh credentials for the Standalone will be installed. Set to /home/<user> to customize the location.
type: string
default: '/root'
AdminPassword: #supplied by tripleo-undercloud-passwords.yaml
type: string
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
hidden: True
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
StandaloneCloudName:
type: string
default: 'standalone'
description: Cloud name for the clouds.yaml
PythonInterpreter:
type: string
description: The python interpreter to use for python and ansible actions
default: /usr/bin/python
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
resources:
StandalonePostConfig:
type: OS::Heat::SoftwareConfig
properties:
group: ansible
inputs:
- name: ansible_python_interpreter
description: Python interpreter to use for the ansible execution
default: {get_param: PythonInterpreter}
config: |
---
- name: StandalonePostConfig
connection: local
hosts: localhost
tasks:
- name: Hiera symlink
file:
src: /etc/puppet/hiera.yaml
dest: /etc/hiera.yaml
state: link
force: yes
StandalonePostDeployment:
type: OS::Heat::SoftwareDeployments
properties:
name: StandalonePostDeployment
servers: {get_param: servers}
config: {get_resource: StandalonePostConfig}
CloudsYamlConfig:
type: OS::Heat::SoftwareConfig
properties:
group: script
inputs:
- name: admin_password
- name: auth_url
- name: cloud_name
- name: home_dir
- name: identity_api_version
- name: project_name
- name: project_domain_name
- name: region_name
- name: user_name
- name: user_domain_name
config: {get_file: ./clouds_yaml.py}
CloudsYamlDeployment:
type: OS::Heat::SoftwareDeployments
properties:
name: CloudsYamlDeployment
servers: {get_param: servers}
config: {get_resource: CloudsYamlConfig}
input_values:
admin_password: {get_param: AdminPassword}
auth_url: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
cloud_name: {get_param: StandaloneCloudName}
home_dir: {get_param: StandaloneHomeDir}
identity_api_version: 3
project_name: 'admin'
project_domain_name: 'Default'
region_name: {get_param: KeystoneRegion}
user_name: 'admin'
user_domain_name: 'Default'