diff --git a/deployment/ceilometer/ceilometer-base-container-puppet.yaml b/deployment/ceilometer/ceilometer-base-container-puppet.yaml index 3e45640dd4..f72fd9806b 100644 --- a/deployment/ceilometer/ceilometer-base-container-puppet.yaml +++ b/deployment/ceilometer/ceilometer-base-container-puppet.yaml @@ -38,6 +38,20 @@ parameters: description: The password for the ceilometer service account. type: string hidden: true + AmqpRpcAddressPrefix: + default: '' + description: Address prefix for RPC addresses + type: string + AmqpNotifyAddressPrefix: + 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. @@ -62,6 +76,10 @@ parameters: 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. @@ -131,6 +149,7 @@ parameter_groups: conditions: service_debug_unset: {equals : [{get_param: CeilometerDebug}, '']} + ceilometer_qdr_publish: {equals: [{get_param: CeilometerQdrPublish}, true]} outputs: role_data: @@ -138,35 +157,48 @@ outputs: value: service_name: ceilometer_base config_settings: - ceilometer::logging::debug: - if: - - service_debug_unset - - {get_param: Debug } - - {get_param: CeilometerDebug } - ceilometer::keystone::authtoken::project_name: 'service' - ceilometer::keystone::authtoken::user_domain_name: 'Default' - ceilometer::keystone::authtoken::project_domain_name: 'Default' - ceilometer::keystone::authtoken::password: {get_param: CeilometerPassword} - ceilometer::keystone::authtoken::www_authenticate_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] } - ceilometer::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] } - 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::event_pipeline_publishers: {get_param: EventPipelinePublishers} - ceilometer::agent::notification::manage_pipeline: {get_param: ManagePipeline} - ceilometer::agent::notification::pipeline_publishers: {get_param: PipelinePublishers} - ceilometer::agent::polling::manage_polling: {get_param: ManagePolling} - ceilometer::agent::auth::auth_region: {get_param: KeystoneRegion} - ceilometer::agent::auth::auth_tenant_name: 'service' - ceilometer::agent::auth::auth_user_domain_name: 'Default' - ceilometer::agent::auth::auth_project_domain_name: 'Default' - ceilometer::agent::auth::auth_endpoint_type: 'internalURL' - ceilometer::notification_driver: {get_param: NotificationDriver} - ceilometer::telemetry_secret: {get_param: CeilometerMeteringSecret} - ceilometer::snmpd_readonly_username: {get_param: SnmpdReadonlyUserName} - ceilometer::snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} - ceilometer::host: "%{hiera('fqdn_canonical')}" + map_merge: + - ceilometer::logging::debug: + if: + - service_debug_unset + - {get_param: Debug } + - {get_param: CeilometerDebug } + ceilometer::keystone::authtoken::project_name: 'service' + ceilometer::keystone::authtoken::user_domain_name: 'Default' + ceilometer::keystone::authtoken::project_domain_name: 'Default' + ceilometer::keystone::authtoken::password: {get_param: CeilometerPassword} + ceilometer::keystone::authtoken::www_authenticate_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] } + ceilometer::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] } + 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' + ceilometer::agent::auth::auth_user_domain_name: 'Default' + ceilometer::agent::auth::auth_project_domain_name: 'Default' + ceilometer::agent::auth::auth_endpoint_type: 'internalURL' + ceilometer::notification_driver: {get_param: NotificationDriver} + ceilometer::amqp_rpc_address_prefix: {get_param: AmqpRpcAddressPrefix} + ceilometer::amqp_notify_address_prefix: {get_param: AmqpNotifyAddressPrefix} + ceilometer::telemetry_secret: {get_param: CeilometerMeteringSecret} + 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 diff --git a/deployment/metrics/qdr-container-puppet.yaml b/deployment/metrics/qdr-container-puppet.yaml index fa94ae9e5c..41dc50e3b1 100644 --- a/deployment/metrics/qdr-container-puppet.yaml +++ b/deployment/metrics/qdr-container-puppet.yaml @@ -65,14 +65,26 @@ parameters: default: [] description: Connectors configuration (array of hashes). type: json + MetricsQdrSSLProfiles: + default: [] + description: SSL Profiles for the connectors (array of hashes). + type: json MetricsQdrAddresses: default: - prefix: 'collectd/notify' distribution: multicast - prefix: 'collectd/telemetry' distribution: multicast + - prefix: 'ceilometer/metering.sample' + distribution: multicast + - prefix: 'ceilometer/event.sample' + distribution: multicast description: Addresses configuration (array of hashes). type: json + MetricsQdrAutoLinks: + default: [] + description: AutoLinks for the Configured Addresses + type: json MetricsQdrUseSSL: default: false description: Set to true if it is required to use SSL or TLS on @@ -147,6 +159,7 @@ outputs: tripleo::profile::base::metrics::qdr::password: {get_param: MetricsQdrPassword} tripleo::profile::base::metrics::qdr::connectors: {get_param: MetricsQdrConnectors} tripleo::profile::base::metrics::qdr::addresses: {get_param: MetricsQdrAddresses} + tripleo::profile::base::metrics::qdr::autolink_addresses: {get_param: MetricsQdrAutoLinks} # ssl support tripleo::profile::base::metrics::qdr::listener_require_ssl: {get_param: MetricsQdrUseSSL} tripleo::profile::base::metrics::qdr::listener_require_encrypt: {get_param: MetricsQdrUseEncryption} @@ -157,6 +170,7 @@ outputs: tripleo::profile::base::metrics::qdr::listener_ssl_pw_file: {get_param: MetricsQdrSslPwFile} tripleo::profile::base::metrics::qdr::listener_ssl_password: {get_param: MetricsQdrSslPassword} tripleo::profile::base::metrics::qdr::listener_trusted_certs: {get_param: MetricsQdrTrustedCerts} + tripleo::profile::base::metrics::qdr::ssl_profiles: {get_param: MetricsQdrSSLProfiles} qdr::log_enable: 'info+' qdr::log_output: '/var/log/qdrouterd/metrics-qdr.log' # BEGIN DOCKER SETTINGS diff --git a/environments/metrics-collectd-qdr.yaml b/environments/metrics-collectd-qdr.yaml index 92cb90148d..47fe781f29 100644 --- a/environments/metrics-collectd-qdr.yaml +++ b/environments/metrics-collectd-qdr.yaml @@ -1,5 +1,5 @@ ## This environment servers the purpose of enabling collectd to send metrics -## through mesh of QPID dispatch routers. Each ovecloud node will have one local +## through mesh of QPID dispatch routers. Each overcloud node will have one local ## qdrouterd service running and collectd will send data to it. @@ -9,6 +9,7 @@ resource_registry: parameter_defaults: + CeilometerQdrPublish: true CollectdConnectionType: amqp1 CollectdAmqpInstances: notify: