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