Add IPv6 disable option
[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: ['panko', '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   CeilometerApiEndpoint:
80     default: true
81     description: Whether to create or skip API endpoint. Set this to
82         false, if you choose to disable Ceilometer API service.
83     type: boolean
84
85 outputs:
86   role_data:
87     description: Role data for the Ceilometer role.
88     value:
89       service_name: ceilometer_base
90       config_settings:
91         ceilometer_auth_enabled: true
92         ceilometer::debug: {get_param: Debug}
93         ceilometer::db::database_connection:
94           list_join:
95             - ''
96             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
97             - - '://ceilometer:'
98               - {get_param: CeilometerPassword}
99               - '@'
100               - {get_param: [EndpointMap, MysqlInternal, host]}
101               - '/ceilometer'
102               - '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
103         ceilometer_backend: {get_param: CeilometerBackend}
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::user_domain_name: 'Default'
108         ceilometer::keystone::authtoken::project_domain_name: 'Default'
109         ceilometer::keystone::authtoken::password: {get_param: CeilometerPassword}
110         ceilometer::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
111         ceilometer::keystone::authtoken::auth_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
112         ceilometer::agent::auth::auth_password: {get_param: CeilometerPassword}
113         ceilometer::agent::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
114         ceilometer::agent::notification::event_pipeline_publishers: {get_param: EventPipelinePublishers}
115         ceilometer::agent::auth::auth_region: {get_param: KeystoneRegion}
116         ceilometer::agent::auth::auth_tenant_name: 'service'
117         ceilometer::agent::auth::auth_user_domain_name: 'Default'
118         ceilometer::agent::auth::auth_project_domain_name: 'Default'
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           ceilometer::keystone::auth::configure_endpoint: {get_param: CeilometerApiEndpoint}
143         mysql:
144           ceilometer::db::mysql::password: {get_param: CeilometerPassword}
145           ceilometer::db::mysql::user: ceilometer
146           ceilometer::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
147           ceilometer::db::mysql::dbname: ceilometer
148           ceilometer::db::mysql::allowed_hosts:
149             - '%'
150             - "%{hiera('mysql_bind_host')}"