Change flat network name for nosdn fdio scenario
[apex-tripleo-heat-templates.git] / puppet / services / heat-base.yaml
1 heat_template_version: pike
2
3 description: >
4   Openstack Heat base service. Shared for all Heat services.
5
6 parameters:
7   Debug:
8     default: ''
9     description: Set to True to enable debugging on all services.
10     type: string
11   HeatDebug:
12     default: ''
13     description: Set to True to enable debugging Heat services.
14     type: string
15   RabbitPassword:
16     description: The password for RabbitMQ
17     type: string
18     hidden: true
19   RabbitUserName:
20     default: guest
21     description: The username for RabbitMQ
22     type: string
23   RabbitClientUseSSL:
24     default: false
25     description: >
26         Rabbit client subscriber parameter to specify
27         an SSL connection to the RabbitMQ host.
28     type: string
29   RabbitClientPort:
30     default: 5672
31     description: Set rabbit subscriber port, change this if using SSL
32     type: number
33   ServiceData:
34     default: {}
35     description: Dictionary packing service data
36     type: json
37   ServiceNetMap:
38     default: {}
39     description: Mapping of service_name -> network name. Typically set
40                  via parameter_defaults in the resource registry.  This
41                  mapping overrides those in ServiceNetMapDefaults.
42     type: json
43   HeatPassword:
44     description: The password for the Heat service and db account, used by the Heat services.
45     type: string
46     hidden: true
47   DefaultPasswords:
48     default: {}
49     type: json
50   RoleName:
51     default: ''
52     description: Role name on which the service is applied
53     type: string
54   RoleParameters:
55     default: {}
56     description: Parameters specific to the role
57     type: json
58   EndpointMap:
59     default: {}
60     description: Mapping of service endpoint -> protocol. Typically set
61                  via parameter_defaults in the resource registry.
62     type: json
63   HeatCronPurgeDeletedEnsure:
64     type: string
65     description: >
66         Cron to purge db entries marked as deleted and older than $age - Ensure
67     default: 'present'
68   HeatCronPurgeDeletedMinute:
69     type: string
70     description: >
71         Cron to purge db entries marked as deleted and older than $age - Minute
72     default: '1'
73   HeatCronPurgeDeletedHour:
74     type: string
75     description: >
76         Cron to purge db entries marked as deleted and older than $age - Hour
77     default: '0'
78   HeatCronPurgeDeletedMonthday:
79     type: string
80     description: >
81         Cron to purge db entries marked as deleted and older than $age - Month Day
82     default: '*'
83   HeatCronPurgeDeletedMonth:
84     type: string
85     description: >
86         Cron to purge db entries marked as deleted and older than $age - Month
87     default: '*'
88   HeatCronPurgeDeletedWeekday:
89     type: string
90     description: >
91         Cron to purge db entries marked as deleted and older than $age - Week Day
92     default: '*'
93   HeatCronPurgeDeletedMaxDelay:
94     type: string
95     description: >
96         Cron to purge db entries marked as deleted and older than $age - Max Delay
97     default: '3600'
98   HeatCronPurgeDeletedUser:
99     type: string
100     description: >
101         Cron to purge db entries marked as deleted and older than $age - User
102     default: 'heat'
103   HeatCronPurgeDeletedAge:
104     type: string
105     description: >
106         Cron to purge db entries marked as deleted and older than $age - Age
107     default: '30'
108   HeatCronPurgeDeletedAgeType:
109     type: string
110     description: >
111         Cron to purge db entries marked as deleted and older than $age - Age type
112     default: 'days'
113   HeatCronPurgeDeletedDestination:
114     type: string
115     description: >
116         Cron to purge db entries marked as deleted and older than $age - Log destination
117     default: '/dev/null'
118   HeatMaxJsonBodySize:
119     default: 1048576
120     description: Maximum raw byte size of the Heat API JSON request body.
121     type: number
122   NotificationDriver:
123     type: string
124     default: 'messagingv2'
125     description: Driver or drivers to handle sending notifications.
126     constraints:
127       - allowed_values: [ 'messagingv2', 'noop' ]
128
129 conditions:
130   service_debug_unset: {equals : [{get_param: HeatDebug}, '']}
131
132 outputs:
133   role_data:
134     description: Shared role data for the Heat services.
135     value:
136       service_name: heat_base
137       config_settings:
138         heat::notification_driver: {get_param: NotificationDriver}
139         heat::rabbit_userid: {get_param: RabbitUserName}
140         heat::rabbit_password: {get_param: RabbitPassword}
141         heat::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
142         heat::rabbit_port: {get_param: RabbitClientPort}
143         heat::debug:
144           if:
145           - service_debug_unset
146           - {get_param: Debug }
147           - {get_param: HeatDebug }
148         heat::enable_proxy_headers_parsing: true
149         heat::rpc_response_timeout: 600
150         # We need this because the default heat policy.json no longer works on TripleO
151         # https://git.openstack.org/cgit/openstack/heat/commit/?id=ac86702172ddf01f5bdc3f3cd99d2e32ad9b7024
152         heat::policy::policies:
153           context_is_admin:
154             key: 'context_is_admin'
155             value: 'role:admin'
156         heat::rabbit_heartbeat_timeout_threshold: 60
157         heat::keystone::authtoken::project_name: 'service'
158         heat::keystone::authtoken::user_domain_name: 'Default'
159         heat::keystone::authtoken::project_domain_name: 'Default'
160         heat::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
161         heat::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
162         heat::keystone::authtoken::password: {get_param: HeatPassword}
163         heat::keystone::domain::domain_name: 'heat_stack'
164         heat::keystone::domain::domain_admin: 'heat_stack_domain_admin'
165         heat::keystone::domain::domain_admin_email: 'heat_stack_domain_admin@localhost'
166         heat::db::database_db_max_retries: -1
167         heat::db::database_max_retries: -1
168         heat::yaql_memory_quota: 100000
169         heat::yaql_limit_iterators: 1000
170         heat::cron::purge_deleted::ensure: {get_param: HeatCronPurgeDeletedEnsure}
171         heat::cron::purge_deleted::minute: {get_param: HeatCronPurgeDeletedMinute}
172         heat::cron::purge_deleted::hour: {get_param: HeatCronPurgeDeletedHour}
173         heat::cron::purge_deleted::monthday: {get_param: HeatCronPurgeDeletedMonthday}
174         heat::cron::purge_deleted::month: {get_param: HeatCronPurgeDeletedMonth}
175         heat::cron::purge_deleted::weekday: {get_param: HeatCronPurgeDeletedWeekday}
176         heat::cron::purge_deleted::maxdelay: {get_param: HeatCronPurgeDeletedMaxDelay}
177         heat::cron::purge_deleted::user: {get_param: HeatCronPurgeDeletedUser}
178         heat::cron::purge_deleted::age: {get_param: HeatCronPurgeDeletedAge}
179         heat::cron::purge_deleted::age_type: {get_param: HeatCronPurgeDeletedAgeType}
180         heat::cron::purge_deleted::destination: {get_param: HeatCronPurgeDeletedDestination}
181         heat::max_json_body_size: {get_param: HeatMaxJsonBodySize}
182       service_config_settings:
183         keystone:
184           tripleo::profile::base::keystone::heat_admin_domain: 'heat_stack'
185           tripleo::profile::base::keystone::heat_admin_user: 'heat_stack_domain_admin'
186           tripleo::profile::base::keystone::heat_admin_email: 'heat_stack_domain_admin@localhost'