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