Merge "Add retry to RHEL registration"
[apex-tripleo-heat-templates.git] / puppet / services / ceilometer-base.yaml
1 heat_template_version: ocata
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               - '?bind_address='
105               - "%{hiera('tripleo::profile::base::database::mysql::client_bind_address')}"
106         enable_legacy_ceilometer_api: {get_param: EnableLegacyCeilometerApi}
107         ceilometer_backend: {get_param: CeilometerBackend}
108         ceilometer::metering_secret: {get_param: CeilometerMeteringSecret}
109         # we include db_sync class in puppet-tripleo
110         ceilometer::db::sync_db: false
111         ceilometer::keystone::authtoken::project_name: 'service'
112         ceilometer::keystone::authtoken::password: {get_param: CeilometerPassword}
113         ceilometer::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
114         ceilometer::keystone::authtoken::auth_url: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
115         ceilometer::agent::auth::auth_password: {get_param: CeilometerPassword}
116         ceilometer::agent::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
117         ceilometer::agent::notification::store_events: {get_param: CeilometerStoreEvents}
118         ceilometer::agent::notification::event_pipeline_publishers: {get_param: EventPipelinePublishers}
119         ceilometer::agent::auth::auth_region: {get_param: KeystoneRegion}
120         ceilometer::agent::auth::auth_tenant_name: 'service'
121         ceilometer::agent::auth::auth_endpoint_type: 'internalURL'
122         ceilometer::collector::meter_dispatcher: {get_param: CeilometerMeterDispatcher}
123         ceilometer::collector::event_dispatcher: {get_param: CeilometerEventDispatcher}
124         ceilometer::dispatcher::gnocchi::url: {get_param: [EndpointMap, GnocchiInternal, uri]}
125         ceilometer::dispatcher::gnocchi::filter_project: 'service'
126         ceilometer::dispatcher::gnocchi::archive_policy: 'low'
127         ceilometer::dispatcher::gnocchi::resources_definition_file: 'gnocchi_resources.yaml'
128         ceilometer::rabbit_userid: {get_param: RabbitUserName}
129         ceilometer::rabbit_password: {get_param: RabbitPassword}
130         ceilometer::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
131         ceilometer::rabbit_port: {get_param: RabbitClientPort}
132         ceilometer::rabbit_heartbeat_timeout_threshold: 60
133         ceilometer::db::database_db_max_retries: -1
134         ceilometer::db::database_max_retries: -1
135         ceilometer::telemetry_secret: {get_param: CeilometerMeteringSecret}
136       service_config_settings:
137         keystone:
138           ceilometer::keystone::auth::public_url: {get_param: [EndpointMap, CeilometerPublic, uri]}
139           ceilometer::keystone::auth::internal_url: {get_param: [EndpointMap, CeilometerInternal, uri]}
140           ceilometer::keystone::auth::admin_url: {get_param: [EndpointMap, CeilometerAdmin, uri]}
141           ceilometer::keystone::auth::password: {get_param: CeilometerPassword}
142           ceilometer::keystone::auth::region: {get_param: KeystoneRegion}
143           ceilometer::keystone::auth::tenant: 'service'
144         mysql:
145           ceilometer::db::mysql::password: {get_param: CeilometerPassword}
146           ceilometer::db::mysql::user: ceilometer
147           ceilometer::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
148           ceilometer::db::mysql::dbname: ceilometer
149           ceilometer::db::mysql::allowed_hosts:
150             - '%'
151             - "%{hiera('mysql_bind_host')}"