Ability to enable/disable debug mode per OpenStack service
[apex-tripleo-heat-templates.git] / puppet / services / ceilometer-base.yaml
1 heat_template_version: pike
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   RoleName:
17     default: ''
18     description: Role name on which the service is applied
19     type: string
20   RoleParameters:
21     default: {}
22     description: Parameters specific to the role
23     type: json
24   EndpointMap:
25     default: {}
26     description: Mapping of service endpoint -> protocol. Typically set
27                  via parameter_defaults in the resource registry.
28     type: json
29   CeilometerMeteringSecret:
30     description: Secret shared by the ceilometer services.
31     type: string
32     hidden: true
33   CeilometerPassword:
34     description: The password for the ceilometer service account.
35     type: string
36     hidden: true
37   CeilometerWorkers:
38     default: 0
39     description: Number of workers for Ceilometer service.
40     type: number
41   ManageEventPipeline:
42     default: false
43     description: Whether to manage event_pipeline.yaml.
44     type: boolean
45   EventPipelinePublishers:
46     default: ['gnocchi://']
47     description: >
48         A list of publishers to put in event_pipeline.yaml. When the
49         collector is used, override this with notifier:// publisher.
50         Set ManageEventPipeline to true for override to take effect.
51     type: comma_delimited_list
52   ManagePipeline:
53     default: false
54     description: Whether to manage pipeline.yaml.
55     type: boolean
56   PipelinePublishers:
57     default: ['gnocchi://']
58     description: >
59         A list of publishers to put in pipeline.yaml. When the
60         collector is used, override this with notifier:// publisher.
61         Set ManagePipeline to true for override to take effect.
62     type: comma_delimited_list
63   Debug:
64     default: ''
65     description: Set to True to enable debugging on all services.
66     type: string
67   CeilometerDebug:
68     default: ''
69     description: Set to True to enable debugging Ceilometer services.
70     type: string
71   KeystoneRegion:
72     type: string
73     default: 'regionOne'
74     description: Keystone region for endpoint
75   RabbitPassword:
76     description: The password for RabbitMQ
77     type: string
78     hidden: true
79   RabbitUserName:
80     default: guest
81     description: The username for RabbitMQ
82     type: string
83   RabbitClientUseSSL:
84     default: false
85     description: >
86         Rabbit client subscriber parameter to specify
87         an SSL connection to the RabbitMQ host.
88     type: string
89   RabbitClientPort:
90     default: 5672
91     description: Set rabbit subscriber port, change this if using SSL
92     type: number
93   CeilometerApiEndpoint:
94     default: false
95     description: Whether to create or skip API endpoint. Set this to
96         false, if you choose to disable Ceilometer API service.
97     type: boolean
98   SnmpdReadonlyUserName:
99     default: ro_snmp_user
100     description: The user name for SNMPd with readonly rights running on all Overcloud nodes
101     type: string
102   SnmpdReadonlyUserPassword:
103     description: The user password for SNMPd with readonly rights running on all Overcloud nodes
104     type: string
105     hidden: true
106
107 conditions:
108   service_debug_unset: {equals : [{get_param: CeilometerDebug}, '']}
109
110 outputs:
111   role_data:
112     description: Role data for the Ceilometer role.
113     value:
114       service_name: ceilometer_base
115       config_settings:
116         ceilometer::debug:
117           if:
118           - service_debug_unset
119           - {get_param: Debug }
120           - {get_param: CeilometerDebug }
121         ceilometer::keystone::authtoken::project_name: 'service'
122         ceilometer::keystone::authtoken::user_domain_name: 'Default'
123         ceilometer::keystone::authtoken::project_domain_name: 'Default'
124         ceilometer::keystone::authtoken::password: {get_param: CeilometerPassword}
125         ceilometer::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
126         ceilometer::keystone::authtoken::auth_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
127         ceilometer::agent::auth::auth_password: {get_param: CeilometerPassword}
128         ceilometer::agent::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
129         ceilometer::agent::notification::manage_event_pipeline: {get_param: ManageEventPipeline}
130         ceilometer::agent::notification::event_pipeline_publishers: {get_param: EventPipelinePublishers}
131         ceilometer::agent::notification::manage_pipeline: {get_param: ManagePipeline}
132         ceilometer::agent::notification::pipeline_publishers: {get_param: PipelinePublishers}
133         ceilometer::agent::auth::auth_region: {get_param: KeystoneRegion}
134         ceilometer::agent::auth::auth_tenant_name: 'service'
135         ceilometer::agent::auth::auth_user_domain_name: 'Default'
136         ceilometer::agent::auth::auth_project_domain_name: 'Default'
137         ceilometer::agent::auth::auth_endpoint_type: 'internalURL'
138         ceilometer::dispatcher::gnocchi::url: {get_param: [EndpointMap, GnocchiInternal, uri]}
139         ceilometer::dispatcher::gnocchi::filter_project: 'service'
140         ceilometer::dispatcher::gnocchi::archive_policy: 'low'
141         ceilometer::dispatcher::gnocchi::resources_definition_file: 'gnocchi_resources.yaml'
142         ceilometer::rabbit_userid: {get_param: RabbitUserName}
143         ceilometer::rabbit_password: {get_param: RabbitPassword}
144         ceilometer::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
145         ceilometer::rabbit_port: {get_param: RabbitClientPort}
146         ceilometer::rabbit_heartbeat_timeout_threshold: 60
147         ceilometer::telemetry_secret: {get_param: CeilometerMeteringSecret}
148         ceilometer::snmpd_readonly_username: {get_param: SnmpdReadonlyUserName}
149         ceilometer::snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
150       service_config_settings:
151         keystone:
152           ceilometer_auth_enabled: true
153           ceilometer::keystone::auth::public_url: {get_param: [EndpointMap, CeilometerPublic, uri]}
154           ceilometer::keystone::auth::internal_url: {get_param: [EndpointMap, CeilometerInternal, uri]}
155           ceilometer::keystone::auth::admin_url: {get_param: [EndpointMap, CeilometerAdmin, uri]}
156           ceilometer::keystone::auth::password: {get_param: CeilometerPassword}
157           ceilometer::keystone::auth::region: {get_param: KeystoneRegion}
158           ceilometer::keystone::auth::tenant: 'service'
159           ceilometer::keystone::auth::configure_endpoint: {get_param: CeilometerApiEndpoint}
160         mysql:
161           ceilometer::db::mysql::password: {get_param: CeilometerPassword}
162           ceilometer::db::mysql::user: ceilometer
163           ceilometer::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
164           ceilometer::db::mysql::dbname: ceilometer
165           ceilometer::db::mysql::allowed_hosts:
166             - '%'
167             - "%{hiera('mysql_bind_host')}"