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