diff --git a/docker/services/metrics/qdr.yaml b/docker/services/metrics/qdr.yaml index 2b29c13b60..0a0ff84b5d 100644 --- a/docker/services/metrics/qdr.yaml +++ b/docker/services/metrics/qdr.yaml @@ -153,7 +153,13 @@ outputs: template: "%{hiera('$NETWORK')}" params: - $NETWORK: {get_param: [ServiceNetMap, MetricsQdrNetwork]} + $NETWORK: + get_param: + - ServiceNetMap + - str_replace: + template: "ROLENAMEMetricsQdrNetwork" + params: + ROLENAME: {get_param: RoleName} tripleo::profile::base::metrics::qdr::listener_port: {get_param: MetricsQdrPort} tripleo::profile::base::metrics::qdr::username: {get_param: MetricsQdrUsername} tripleo::profile::base::metrics::qdr::password: {get_param: MetricsQdrPassword} diff --git a/network/service_net_map.j2.yaml b/network/service_net_map.j2.yaml index d6673e5a92..1770dc57e8 100644 --- a/network/service_net_map.j2.yaml +++ b/network/service_net_map.j2.yaml @@ -50,7 +50,6 @@ parameters: KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints KeystonePublicApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} ManilaApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} - MetricsQdrNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} NeutronApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} OctaviaApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} HeatApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} @@ -96,6 +95,14 @@ parameters: {%- for role in roles if not role.name.startswith('Ceph') %} {{role.name}}HostnameResolveNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} {%- endfor %} + # special-case for MetricsQdrNetwork, which will vary depending on role +{%- for role in roles if role.name == 'CephStorage' or role.name == 'BlockStorage' or role.name == 'ObjectStorage' %} + {{role.name}}MetricsQdrNetwork: {{ _service_nets.get('storage', 'ctlplane') }} +{%- endfor %} +{%- for role in roles if role.name != 'CephStorage' and role.name != 'BlockStorage' and role.name != 'ObjectStorage' %} + {{role.name}}MetricsQdrNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} +{%- endfor %} + description: Mapping of service_name -> network name. Typically set via parameter_defaults in the resource registry. type: json diff --git a/puppet/services/ceilometer-agent-notification.yaml b/puppet/services/ceilometer-agent-notification.yaml index 7a8db287d9..a7950fb57b 100644 --- a/puppet/services/ceilometer-agent-notification.yaml +++ b/puppet/services/ceilometer-agent-notification.yaml @@ -130,7 +130,13 @@ outputs: template: "%{hiera('$NETWORK')}" params: - $NETWORK: {get_param: [ServiceNetMap, MetricsQdrNetwork]} + $NETWORK: + get_param: + - ServiceNetMap + - str_replace: + template: "ROLENAMEMetricsQdrNetwork" + params: + ROLENAME: {get_param: RoleName} tripleo::profile::base::ceilometer::agent::notification::notifier_host_port: {get_param: MetricsQdrPort} - {} service_config_settings: diff --git a/puppet/services/metrics/collectd.yaml b/puppet/services/metrics/collectd.yaml index d493588a5a..d01d3a359b 100644 --- a/puppet/services/metrics/collectd.yaml +++ b/puppet/services/metrics/collectd.yaml @@ -338,7 +338,13 @@ outputs: template: "%{hiera('$NETWORK')}" params: - $NETWORK: {get_param: [ServiceNetMap, MetricsQdrNetwork]} + $NETWORK: + get_param: + - ServiceNetMap + - str_replace: + template: "ROLENAMEMetricsQdrNetwork" + params: + ROLENAME: {get_param: RoleName} tripleo::profile::base::metrics::collectd::amqp_port: get_param: MetricsQdrPort tripleo::profile::base::metrics::collectd::amqp_user: