ed95fda7ed
The commit that this depends on only works if heat is deployed in the same node as keystone. Once we deploy them in different nodes, keystone won't be able to retrieve the appropriate hieradata. This fixes that by setting the appropriate hieradata to be deployed on the keystone service by the heat profiles. Change-Id: I1f08db68a14486526879d1a5a1ff78cb17686924 Depends-On: I7d42d04ef0c53dc1e62d684d8edacfed9fd28fbe
87 lines
3.0 KiB
YAML
87 lines
3.0 KiB
YAML
heat_template_version: 2016-04-08
|
|
|
|
description: >
|
|
Openstack Heat API service configured with Puppet
|
|
|
|
parameters:
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
HeatWorkers:
|
|
default: 0
|
|
description: Number of workers for Heat service.
|
|
type: number
|
|
HeatPassword:
|
|
description: The password for the Heat service and db account, used by the Heat services.
|
|
type: string
|
|
hidden: true
|
|
KeystoneRegion:
|
|
type: string
|
|
default: 'regionOne'
|
|
description: Keystone region for endpoint
|
|
MonitoringSubscriptionHeatApi:
|
|
default: 'overcloud-heat-api'
|
|
type: string
|
|
HeatApiLoggingSource:
|
|
type: json
|
|
default:
|
|
tag: openstack.heat.api
|
|
path: /var/log/heat/heat-api.log
|
|
|
|
resources:
|
|
HeatBase:
|
|
type: ./heat-base.yaml
|
|
properties:
|
|
ServiceNetMap: {get_param: ServiceNetMap}
|
|
DefaultPasswords: {get_param: DefaultPasswords}
|
|
EndpointMap: {get_param: EndpointMap}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Heat API role.
|
|
value:
|
|
service_name: heat_api
|
|
monitoring_subscription: {get_param: MonitoringSubscriptionHeatApi}
|
|
logging_source: {get_param: HeatApiLoggingSource}
|
|
logging_groups:
|
|
- heat
|
|
config_settings:
|
|
map_merge:
|
|
- get_attr: [HeatBase, role_data, config_settings]
|
|
- heat::api::workers: {get_param: HeatWorkers}
|
|
tripleo.heat_api.firewall_rules:
|
|
'125 heat_api':
|
|
dport:
|
|
- 8004
|
|
- 13004
|
|
# NOTE: bind IP is found in Heat replacing the network name with the
|
|
# local node IP for the given network; replacement examples
|
|
# (eg. for internal_api):
|
|
# internal_api -> IP
|
|
# internal_api_uri -> [IP]
|
|
# internal_api_subnet - > IP/CIDR
|
|
heat::api::bind_host: {get_param: [ServiceNetMap, HeatApiNetwork]}
|
|
step_config: |
|
|
include ::tripleo::profile::base::heat::api
|
|
service_config_settings:
|
|
keystone:
|
|
map_merge:
|
|
- get_attr: [HeatBase, role_data, service_config_settings, keystone]
|
|
- heat::keystone::auth::tenant: 'service'
|
|
heat::keystone::auth::public_url: {get_param: [EndpointMap, HeatPublic, uri]}
|
|
heat::keystone::auth::internal_url: {get_param: [EndpointMap, HeatInternal, uri]}
|
|
heat::keystone::auth::admin_url: {get_param: [EndpointMap, HeatAdmin, uri]}
|
|
heat::keystone::auth::password: {get_param: HeatPassword}
|
|
heat::keystone::auth::region: {get_param: KeystoneRegion}
|