40060a116db143a8d1966082a79e5e7ab584b1b3
[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   EndpointMap:
8     default: {}
9     description: Mapping of service endpoint -> protocol. Typically set
10                  via parameter_defaults in the resource registry.
11     type: json
12   CeilometerBackend:
13     default: 'mongodb'
14     description: The ceilometer backend type.
15     type: string
16   CeilometerMeteringSecret:
17     description: Secret shared by the ceilometer services.
18     type: string
19     hidden: true
20   CeilometerPassword:
21     description: The password for the ceilometer service account.
22     type: string
23     hidden: true
24   CeilometerMeterDispatcher:
25     default: 'gnocchi'
26     description: Dispatcher to process meter data
27     type: string
28     constraints:
29     - allowed_values: ['gnocchi', 'database']
30   CeilometerWorkers:
31     default: 0
32     description: Number of workers for Ceilometer service.
33     type: number
34   CeilometerStoreEvents:
35     default: false
36     description: Whether to store events in ceilometer.
37     type: boolean
38   KeystoneRegion:
39     type: string
40     default: 'regionOne'
41     description: Keystone region for endpoint
42   RabbitPassword:
43     description: The password for RabbitMQ
44     type: string
45     hidden: true
46   RabbitUserName:
47     default: guest
48     description: The username for RabbitMQ
49     type: string
50   RabbitClientUseSSL:
51     default: false
52     description: >
53         Rabbit client subscriber parameter to specify
54         an SSL connection to the RabbitMQ host.
55     type: string
56   RabbitClientPort:
57     default: 5672
58     description: Set rabbit subscriber port, change this if using SSL
59     type: number
60
61 outputs:
62   role_data:
63     description: Role data for the Ceilometer role.
64     value:
65       service_name: ceilometer-base
66       config_settings:
67         ceilometer::db::database_connection:
68           list_join:
69             - ''
70             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
71             - - '://ceilometer:'
72               - {get_param: CeilometerPassword}
73               - '@'
74               - {get_param: [EndpointMap, MysqlInternal, host]}
75               - '/ceilometer'
76         ceilometer_backend: {get_param: CeilometerBackend}
77         ceilometer::metering_secret: {get_param: CeilometerMeteringSecret}
78         # we include db_sync class in puppet-tripleo
79         ceilometer::db::sync_db: false
80         ceilometer::api::keystone_password: {get_param: CeilometerPassword}
81         ceilometer::api::keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
82         ceilometer::api::keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
83         ceilometer::agent::auth::auth_password: {get_param: CeilometerPassword}
84         ceilometer::agent::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
85         ceilometer::agent::notification::store_events: {get_param: CeilometerStoreEvents}
86         ceilometer::db::mysql::password: {get_param: CeilometerPassword}
87         ceilometer::collector::meter_dispatcher: {get_param: CeilometerMeterDispatcher}
88         ceilometer::dispatcher::gnocchi::url: {get_param: [EndpointMap, GnocchiInternal, uri]}
89         ceilometer::dispatcher::gnocchi::filter_project: 'service'
90         ceilometer::dispatcher::gnocchi::archive_policy: 'low'
91         ceilometer::dispatcher::gnocchi::resources_definition_file: 'gnocchi_resources.yaml'
92         ceilometer::keystone::auth::public_url: {get_param: [EndpointMap, CeilometerPublic, uri]}
93         ceilometer::keystone::auth::internal_url: {get_param: [EndpointMap, CeilometerInternal, uri]}
94         ceilometer::keystone::auth::admin_url: {get_param: [EndpointMap, CeilometerAdmin, uri]}
95         ceilometer::keystone::auth::password: {get_param: CeilometerPassword}
96         ceilometer::keystone::auth::region: {get_param: KeystoneRegion}
97         ceilometer::rabbit_userid: {get_param: RabbitUserName}
98         ceilometer::rabbit_password: {get_param: RabbitPassword}
99         ceilometer::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
100         ceilometer::rabbit_port: {get_param: RabbitClientPort}
101         ceilometer::db::mysql::user: ceilometer
102         ceilometer::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]}
103         ceilometer::db::mysql::dbname: ceilometer
104         ceilometer::db::mysql::allowed_hosts:
105           - '%'
106           - "%{hiera('mysql_bind_host')}"