diff --git a/ci/environments/scenario001-multinode-containers.yaml b/ci/environments/scenario001-multinode-containers.yaml index 6a6b665d90..afb0f05d07 100644 --- a/ci/environments/scenario001-multinode-containers.yaml +++ b/ci/environments/scenario001-multinode-containers.yaml @@ -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 diff --git a/puppet/services/ceilometer-agent-notification.yaml b/puppet/services/ceilometer-agent-notification.yaml index 4a23f10342..793faa94b1 100644 --- a/puppet/services/ceilometer-agent-notification.yaml +++ b/puppet/services/ceilometer-agent-notification.yaml @@ -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] diff --git a/puppet/services/ceilometer-base.yaml b/puppet/services/ceilometer-base.yaml index fd7b09063f..94301f95e6 100644 --- a/puppet/services/ceilometer-base.yaml +++ b/puppet/services/ceilometer-base.yaml @@ -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