Browse Source

Merge "Enable configuration of notifier publishers"

tags/12.1.0^0
Zuul 1 week ago
parent
commit
0599bc2f12
4 changed files with 86 additions and 52 deletions
  1. +8
    -1
      ci/environments/scenario001-multinode-containers.yaml
  2. +2
    -1
      ci/environments/scenario001-standalone.yaml
  3. +76
    -2
      deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml
  4. +0
    -48
      deployment/ceilometer/ceilometer-base-container-puppet.yaml

+ 8
- 1
ci/environments/scenario001-multinode-containers.yaml View File

@@ -5,6 +5,10 @@ resource_registry:
OS::TripleO::Services::CephMon: ../../deployment/ceph-ansible/ceph-mon.yaml
OS::TripleO::Services::CephOSD: ../../deployment/ceph-ansible/ceph-osd.yaml
OS::TripleO::Services::CephClient: ../../deployment/ceph-ansible/ceph-client.yaml
OS::TripleO::Services::CeilometerAgentCentral: ../../deployment/ceilometer/ceilometer-agent-central-container-puppet.yaml
OS::TripleO::Services::CeilometerAgentNotification: ../../deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml
OS::TripleO::Services::CeilometerAgentIpmi: ../../deployment/ceilometer/ceilometer-agent-ipmi-container-puppet.yaml
OS::TripleO::Services::ComputeCeilometerAgent: ../../deployment/ceilometer/ceilometer-agent-compute-container-puppet.yaml
OS::TripleO::Services::Collectd: ../../deployment/metrics/collectd-container-puppet.yaml
OS::TripleO::Services::MetricsQdr: ../../deployment/metrics/qdr-container-puppet.yaml
OS::TripleO::Services::OsloMessagingRpc: ../../deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml
@@ -101,7 +105,8 @@ parameter_defaults:
# telemetry.alarm_granularity must in sync with the archive policy, 60s
# too.
ceilometer::agent::polling::polling_interval: 15
tripleo::profile::base::metrics::qdr::router_mode: interior
# NOTE(mmagr): uncomment when QDR mesh will actually work (followup on review.opendev.org/702754)
#tripleo::profile::base::metrics::qdr::router_mode: interior
ManagePolling: true
ManagePipeline: true
CeilometerEnableGnocchi: true
@@ -109,6 +114,8 @@ parameter_defaults:
- gnocchi://?archive_policy=ceilometer-high-rate
EventPipelinePublishers:
- gnocchi://?archive_policy=ceilometer-high-rate
CeilometerQdrPublishEvents: true
ManageEventPipeline: true

Debug: true
DockerPuppetDebug: True

+ 2
- 1
ci/environments/scenario001-standalone.yaml View File

@@ -52,7 +52,8 @@ parameter_defaults:
- gnocchi://?archive_policy=ceilometer-high-rate
EventPipelinePublishers:
- gnocchi://?archive_policy=ceilometer-high-rate

CeilometerQdrPublishEvents: true
ManageEventPipeline: true

Debug: true
# fetch dir needed for standalone

+ 76
- 2
deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml View File

@@ -44,9 +44,58 @@ parameters:
MonitoringSubscriptionCeilometerNotification:
default: 'overcloud-ceilometer-agent-notification'
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
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: []
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:

ContainersCommon:
type: ../containers-common.yaml

@@ -60,6 +109,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 Agent Notification role.
@@ -67,7 +122,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]

+ 0
- 48
deployment/ceilometer/ceilometer-base-container-puppet.yaml View File

@@ -46,40 +46,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: []
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
CeilometerQdrPublish:
default: false
description: Whether to send telemetry data to Qdr.
type: boolean
ManagePolling:
default: false
description: Whether to manage polling.yaml.
@@ -150,8 +116,6 @@ outputs:
ceilometer::keystone::authtoken::region_name: {get_param: KeystoneRegion}
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'
@@ -165,18 +129,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:
# Enable default notification queue

Loading…
Cancel
Save