Split QDR environment from collectd

This patch splits QDR configuration from shared environment files which enables
flexibility to either run in edge mode only or in mesh mode.

It also adds separate environment file for ceilometer and dynamic listener
configuration for storage nodes for cases when storage nodes are not connected
to internal network (which is a case for CephStorage nodes by default).

Change-Id: I6b5af0b5afcdec75fe239385922dc84fbbb8288c
This commit is contained in:
Martin Magr 2019-11-12 11:32:31 +01:00
parent 755c708a3f
commit 7ed8ab86dd
4 changed files with 72 additions and 14 deletions

View File

@ -0,0 +1,11 @@
## This environment serves the purpose of enabling ceilometer to send telemetry and notification data
## through QPID dispatch routers.
resource_registry:
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
parameter_defaults:
CeilometerQdrPublish: true

View File

@ -1,15 +1,10 @@
## This environment servers the purpose of enabling collectd to send metrics
## through mesh of QPID dispatch routers. Each overcloud node will have one local
## qdrouterd service running and collectd will send data to it.
## This environment serves the purpose of enabling collectd to send telemetry and notification data
## through QPID dispatch routers.
resource_registry:
OS::TripleO::Services::Collectd: ../../deployment/metrics/collectd-container-puppet.yaml
OS::TripleO::Services::MetricsQdr: ../../deployment/metrics/qdr-container-puppet.yaml
parameter_defaults:
CeilometerQdrPublish: true
CollectdConnectionType: amqp1
CollectdAmqpInstances:
notify:
@ -19,10 +14,9 @@ parameter_defaults:
telemetry:
format: JSON
presettle: true
#MetricsQdrConnectors:
# - host: IP1
# port: 1234
# role: inter-router
# - host: IP2
# port: 5678
# role: inter-router
BlockStorageExtraConfig:
tripleo::profile::base::metrics::collectd::amqp_host: "hiera(hiera('block_storage_hostname_resolve_network'))"
CephStorageExtraConfig:
tripleo::profile::base::metrics::collectd::amqp_host: "hiera(hiera('ceph_storage_hostname_resolve_network'))"
ObjectStorageExtraConfig:
tripleo::profile::base::metrics::collectd::amqp_host: "hiera(hiera('object_storage_hostname_resolve_network'))"

View File

@ -0,0 +1,26 @@
## This environment serves the purpose of enabling deployment of QPID dispatch routers (aka QDR).
## Each overcloud node will have one local qdrouterd service running and operating in edge mode,
## eg. sending received data straight to defined MetricsQdrConnectors
resource_registry:
OS::TripleO::Services::MetricsQdr: ../../deployment/metrics/qdr-container-puppet.yaml
parameter_defaults:
ExtraConfig:
tripleo::profile::base::metrics::qdr::interior_mesh_nodes: []
tripleo::profile::base::metrics::qdr::router_mode: edge
BlockStorageExtraConfig:
tripleo::profile::base::metrics::qdr::listener_addr: "hiera(hiera('block_storage_hostname_resolve_network'))"
CephStorageExtraConfig:
tripleo::profile::base::metrics::qdr::listener_addr: "hiera(hiera('ceph_storage_hostname_resolve_network'))"
ObjectStorageExtraConfig:
tripleo::profile::base::metrics::qdr::listener_addr: "hiera(hiera('object_storage_hostname_resolve_network'))"
#MetricsQdrConnectors:
# - host: qdr-normal-sa-telemetry.apps.remote.tld
# port: 443
# role: inter-router
# sslProfile: sslProfile
# verifyHostname: false
#MetricsQdrSSLProfiles:
# - name: sslProfile

View File

@ -0,0 +1,27 @@
## This environment serves the purpose of enabling deployment of QPID dispatch routers (aka QDR).
## Each overcloud node will have one local qdrouterd service running and forming a mesh topology,
## eg. QDRs running on controllers will operate in interior router mode, with connections to defined MetricsQdrConnectors
## and QDRs running on other node types will connect in edge mode to the interior routers running on the controllers.
resource_registry:
OS::TripleO::Services::MetricsQdr: ../../deployment/metrics/qdr-container-puppet.yaml
parameter_defaults:
ControllerExtraConfig:
tripleo::profile::base::metrics::qdr::router_mode: interior
BlockStorageExtraConfig:
tripleo::profile::base::metrics::qdr::listener_addr: "hiera(hiera('block_storage_hostname_resolve_network'))"
CephStorageExtraConfig:
tripleo::profile::base::metrics::qdr::listener_addr: "hiera(hiera('ceph_storage_hostname_resolve_network'))"
ObjectStorageExtraConfig:
tripleo::profile::base::metrics::qdr::listener_addr: "hiera(hiera('object_storage_hostname_resolve_network'))"
#MetricsQdrConnectors:
# - host: qdr-normal-sa-telemetry.apps.remote.tld
# port: 443
# role: inter-router
# sslProfile: sslProfile
# verifyHostname: false
#MetricsQdrSSLProfiles:
# - name: sslProfile