Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Split QDR environment from collectd
Browse files Browse the repository at this point in the history
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
  • Loading branch information
paramite committed Nov 15, 2019
1 parent 755c708 commit 7ed8ab8
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 14 deletions.
11 changes: 11 additions & 0 deletions environments/metrics/ceilometer-write-qdr.yaml
Original file line number Diff line number Diff line change
@@ -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
22 changes: 8 additions & 14 deletions environments/metrics/collectd-write-qdr.yaml
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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'))"
26 changes: 26 additions & 0 deletions environments/metrics/qdr-edge-only.yaml
Original file line number Diff line number Diff line change
@@ -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
27 changes: 27 additions & 0 deletions environments/metrics/qdr-form-controller-mesh.yaml
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 7ed8ab8

Please sign in to comment.