163 lines
6.7 KiB
YAML
163 lines
6.7 KiB
YAML
heat_template_version: queens
|
|
|
|
description: >
|
|
OpenStack Ceilometer Notification Agent 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
|
|
MonitoringSubscriptionCeilometerNotification:
|
|
default: 'overcloud-ceilometer-agent-notification'
|
|
type: string
|
|
CeilometerAgentNotificationLoggingSource:
|
|
type: json
|
|
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:
|
|
type: ./ceilometer-base.yaml
|
|
properties:
|
|
ServiceData: {get_param: ServiceData}
|
|
ServiceNetMap: {get_param: ServiceNetMap}
|
|
DefaultPasswords: {get_param: DefaultPasswords}
|
|
EndpointMap: {get_param: EndpointMap}
|
|
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.
|
|
value:
|
|
service_name: ceilometer_agent_notification
|
|
monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerNotification}
|
|
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]
|
|
- fluentd:
|
|
tripleo_fluentd_groups_ceilometer_agent_notification:
|
|
- ceilometer
|
|
tripleo_fluentd_sources_ceilometer_agent_notification:
|
|
- {get_param: CeilometerAgentNotificationLoggingSource}
|
|
step_config: |
|
|
include ::tripleo::profile::base::ceilometer::agent::notification
|
|
upgrade_tasks:
|
|
- name: Check if ceilometer_agent_notification is deployed
|
|
command: systemctl is-enabled openstack-ceilometer-notification
|
|
tags: common
|
|
ignore_errors: True
|
|
register: ceilometer_agent_notification_enabled
|
|
- name: "PreUpgrade step0,validation: Check service openstack-ceilometer-notification is running"
|
|
shell: /usr/bin/systemctl show 'openstack-ceilometer-notification' --property ActiveState | grep '\bactive\b'
|
|
when:
|
|
- step|int == 0
|
|
- ceilometer_agent_notification_enabled.rc == 0
|
|
tags: validation
|
|
- name: Stop ceilometer_agent_notification service
|
|
when:
|
|
- step|int == 1
|
|
- ceilometer_agent_notification_enabled.rc == 0
|
|
service: name=openstack-ceilometer-notification state=stopped
|