1 heat_template_version: pike
4 OpenStack Nova Placement API service configured with Puppet
9 description: Dictionary packing service data
13 description: Mapping of service_name -> network name. Typically set
14 via parameter_defaults in the resource registry. This
15 mapping overrides those in ServiceNetMapDefaults.
22 description: Role name on which the service is applied
26 description: Parameters specific to the role
30 description: Mapping of service endpoint -> protocol. Typically set
31 via parameter_defaults in the resource registry.
35 description: Number of workers for Nova services.
38 description: The password for the nova service and db account
44 description: Keystone region for endpoint
45 MonitoringSubscriptionNovaPlacement:
46 default: 'overcloud-nova-placement'
48 NovaPlacementLoggingSource:
51 tag: openstack.nova.placement
52 path: /var/log/httpd/nova_placement_wsgi_error_ssl.log
58 nova_workers_zero: {equals : [{get_param: NovaWorkers}, 0]}
64 ServiceData: {get_param: ServiceData}
65 ServiceNetMap: {get_param: ServiceNetMap}
66 DefaultPasswords: {get_param: DefaultPasswords}
67 EndpointMap: {get_param: EndpointMap}
68 RoleName: {get_param: RoleName}
69 RoleParameters: {get_param: RoleParameters}
70 EnableInternalTLS: {get_param: EnableInternalTLS}
73 type: ./nova-base.yaml
75 ServiceData: {get_param: ServiceData}
76 ServiceNetMap: {get_param: ServiceNetMap}
77 DefaultPasswords: {get_param: DefaultPasswords}
78 EndpointMap: {get_param: EndpointMap}
79 RoleName: {get_param: RoleName}
80 RoleParameters: {get_param: RoleParameters}
84 description: Role data for the Nova Placement API service.
86 service_name: nova_placement
87 monitoring_subscription: {get_param: MonitoringSubscriptionNovaPlacement}
88 logging_source: {get_param: NovaPlacementLoggingSource}
93 - get_attr: [NovaBase, role_data, config_settings]
94 - get_attr: [ApacheServiceBase, role_data, config_settings]
95 - tripleo.nova_placement.firewall_rules:
100 nova::keystone::authtoken::project_name: 'service'
101 nova::keystone::authtoken::password: {get_param: NovaPassword}
102 nova::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
103 nova::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
104 nova::wsgi::apache_placement::api_port: '8778'
105 nova::wsgi::apache_placement::ssl: {get_param: EnableInternalTLS}
106 # NOTE: bind IP is found in Heat replacing the network name with the local node IP
107 # for the given network; replacement examples (eg. for internal_api):
109 # internal_api_uri -> [IP]
110 # internal_api_subnet - > IP/CIDR
111 nova::wsgi::apache_placement::bind_host: {get_param: [ServiceNetMap, NovaPlacementNetwork]}
112 nova::wsgi::apache_placement::servername:
115 "%{hiera('fqdn_$NETWORK')}"
117 $NETWORK: {get_param: [ServiceNetMap, NovaPlacementNetwork]}
122 - nova::wsgi::apache_placement::workers: {get_param: NovaWorkers}
124 include tripleo::profile::base::nova::placement
125 service_config_settings:
127 nova::keystone::auth_placement::tenant: 'service'
128 nova::keystone::auth_placement::public_url: {get_param: [EndpointMap, NovaPlacementPublic, uri]}
129 nova::keystone::auth_placement::internal_url: {get_param: [EndpointMap, NovaPlacementInternal, uri]}
130 nova::keystone::auth_placement::admin_url: {get_param: [EndpointMap, NovaPlacementAdmin, uri]}
131 nova::keystone::auth_placement::password: {get_param: NovaPassword}
132 nova::keystone::auth_placement::region: {get_param: KeystoneRegion}
135 - {get_attr: [NovaBase, role_data, service_config_settings, mysql]}
136 - nova::db::mysql_placement::password: {get_param: NovaPassword}
137 nova::db::mysql_placement::user: nova_placement
138 nova::db::mysql_placement::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
139 nova::db::mysql_placement::dbname: nova_placement
140 nova::db::mysql_placement::allowed_hosts:
142 - "%{hiera('mysql_bind_host')}"
144 - name: Stop nova_placement service (running under httpd)
146 service: name=httpd state=stopped
147 # The nova placement API isn't installed in newton images, so install
149 - name: Install nova-placement packages on upgrade
151 yum: name=openstack-nova-placement-api state=latest