Enable configuration of notifier publishers
This patch:
- moves Ceilometer notification agent to proper composable service
- Adds possibility to configure query parameters for notifier publishers
Change-Id: Ieb3d97c3e2c3190607902227980e1ef4a1de2c8e
Depends-On: I5cd0b6e99f5ffcc495225c61f0773240d90e7930
(cherry picked from commit b2162a2e45
)
This commit is contained in:
parent
54b916ef72
commit
c3815a6c13
|
@ -5,6 +5,10 @@ resource_registry:
|
|||
OS::TripleO::Services::CephMon: ../../docker/services/ceph-ansible/ceph-mon.yaml
|
||||
OS::TripleO::Services::CephOSD: ../../docker/services/ceph-ansible/ceph-osd.yaml
|
||||
OS::TripleO::Services::CephClient: ../../docker/services/ceph-ansible/ceph-client.yaml
|
||||
OS::TripleO::Services::CeilometerAgentCentral: ../../docker/ceilometer-agent-central.yaml
|
||||
OS::TripleO::Services::CeilometerAgentNotification: ../../docker/ceilometer-agent-notification.yaml
|
||||
OS::TripleO::Services::CeilometerAgentIpmi: ../../docker/ceilometer-agent-ipmi.yaml
|
||||
OS::TripleO::Services::ComputeCeilometerAgent: ../../docker/ceilometer-agent-compute.yaml
|
||||
OS::TripleO::Services::PankoApi: ../../docker/services/panko-api.yaml
|
||||
OS::TripleO::Services::Collectd: ../../docker/services/metrics/collectd.yaml
|
||||
OS::TripleO::Services::MetricsQdr: ../../docker/services/metrics/qdr.yaml
|
||||
|
@ -110,6 +114,8 @@ parameter_defaults:
|
|||
EventPipelinePublishers:
|
||||
- gnocchi://?archive_policy=high
|
||||
- panko://
|
||||
CeilometerQdrPublishEvents: true
|
||||
ManageEventPipeline: true
|
||||
|
||||
Debug: true
|
||||
DockerPuppetDebug: True
|
||||
|
|
|
@ -38,6 +38,56 @@ parameters:
|
|||
default:
|
||||
tag: openstack.ceilometer.agent.notification
|
||||
path: /var/log/ceilometer/agent-notification.log
|
||||
MetricsQdrPort:
|
||||
default: '5666'
|
||||
description: Service name or port number on which the qdrouterd will accept
|
||||
connections. This argument must be string, even if the numeric
|
||||
form is used.
|
||||
type: string
|
||||
CeilometerQdrPublishEvents:
|
||||
default: false
|
||||
description: Whether to send events to MetricsQdr service.
|
||||
type: boolean
|
||||
CeilometerQdrPublishMetrics:
|
||||
default: false
|
||||
description: Whether to send telemetry data to MetricsQdr service.
|
||||
type: boolean
|
||||
CeilometerQdrEventsConfig:
|
||||
default:
|
||||
driver: amqp
|
||||
topic: ceilometer/event.sample
|
||||
description: Configuration for notifier publisher for events.
|
||||
type: json
|
||||
CeilometerQdrMetricsConfig:
|
||||
default:
|
||||
driver: amqp
|
||||
topic: ceilometer/metering.sample
|
||||
description: Configuration for notifier publisher for metrics.
|
||||
type: json
|
||||
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: []
|
||||
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
|
||||
|
||||
resources:
|
||||
CeilometerServiceBase:
|
||||
|
@ -50,6 +100,12 @@ resources:
|
|||
RoleName: {get_param: RoleName}
|
||||
RoleParameters: {get_param: RoleParameters}
|
||||
|
||||
conditions:
|
||||
ceilometer_qdr_publish:
|
||||
or:
|
||||
- {equals: [{get_param: CeilometerQdrPublishEvents}, true]}
|
||||
- {equals: [{get_param: CeilometerQdrPublishMetrics}, true]}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer Notification Agent role.
|
||||
|
@ -57,7 +113,26 @@ outputs:
|
|||
service_name: ceilometer_agent_notification
|
||||
monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerNotification}
|
||||
config_settings:
|
||||
get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
map_merge:
|
||||
- get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
- ceilometer::agent::notification::manage_event_pipeline: {get_param: ManageEventPipeline}
|
||||
ceilometer::agent::notification::manage_pipeline: {get_param: ManagePipeline}
|
||||
tripleo::profile::base::ceilometer::agent::notification::notifier_enabled: {get_param: CeilometerQdrPublishMetrics}
|
||||
tripleo::profile::base::ceilometer::agent::notification::notifier_events_enabled: {get_param: CeilometerQdrPublishEvents}
|
||||
tripleo::profile::base::ceilometer::agent::notification::pipeline_publishers: {get_param: PipelinePublishers}
|
||||
tripleo::profile::base::ceilometer::agent::notification::event_pipeline_publishers: {get_param: EventPipelinePublishers}
|
||||
tripleo::profile::base::ceilometer::agent::notification::notifier_params: {get_param: CeilometerQdrMetricsConfig}
|
||||
tripleo::profile::base::ceilometer::agent::notification::notifier_event_params: {get_param: CeilometerQdrEventsConfig}
|
||||
- if: #Ceilometer connection to qdr
|
||||
- ceilometer_qdr_publish
|
||||
- tripleo::profile::base::ceilometer::agent::notification::notifier_host_addr:
|
||||
str_replace:
|
||||
template:
|
||||
"%{hiera('$NETWORK')}"
|
||||
params:
|
||||
$NETWORK: {get_param: [ServiceNetMap, MetricsQdrNetwork]}
|
||||
tripleo::profile::base::ceilometer::agent::notification::notifier_host_port: {get_param: MetricsQdrPort}
|
||||
- {}
|
||||
service_config_settings:
|
||||
map_merge:
|
||||
- get_attr: [CeilometerServiceBase, role_data, service_config_settings]
|
||||
|
|
|
@ -50,40 +50,6 @@ parameters:
|
|||
default: ''
|
||||
description: Address prefix for Notification addresses
|
||||
type: string
|
||||
MetricsQdrPort:
|
||||
default: '5666'
|
||||
description: Service name or port number on which the qdrouterd will accept
|
||||
connections. This argument must be string, even if the numeric
|
||||
form is used.
|
||||
type: string
|
||||
ManageEventPipeline:
|
||||
default: true
|
||||
description: Whether to manage event_pipeline.yaml.
|
||||
type: boolean
|
||||
EventPipelinePublishers:
|
||||
default: ['gnocchi://', '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://']
|
||||
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
|
||||
CeilometerQdrPublish:
|
||||
default: false
|
||||
description: Whether to send telemetry data to Qdr.
|
||||
type: boolean
|
||||
ManagePolling:
|
||||
default: false
|
||||
description: Whether to manage polling.yaml.
|
||||
|
@ -179,8 +145,6 @@ outputs:
|
|||
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::manage_pipeline: {get_param: ManagePipeline}
|
||||
ceilometer::agent::polling::manage_polling: {get_param: ManagePolling}
|
||||
ceilometer::agent::auth::auth_region: {get_param: KeystoneRegion}
|
||||
ceilometer::agent::auth::auth_tenant_name: 'service'
|
||||
|
@ -203,18 +167,6 @@ outputs:
|
|||
ceilometer::snmpd_readonly_username: {get_param: SnmpdReadonlyUserName}
|
||||
ceilometer::snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
|
||||
ceilometer::host: "%{hiera('fqdn_canonical')}"
|
||||
tripleo::profile::base::ceilometer::event_pipeline_publishers: {get_param: EventPipelinePublishers}
|
||||
tripleo::profile::base::ceilometer::pipeline_publishers: {get_param: PipelinePublishers}
|
||||
- if: #Ceilometer connection to qdr
|
||||
- ceilometer_qdr_publish
|
||||
- tripleo::profile::base::ceilometer::notifier_host_addr:
|
||||
str_replace:
|
||||
template:
|
||||
"%{hiera('$NETWORK')}"
|
||||
params:
|
||||
$NETWORK: {get_param: [ServiceNetMap, MetricsQdrNetwork]}
|
||||
tripleo::profile::base::ceilometer::notifier_host_port: {get_param: MetricsQdrPort}
|
||||
- {}
|
||||
service_config_settings:
|
||||
keystone:
|
||||
ceilometer_auth_enabled: true
|
||||
|
|
Loading…
Reference in New Issue