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