Merge "Add a environment file to disable ceilo api"
[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   EventPipelinePublishers:
54     default: ['notifier://?topic=alarm.all']
55     description: A list of publishers to put in event_pipeline.yaml.
56     type: comma_delimited_list
57   Debug:
58     default: ''
59     description: Set to True to enable debugging on all services.
60     type: string
61   KeystoneRegion:
62     type: string
63     default: 'regionOne'
64     description: Keystone region for endpoint
65   RabbitPassword:
66     description: The password for RabbitMQ
67     type: string
68     hidden: true
69   RabbitUserName:
70     default: guest
71     description: The username for RabbitMQ
72     type: string
73   RabbitClientUseSSL:
74     default: false
75     description: >
76         Rabbit client subscriber parameter to specify
77         an SSL connection to the RabbitMQ host.
78     type: string
79   RabbitClientPort:
80     default: 5672
81     description: Set rabbit subscriber port, change this if using SSL
82     type: number
83
84 outputs:
85   role_data:
86     description: Role data for the Ceilometer role.
87     value:
88       service_name: ceilometer_base
89       config_settings:
90         ceilometer::debug: {get_param: Debug}
91         ceilometer::db::database_connection:
92           list_join:
93             - ''
94             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
95             - - '://ceilometer:'
96               - {get_param: CeilometerPassword}
97               - '@'
98               - {get_param: [EndpointMap, MysqlInternal, host]}
99               - '/ceilometer'
100               - '?bind_address='
101               - "%{hiera('tripleo::profile::base::database::mysql::client_bind_address')}"
102         ceilometer_backend: {get_param: CeilometerBackend}
103         ceilometer::metering_secret: {get_param: CeilometerMeteringSecret}
104         # we include db_sync class in puppet-tripleo
105         ceilometer::db::sync_db: false
106         ceilometer::keystone::authtoken::project_name: 'service'
107         ceilometer::keystone::authtoken::password: {get_param: CeilometerPassword}
108         ceilometer::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
109         ceilometer::keystone::authtoken::auth_url: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
110         ceilometer::agent::auth::auth_password: {get_param: CeilometerPassword}
111         ceilometer::agent::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
112         ceilometer::agent::notification::store_events: {get_param: CeilometerStoreEvents}
113         ceilometer::agent::notification::event_pipeline_publishers: {get_param: EventPipelinePublishers}
114         ceilometer::agent::auth::auth_region: {get_param: KeystoneRegion}
115         ceilometer::agent::auth::auth_tenant_name: 'service'
116         ceilometer::agent::auth::auth_endpoint_type: 'internalURL'
117         ceilometer::collector::meter_dispatcher: {get_param: CeilometerMeterDispatcher}
118         ceilometer::collector::event_dispatcher: {get_param: CeilometerEventDispatcher}
119         ceilometer::dispatcher::gnocchi::url: {get_param: [EndpointMap, GnocchiInternal, uri]}
120         ceilometer::dispatcher::gnocchi::filter_project: 'service'
121         ceilometer::dispatcher::gnocchi::archive_policy: 'low'
122         ceilometer::dispatcher::gnocchi::resources_definition_file: 'gnocchi_resources.yaml'
123         ceilometer::rabbit_userid: {get_param: RabbitUserName}
124         ceilometer::rabbit_password: {get_param: RabbitPassword}
125         ceilometer::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
126         ceilometer::rabbit_port: {get_param: RabbitClientPort}
127         ceilometer::rabbit_heartbeat_timeout_threshold: 60
128         ceilometer::db::database_db_max_retries: -1
129         ceilometer::db::database_max_retries: -1
130         ceilometer::telemetry_secret: {get_param: CeilometerMeteringSecret}
131       service_config_settings:
132         keystone:
133           ceilometer::keystone::auth::public_url: {get_param: [EndpointMap, CeilometerPublic, uri]}
134           ceilometer::keystone::auth::internal_url: {get_param: [EndpointMap, CeilometerInternal, uri]}
135           ceilometer::keystone::auth::admin_url: {get_param: [EndpointMap, CeilometerAdmin, uri]}
136           ceilometer::keystone::auth::password: {get_param: CeilometerPassword}
137           ceilometer::keystone::auth::region: {get_param: KeystoneRegion}
138           ceilometer::keystone::auth::tenant: 'service'
139         mysql:
140           ceilometer::db::mysql::password: {get_param: CeilometerPassword}
141           ceilometer::db::mysql::user: ceilometer
142           ceilometer::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
143           ceilometer::db::mysql::dbname: ceilometer
144           ceilometer::db::mysql::allowed_hosts:
145             - '%'
146             - "%{hiera('mysql_bind_host')}"