tripleo-heat-templates/puppet/services/ceilometer-base.yaml
Michele Baldessari f5ba55bd84 Remove artificial constrains around notification drivers
According to
https://docs.openstack.org/newton/config-reference/config-format.html we
can have a list of notification drivers like:
driver = messaging
driver = log

Let's not impose extra limitation in THT as folks might want special
notifications setups.

Change-Id: I873574944af237e1ff998f0e9b9b261c53c46f54
Closes-Bug: #1795026
2018-10-16 07:14:55 +00:00

182 lines
7.3 KiB
YAML

heat_template_version: rocky
description: >
OpenStack Ceilometer service configured with Puppet
parameters:
ServiceData:
default: {}
description: Dictionary packing service data
type: json
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
CeilometerMeteringSecret:
description: Secret shared by the ceilometer services.
type: string
hidden: true
CeilometerPassword:
description: The password for the ceilometer service account.
type: string
hidden: true
ManageEventPipeline:
default: true
description: Whether to manage event_pipeline.yaml.
type: boolean
EventPipelinePublishers:
default: ['gnocchi://?filter_project=service&archive_policy=low', 'panko://']
description: >
A list of publishers to put in event_pipeline.yaml. When the
collector is used, override this with notifier:// publisher.
If zaqar is enabled, you can also publish to a zaqar queue
by including "zaqar://?queue=queue_name" in this list.
Set ManageEventPipeline to true for override to take effect.
type: comma_delimited_list
ManagePipeline:
default: false
description: Whether to manage pipeline.yaml.
type: boolean
PipelinePublishers:
default: ['gnocchi://?filter_project=service&archive_policy=low']
description: >
A list of publishers to put in pipeline.yaml. When the
collector is used, override this with notifier:// publisher.
Set ManagePipeline to true for override to take effect.
type: comma_delimited_list
ManagePolling:
default: false
description: Whether to manage polling.yaml.
type: boolean
Debug:
default: false
description: Set to True to enable debugging on all services.
type: boolean
CeilometerDebug:
default: ''
description: Set to True to enable debugging Ceilometer services.
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
SnmpdReadonlyUserName:
default: ro_snmp_user
description: The user name for SNMPd with readonly rights running on all Overcloud nodes
type: string
SnmpdReadonlyUserPassword:
description: The user password for SNMPd with readonly rights running on all Overcloud nodes
type: string
hidden: true
NotificationDriver:
type: string
default: 'messagingv2'
description: Driver or drivers to handle sending notifications.
GnocchiArchivePolicy:
default: 'ceilometer-low-rate'
type: string
description: (DEPRECATED) archive policy to use with gnocchi backend
RpcPort:
default: 5672
description: The network port for messaging backend
type: number
RpcUserName:
default: guest
description: The username for messaging backend
type: string
RpcPassword:
description: The password for messaging backend
type: string
hidden: true
RpcUseSSL:
default: false
description: >
Messaging client subscriber parameter to specify
an SSL connection to the messaging host.
type: string
parameter_groups:
- label: deprecated
description: |
The following parameters are deprecated and will be removed. They should not
be relied on for new deployments. If you have concerns regarding deprecated
parameters, please contact the TripleO development team on IRC or the
OpenStack mailing list.
parameters:
- GnocchiArchivePolicy
conditions:
service_debug_unset: {equals : [{get_param: CeilometerDebug}, '']}
outputs:
role_data:
description: Role data for the Ceilometer role.
value:
service_name: ceilometer_base
config_settings:
ceilometer::debug:
if:
- service_debug_unset
- {get_param: Debug }
- {get_param: CeilometerDebug }
ceilometer::keystone::authtoken::project_name: 'service'
ceilometer::keystone::authtoken::user_domain_name: 'Default'
ceilometer::keystone::authtoken::project_domain_name: 'Default'
ceilometer::keystone::authtoken::password: {get_param: CeilometerPassword}
ceilometer::keystone::authtoken::www_authenticate_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
ceilometer::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
ceilometer::keystone::authtoken::auth_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
ceilometer::agent::auth::auth_password: {get_param: CeilometerPassword}
ceilometer::agent::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
ceilometer::agent::notification::manage_event_pipeline: {get_param: ManageEventPipeline}
ceilometer::agent::notification::event_pipeline_publishers: {get_param: EventPipelinePublishers}
ceilometer::agent::notification::manage_pipeline: {get_param: ManagePipeline}
ceilometer::agent::notification::pipeline_publishers: {get_param: PipelinePublishers}
ceilometer::agent::polling::manage_polling: {get_param: ManagePolling}
ceilometer::agent::auth::auth_region: {get_param: KeystoneRegion}
ceilometer::agent::auth::auth_tenant_name: 'service'
ceilometer::agent::auth::auth_user_domain_name: 'Default'
ceilometer::agent::auth::auth_project_domain_name: 'Default'
ceilometer::agent::auth::auth_endpoint_type: 'internalURL'
ceilometer::notification_driver: {get_param: NotificationDriver}
# TODO(ansmith): remove once p-t-o switches to oslo params
ceilometer::rabbit_userid: {get_param: RpcUserName}
ceilometer::rabbit_password: {get_param: RpcPassword}
ceilometer::rabbit_use_ssl: {get_param: RpcUseSSL}
ceilometer::rabbit_port: {get_param: RpcPort}
ceilometer::rabbit_heartbeat_timeout_threshold: 60
ceilometer::telemetry_secret: {get_param: CeilometerMeteringSecret}
ceilometer::snmpd_readonly_username: {get_param: SnmpdReadonlyUserName}
ceilometer::snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
ceilometer::host: "%{hiera('fqdn_canonical')}"
service_config_settings:
keystone:
ceilometer_auth_enabled: true
# NOTE(aschultz): no endpoints since ceilometer api removal
ceilometer::keystone::auth::configure_endpoint: false
ceilometer::keystone::auth::password: {get_param: CeilometerPassword}
ceilometer::keystone::auth::region: {get_param: KeystoneRegion}
ceilometer::keystone::auth::tenant: 'service'
# Enable default notification queue
tripleo::profile::base::keystone::ceilometer_notification_topics: ["notifications"]