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