24c71cbb2800ee5e02e50b02115b22ca4adfb42f
[apex-tripleo-heat-templates.git] / puppet / services / ceilometer-base.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Ceilometer service configured with Puppet
5
6 parameters:
7   ServiceNetMap:
8     default: {}
9     description: Mapping of service_name -> network name. Typically set
10                  via parameter_defaults in the resource registry.  This
11                  mapping overrides those in ServiceNetMapDefaults.
12     type: json
13   DefaultPasswords:
14     default: {}
15     type: json
16   EndpointMap:
17     default: {}
18     description: Mapping of service endpoint -> protocol. Typically set
19                  via parameter_defaults in the resource registry.
20     type: json
21   CeilometerBackend:
22     default: 'mongodb'
23     description: The ceilometer backend type.
24     type: string
25   CeilometerMeteringSecret:
26     description: Secret shared by the ceilometer services.
27     type: string
28     hidden: true
29   CeilometerPassword:
30     description: The password for the ceilometer service account.
31     type: string
32     hidden: true
33   CeilometerMeterDispatcher:
34     default: ['gnocchi']
35     description: Comma-seperated list of Dispatcher to process meter data
36     type: comma_delimited_list
37     constraints:
38     - allowed_values: ['gnocchi', 'database']
39   CeilometerEventDispatcher:
40     default: ['gnocchi']
41     description: Comma-separated list of Dispatchers to process events data
42     type: comma_delimited_list
43     constraints:
44     - allowed_values: ['panko', 'gnocchi', 'database']
45   CeilometerWorkers:
46     default: 0
47     description: Number of workers for Ceilometer service.
48     type: number
49   CeilometerStoreEvents:
50     default: false
51     description: Whether to store events in ceilometer.
52     type: boolean
53   EnableLegacyCeilometerApi:
54     default: false
55     description: Enable legacy ceilometer Api service if needed.
56     type: boolean
57   EventPipelinePublishers:
58     default: ['notifier://?topic=alarm.all']
59     description: A list of publishers to put in event_pipeline.yaml.
60     type: comma_delimited_list
61   Debug:
62     default: ''
63     description: Set to True to enable debugging on all services.
64     type: string
65   KeystoneRegion:
66     type: string
67     default: 'regionOne'
68     description: Keystone region for endpoint
69   RabbitPassword:
70     description: The password for RabbitMQ
71     type: string
72     hidden: true
73   RabbitUserName:
74     default: guest
75     description: The username for RabbitMQ
76     type: string
77   RabbitClientUseSSL:
78     default: false
79     description: >
80         Rabbit client subscriber parameter to specify
81         an SSL connection to the RabbitMQ host.
82     type: string
83   RabbitClientPort:
84     default: 5672
85     description: Set rabbit subscriber port, change this if using SSL
86     type: number
87
88 outputs:
89   role_data:
90     description: Role data for the Ceilometer role.
91     value:
92       service_name: ceilometer_base
93       config_settings:
94         ceilometer::debug: {get_param: Debug}
95         ceilometer::db::database_connection:
96           list_join:
97             - ''
98             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
99             - - '://ceilometer:'
100               - {get_param: CeilometerPassword}
101               - '@'
102               - {get_param: [EndpointMap, MysqlInternal, host]}
103               - '/ceilometer'
104         enable_legacy_ceilometer_api: {get_param: EnableLegacyCeilometerApi}
105         ceilometer_backend: {get_param: CeilometerBackend}
106         ceilometer::metering_secret: {get_param: CeilometerMeteringSecret}
107         # we include db_sync class in puppet-tripleo
108         ceilometer::db::sync_db: false
109         ceilometer::keystone::authtoken::project_name: 'service'
110         ceilometer::keystone::authtoken::password: {get_param: CeilometerPassword}
111         ceilometer::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
112         ceilometer::keystone::authtoken::auth_url: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
113         ceilometer::agent::auth::auth_password: {get_param: CeilometerPassword}
114         ceilometer::agent::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
115         ceilometer::agent::notification::store_events: {get_param: CeilometerStoreEvents}
116         ceilometer::agent::notification::event_pipeline_publishers: {get_param: EventPipelinePublishers}
117         ceilometer::agent::auth::auth_region: {get_param: KeystoneRegion}
118         ceilometer::agent::auth::auth_tenant_name: 'service'
119         ceilometer::agent::auth::auth_endpoint_type: 'internalURL'
120         ceilometer::collector::meter_dispatcher: {get_param: CeilometerMeterDispatcher}
121         ceilometer::collector::event_dispatcher: {get_param: CeilometerEventDispatcher}
122         ceilometer::dispatcher::gnocchi::url: {get_param: [EndpointMap, GnocchiInternal, uri]}
123         ceilometer::dispatcher::gnocchi::filter_project: 'service'
124         ceilometer::dispatcher::gnocchi::archive_policy: 'low'
125         ceilometer::dispatcher::gnocchi::resources_definition_file: 'gnocchi_resources.yaml'
126         ceilometer::rabbit_userid: {get_param: RabbitUserName}
127         ceilometer::rabbit_password: {get_param: RabbitPassword}
128         ceilometer::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
129         ceilometer::rabbit_port: {get_param: RabbitClientPort}
130         ceilometer::rabbit_heartbeat_timeout_threshold: 60
131         ceilometer::db::database_db_max_retries: -1
132         ceilometer::db::database_max_retries: -1
133         ceilometer::telemetry_secret: {get_param: CeilometerMeteringSecret}
134       service_config_settings:
135         keystone:
136           ceilometer::keystone::auth::public_url: {get_param: [EndpointMap, CeilometerPublic, uri]}
137           ceilometer::keystone::auth::internal_url: {get_param: [EndpointMap, CeilometerInternal, uri]}
138           ceilometer::keystone::auth::admin_url: {get_param: [EndpointMap, CeilometerAdmin, uri]}
139           ceilometer::keystone::auth::password: {get_param: CeilometerPassword}
140           ceilometer::keystone::auth::region: {get_param: KeystoneRegion}
141           ceilometer::keystone::auth::tenant: 'service'
142         mysql:
143           ceilometer::db::mysql::password: {get_param: CeilometerPassword}
144           ceilometer::db::mysql::user: ceilometer
145           ceilometer::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
146           ceilometer::db::mysql::dbname: ceilometer
147           ceilometer::db::mysql::allowed_hosts:
148             - '%'
149             - "%{hiera('mysql_bind_host')}"