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