From ed9797c9a8f6260c3626224cc1139d611955323c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20M=C3=A1gr?= Date: Tue, 5 Jun 2018 10:59:23 +0200 Subject: [PATCH] QDR for metrics collection purposes This patch adds composable new service (QDR) for containerized deployments. Metrics QDR will run on each overcloud node in 'edge' mode. This basically means that there is a possibility that there will be two QDRs running on controllers in case that oslo messaging is deployed. This is a reason why we need separate composable service for this use case. Partial-Bug: #1822054 Depends-On: If9e3658d304c3071f53ecb1c42796d2603875fcd Depends-On: I73f988d05840eca44949f13f248f86d094a57c46 Change-Id: I1353020f874b348afd98e7ed3832033f85a5267f (cherry picked from commit b76d7623ac15c94f80fbbc1a5701331147fee52d) --- .../scenario001-multinode-containers.yaml | 4 +- docker/services/{ => metrics}/collectd.yaml | 4 +- docker/services/metrics/qdr.yaml | 220 ++++++++++++++++++ environments/hyperconverged-ceph.yaml | 1 + environments/metrics/collectd-standalone.yaml | 2 +- environments/services/collectd.yaml | 2 +- network/service_net_map.j2.yaml | 1 + overcloud-resource-registry-puppet.j2.yaml | 1 + .../notes/metrics-qdr-97c00cc8059963fa.yaml | 9 + roles/BlockStorage.yaml | 1 + roles/CephAll.yaml | 1 + roles/CephFile.yaml | 1 + roles/CephObject.yaml | 1 + roles/CephStorage.yaml | 1 + roles/Compute.yaml | 1 + roles/ComputeDVR.yaml | 1 + roles/ComputeHCI.yaml | 1 + roles/ComputeHCIOvsDpdk.yaml | 1 + roles/ComputeInstanceHA.yaml | 1 + roles/ComputeLiquidio.yaml | 1 + roles/ComputeOvsDpdk.yaml | 1 + roles/ComputeOvsDpdkRT.yaml | 1 + roles/ComputeOvsDpdkSriov.yaml | 1 + roles/ComputeRealTime.yaml | 1 + roles/ComputeSriov.yaml | 1 + roles/ComputeSriovRT.yaml | 1 + roles/Controller.yaml | 1 + roles/ControllerAllNovaStandalone.yaml | 1 + roles/ControllerNoCeph.yaml | 1 + roles/ControllerNovaStandalone.yaml | 1 + roles/ControllerOpenstack.yaml | 1 + roles/ControllerStorageNfs.yaml | 1 + roles/Database.yaml | 1 + roles/HciCephAll.yaml | 1 + roles/HciCephFile.yaml | 1 + roles/HciCephMon.yaml | 1 + roles/HciCephObject.yaml | 1 + roles/IronicConductor.yaml | 1 + roles/Messaging.yaml | 2 +- roles/Networker.yaml | 1 + roles/Novacontrol.yaml | 1 + roles/ObjectStorage.yaml | 1 + roles/Telemetry.yaml | 1 + roles_data.yaml | 5 + tools/yaml-validate.py | 4 +- 45 files changed, 281 insertions(+), 7 deletions(-) rename docker/services/{ => metrics}/collectd.yaml (98%) create mode 100644 docker/services/metrics/qdr.yaml create mode 100644 releasenotes/notes/metrics-qdr-97c00cc8059963fa.yaml diff --git a/ci/environments/scenario001-multinode-containers.yaml b/ci/environments/scenario001-multinode-containers.yaml index 2777f3f754..8ce2ee89c0 100644 --- a/ci/environments/scenario001-multinode-containers.yaml +++ b/ci/environments/scenario001-multinode-containers.yaml @@ -6,7 +6,8 @@ resource_registry: 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::PankoApi: ../../docker/services/panko-api.yaml - OS::TripleO::Services::Collectd: ../../docker/services/collectd.yaml + OS::TripleO::Services::Collectd: ../../docker/services/metrics/collectd.yaml + OS::TripleO::Services::MetricsQdr: ../../docker/services/metrics/qdr.yaml OS::TripleO::Services::RabbitMQ: ../../docker/services/pacemaker/rabbitmq.yaml OS::TripleO::Services::HAproxy: ../../docker/services/pacemaker/haproxy.yaml OS::TripleO::Services::Pacemaker: ../../puppet/services/pacemaker.yaml @@ -86,6 +87,7 @@ parameter_defaults: - OS::TripleO::Services::CinderScheduler - OS::TripleO::Services::CinderVolume - OS::TripleO::Services::Collectd + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::Fluentd diff --git a/docker/services/collectd.yaml b/docker/services/metrics/collectd.yaml similarity index 98% rename from docker/services/collectd.yaml rename to docker/services/metrics/collectd.yaml index 4c8b17b41f..b9219a184c 100644 --- a/docker/services/collectd.yaml +++ b/docker/services/metrics/collectd.yaml @@ -44,10 +44,10 @@ parameters: resources: ContainersCommon: - type: ./containers-common.yaml + type: ../containers-common.yaml CollectdBase: - type: ../../puppet/services/metrics/collectd.yaml + type: ../../../puppet/services/metrics/collectd.yaml properties: EndpointMap: {get_param: EndpointMap} ServiceData: {get_param: ServiceData} diff --git a/docker/services/metrics/qdr.yaml b/docker/services/metrics/qdr.yaml new file mode 100644 index 0000000000..291e4403c2 --- /dev/null +++ b/docker/services/metrics/qdr.yaml @@ -0,0 +1,220 @@ +heat_template_version: queens + +description: > + Qpid dispatch router service for metrics and monitoring purposes + +parameters: + DockerMetricsQdrImage: + description: image + type: string + DockerMetricsQdrConfigImage: + description: The container image to use for the qdrouterd config_volume + type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + RoleName: + default: '' + description: Role name on which the service is applied + type: string + RoleParameters: + default: {} + description: Parameters specific to the role + type: json + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + MonitoringSubscriptionQdr: + default: 'overcloud-qdr' + type: string + MetricsQdrLoggingSource: + type: json + default: + tag: openstack.nova.consoleauth + path: /var/log/qdrouterd/metrics-qdr.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 + MetricsQdrUsername: + default: 'guest' + description: Username which should be used to authenticate to the deployed + qdrouterd. + type: string + MetricsQdrPassword: + default: 'guest' + description: Password which should be used to authenticate to the deployed + qdrouterd. + type: string + hidden: true + MetricsQdrConnectors: + default: [] + description: Connectors configuration (array of hashes). + type: json + MetricsQdrAddresses: + default: + - prefix: 'collectd/notify' + distribution: multicast + - prefix: 'collectd/telemetry' + distribution: multicast + description: Addresses configuration (array of hashes). + type: json + MetricsQdrUseSSL: + default: false + description: Set to true if it is required to use SSL or TLS on + the connection for listener. + type: boolean + MetricsQdrUseEncryption: + default: false + description: Set to true if it is required to encrypt connection to the peer + for listener. + type: boolean + MetricsQdrSaslMechanisms: + default: 'ANONYMOUS' + description: List of accepted SASL auth mechanisms for listener in format + of comma separated list. + type: string + MetricsQdrSslCertDb: + default: '' + description: Path to SSL certificate db for listener. + type: string + MetricsQdrSslCertFile: + default: '' + description: Path to SSL certificate file for listener. + type: string + MetricsQdrSslKeyFile: + default: '' + description: Path to SSL private key file for listener. + type: string + MetricsQdrSslPwFile: + default: '' + description: Path to SSL password file for certificate key for listener. + type: string + MetricsQdrSslPassword: + default: '' + description: SSL password to be supplied for listener. + type: string + MetricsQdrTrustedCerts: + default: '' + description: Path to file containing trusted certificates for listener. + type: string + + +resources: + ContainersCommon: + type: ../containers-common.yaml + + +outputs: + role_data: + description: Role data for the metrics Qdr role. + value: + service_name: metrics-qdr + monitoring_subscription: {get_param: MonitoringSubscriptionQdr} + service_config_settings: + fluentd: + tripleo_fluentd_groups_metrics_qdr: + - qdr + tripleo_fluentd_sources_metrics_qdr: + - {get_param: MetricsQdrLoggingSource} + config_settings: + tripleo.metrics_qdr.firewall_rules: + '109 metrics qdr': + dport: + - {get_param: MetricsQdrPort} + tripleo::profile::base::metrics::qdr::listener_addr: + str_replace: + template: + "%{hiera('$NETWORK')}" + params: + $NETWORK: {get_param: [ServiceNetMap, MetricsQdrNetwork]} + 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} + tripleo::profile::base::metrics::qdr::connectors: {get_param: MetricsQdrConnectors} + tripleo::profile::base::metrics::qdr::addresses: {get_param: MetricsQdrAddresses} + # ssl support + tripleo::profile::base::metrics::qdr::listener_require_ssl: {get_param: MetricsQdrUseSSL} + tripleo::profile::base::metrics::qdr::listener_require_encrypt: {get_param: MetricsQdrUseEncryption} + tripleo::profile::base::metrics::qdr::listener_sasl_mech: {get_param: MetricsQdrSaslMechanisms} + tripleo::profile::base::metrics::qdr::listener_ssl_cert_db: {get_param: MetricsQdrSslCertDb} + tripleo::profile::base::metrics::qdr::listener_ssl_cert_file: {get_param: MetricsQdrSslCertFile} + tripleo::profile::base::metrics::qdr::listener_ssl_key_file: {get_param: MetricsQdrSslKeyFile} + 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} + # BEGIN DOCKER SETTINGS + puppet_config: + config_volume: metrics-qdr + step_config: | + include ::tripleo::profile::base::metrics::qdr + config_image: {get_param: DockerMetricsQdrConfigImage} + kolla_config: + /var/lib/kolla/config_files/metrics-qdr.json: + command: /usr/sbin/qdrouterd -c /etc/qpid-dispatch/qdrouterd.conf + config_files: + - source: "/var/lib/kolla/config_files/src/*" + dest: "/" + merge: true + preserve_properties: true + permissions: + - path: /var/lib/qdrouterd + owner: qdrouterd:qdrouterd + recurse: true + docker_config: + step_1: + metrics_qdr_init_logs: + start_order: 0 + detach: false + image: &qdrouterd_image {get_param: DockerMetricsQdrImage} + privileged: false + user: root + volumes: + - /var/log/containers/metrics-qdr:/var/log/qdrouterd + command: ['/bin/bash', '-c', 'chown -R qdrouterd:qdrouterd /var/log/qdrouterd'] + metrics_qdr: + start_order: 1 + image: *qdrouterd_image + net: host + user: qdrouterd + privileged: false + restart: always + volumes: + list_concat: + - {get_attr: [ContainersCommon, volumes]} + - + - /var/lib/kolla/config_files/metrics-qdr.json:/var/lib/kolla/config_files/config.json:ro + - /var/lib/config-data/puppet-generated/metrics-qdr/:/var/lib/kolla/config_files/src:ro + - /var/lib/metrics-qdr:/var/lib/qdrouterd + - /var/log/containers/metrics-qdr:/var/log/qdrouterd + environment: + - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS + host_prep_tasks: + - name: create persistent logs directory + file: + path: "{{ item }}" + state: directory + with_items: + - /var/log/containers/metrics-qdr + - /var/lib/metrics-qdr + - name: qrouterd logs readme + copy: + dest: /var/log/qrouterd/readme-metrics.txt + content: | + Log files from metrics qrouterd containers can be found under + /var/log/containers/metrics-qdr. + ignore_errors: true diff --git a/environments/hyperconverged-ceph.yaml b/environments/hyperconverged-ceph.yaml index 79908d151b..5a5c6758f4 100644 --- a/environments/hyperconverged-ceph.yaml +++ b/environments/hyperconverged-ceph.yaml @@ -47,6 +47,7 @@ parameter_defaults: - OS::TripleO::Services::Ipsec - OS::TripleO::Services::AuditD - OS::TripleO::Services::Collectd + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::CephOSD - OS::TripleO::Services::Vpp - OS::TripleO::Services::NeutronVppAgent diff --git a/environments/metrics/collectd-standalone.yaml b/environments/metrics/collectd-standalone.yaml index b221b666d3..b22a1db95c 100644 --- a/environments/metrics/collectd-standalone.yaml +++ b/environments/metrics/collectd-standalone.yaml @@ -1,5 +1,5 @@ resource_registry: - OS::TripleO::Services::Collectd: ../docker/services/collectd.yaml + OS::TripleO::Services::Collectd: ../docker/services/metrics/collectd.yaml # parameter_defaults: # diff --git a/environments/services/collectd.yaml b/environments/services/collectd.yaml index 1623a888c6..1be33d9957 100644 --- a/environments/services/collectd.yaml +++ b/environments/services/collectd.yaml @@ -1,2 +1,2 @@ resource_registry: - OS::TripleO::Services::Collectd: ../../docker/services/collectd.yaml + OS::TripleO::Services::Collectd: ../../docker/services/metrics/collectd.yaml diff --git a/network/service_net_map.j2.yaml b/network/service_net_map.j2.yaml index 7db75534ac..5abcbf449b 100644 --- a/network/service_net_map.j2.yaml +++ b/network/service_net_map.j2.yaml @@ -42,6 +42,7 @@ parameters: KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints KeystonePublicApiNetwork: internal_api ManilaApiNetwork: internal_api + MetricsQdrNetwork: internal_api NeutronApiNetwork: internal_api OctaviaApiNetwork: internal_api HeatApiNetwork: internal_api diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index 77e813602a..4a142f748d 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -292,6 +292,7 @@ resource_registry: OS::TripleO::Services::UndercloudAodhListener: OS::Heat::None OS::TripleO::Services::PankoApi: docker/services/panko-api.yaml OS::TripleO::Services::UndercloudPankoApi: OS::Heat::None + OS::TripleO::Services::MetricsQdr: OS::Heat::None OS::TripleO::Services::MistralEngine: OS::Heat::None OS::TripleO::Services::MistralApi: OS::Heat::None OS::TripleO::Services::MistralExecutor: OS::Heat::None diff --git a/releasenotes/notes/metrics-qdr-97c00cc8059963fa.yaml b/releasenotes/notes/metrics-qdr-97c00cc8059963fa.yaml new file mode 100644 index 0000000000..18d51ee31b --- /dev/null +++ b/releasenotes/notes/metrics-qdr-97c00cc8059963fa.yaml @@ -0,0 +1,9 @@ +--- + +features: + - | + Added new composable service (QDR) for containerized deployments. Metrics + QDR will run on each overcloud node in 'edge' mode. This basically means + that there is a possibility there will be two QDRs running on controllers + in case that oslo messaging is deployed. This is a reason why we need + separate composable service for this use case. diff --git a/roles/BlockStorage.yaml b/roles/BlockStorage.yaml index b49c529313..ce3fe7b0c8 100644 --- a/roles/BlockStorage.yaml +++ b/roles/BlockStorage.yaml @@ -25,6 +25,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond diff --git a/roles/CephAll.yaml b/roles/CephAll.yaml index 0d11581df5..47aa9b1d83 100644 --- a/roles/CephAll.yaml +++ b/roles/CephAll.yaml @@ -27,6 +27,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond diff --git a/roles/CephFile.yaml b/roles/CephFile.yaml index 61a01f9fa8..94fb003b0d 100644 --- a/roles/CephFile.yaml +++ b/roles/CephFile.yaml @@ -23,6 +23,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond diff --git a/roles/CephObject.yaml b/roles/CephObject.yaml index 033c55bda4..7919658436 100644 --- a/roles/CephObject.yaml +++ b/roles/CephObject.yaml @@ -23,6 +23,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond diff --git a/roles/CephStorage.yaml b/roles/CephStorage.yaml index 149db44c9c..9d7bbe098e 100644 --- a/roles/CephStorage.yaml +++ b/roles/CephStorage.yaml @@ -22,6 +22,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond diff --git a/roles/Compute.yaml b/roles/Compute.yaml index 77d04c9d71..ed7c2cd836 100644 --- a/roles/Compute.yaml +++ b/roles/Compute.yaml @@ -43,6 +43,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent diff --git a/roles/ComputeDVR.yaml b/roles/ComputeDVR.yaml index fa7101886d..f5db9712ad 100644 --- a/roles/ComputeDVR.yaml +++ b/roles/ComputeDVR.yaml @@ -33,6 +33,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent diff --git a/roles/ComputeHCI.yaml b/roles/ComputeHCI.yaml index 66da58c9aa..27dc40d3eb 100644 --- a/roles/ComputeHCI.yaml +++ b/roles/ComputeHCI.yaml @@ -33,6 +33,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent diff --git a/roles/ComputeHCIOvsDpdk.yaml b/roles/ComputeHCIOvsDpdk.yaml index 21198647ce..afed59f6e3 100644 --- a/roles/ComputeHCIOvsDpdk.yaml +++ b/roles/ComputeHCIOvsDpdk.yaml @@ -39,6 +39,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NovaCompute diff --git a/roles/ComputeInstanceHA.yaml b/roles/ComputeInstanceHA.yaml index 8c90ef998a..1c5206a642 100644 --- a/roles/ComputeInstanceHA.yaml +++ b/roles/ComputeInstanceHA.yaml @@ -34,6 +34,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent diff --git a/roles/ComputeLiquidio.yaml b/roles/ComputeLiquidio.yaml index c70da5a9a6..9afa5c5826 100644 --- a/roles/ComputeLiquidio.yaml +++ b/roles/ComputeLiquidio.yaml @@ -34,6 +34,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent diff --git a/roles/ComputeOvsDpdk.yaml b/roles/ComputeOvsDpdk.yaml index 6c09a20f12..d3637a3963 100644 --- a/roles/ComputeOvsDpdk.yaml +++ b/roles/ComputeOvsDpdk.yaml @@ -38,6 +38,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NovaCompute diff --git a/roles/ComputeOvsDpdkRT.yaml b/roles/ComputeOvsDpdkRT.yaml index 174bffd9af..3de1b3c77a 100644 --- a/roles/ComputeOvsDpdkRT.yaml +++ b/roles/ComputeOvsDpdkRT.yaml @@ -38,6 +38,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NovaCompute diff --git a/roles/ComputeOvsDpdkSriov.yaml b/roles/ComputeOvsDpdkSriov.yaml index 2c5051697f..ee42ed941a 100644 --- a/roles/ComputeOvsDpdkSriov.yaml +++ b/roles/ComputeOvsDpdkSriov.yaml @@ -35,6 +35,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronSriovAgent diff --git a/roles/ComputeRealTime.yaml b/roles/ComputeRealTime.yaml index c800be1c51..9406f75c78 100644 --- a/roles/ComputeRealTime.yaml +++ b/roles/ComputeRealTime.yaml @@ -41,6 +41,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent diff --git a/roles/ComputeSriov.yaml b/roles/ComputeSriov.yaml index a4367de9d8..99cf770358 100644 --- a/roles/ComputeSriov.yaml +++ b/roles/ComputeSriov.yaml @@ -34,6 +34,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronSriovAgent diff --git a/roles/ComputeSriovRT.yaml b/roles/ComputeSriovRT.yaml index 17446db808..d8545ba6bf 100644 --- a/roles/ComputeSriovRT.yaml +++ b/roles/ComputeSriovRT.yaml @@ -35,6 +35,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronSriovAgent diff --git a/roles/Controller.yaml b/roles/Controller.yaml index c593d05480..1ab99f2614 100644 --- a/roles/Controller.yaml +++ b/roles/Controller.yaml @@ -105,6 +105,7 @@ - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MistralApi - OS::TripleO::Services::MistralEngine - OS::TripleO::Services::MistralExecutor diff --git a/roles/ControllerAllNovaStandalone.yaml b/roles/ControllerAllNovaStandalone.yaml index 45ecc20d2c..1f5a2f95f3 100644 --- a/roles/ControllerAllNovaStandalone.yaml +++ b/roles/ControllerAllNovaStandalone.yaml @@ -44,6 +44,7 @@ - OS::TripleO::Services::CinderScheduler - OS::TripleO::Services::CinderVolume - OS::TripleO::Services::Collectd + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::Congress - OS::TripleO::Services::Docker - OS::TripleO::Services::Etcd diff --git a/roles/ControllerNoCeph.yaml b/roles/ControllerNoCeph.yaml index 7efad7df96..79a8e59840 100644 --- a/roles/ControllerNoCeph.yaml +++ b/roles/ControllerNoCeph.yaml @@ -98,6 +98,7 @@ - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MistralApi - OS::TripleO::Services::MistralEngine - OS::TripleO::Services::MistralExecutor diff --git a/roles/ControllerNovaStandalone.yaml b/roles/ControllerNovaStandalone.yaml index a0a17a2597..72a460254c 100644 --- a/roles/ControllerNovaStandalone.yaml +++ b/roles/ControllerNovaStandalone.yaml @@ -89,6 +89,7 @@ - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MistralApi - OS::TripleO::Services::MistralEngine - OS::TripleO::Services::MistralExecutor diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml index c20c2fe4ae..87e57c9531 100644 --- a/roles/ControllerOpenstack.yaml +++ b/roles/ControllerOpenstack.yaml @@ -83,6 +83,7 @@ - OS::TripleO::Services::ManilaBackendVMAX - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::Memcached - OS::TripleO::Services::MistralApi - OS::TripleO::Services::MistralEngine diff --git a/roles/ControllerStorageNfs.yaml b/roles/ControllerStorageNfs.yaml index d699b794aa..6f4f83a400 100644 --- a/roles/ControllerStorageNfs.yaml +++ b/roles/ControllerStorageNfs.yaml @@ -102,6 +102,7 @@ - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MongoDb - OS::TripleO::Services::MySQL - OS::TripleO::Services::MySQLClient diff --git a/roles/Database.yaml b/roles/Database.yaml index 82ed1d97e0..9ff0c701fe 100644 --- a/roles/Database.yaml +++ b/roles/Database.yaml @@ -20,6 +20,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQL - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp diff --git a/roles/HciCephAll.yaml b/roles/HciCephAll.yaml index e2a8028726..acc25d72db 100644 --- a/roles/HciCephAll.yaml +++ b/roles/HciCephAll.yaml @@ -39,6 +39,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent diff --git a/roles/HciCephFile.yaml b/roles/HciCephFile.yaml index 558243579e..ff59d61443 100644 --- a/roles/HciCephFile.yaml +++ b/roles/HciCephFile.yaml @@ -35,6 +35,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent diff --git a/roles/HciCephMon.yaml b/roles/HciCephMon.yaml index c765e48e8a..b013e5adf7 100644 --- a/roles/HciCephMon.yaml +++ b/roles/HciCephMon.yaml @@ -36,6 +36,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent diff --git a/roles/HciCephObject.yaml b/roles/HciCephObject.yaml index ff595d097a..51301050bc 100644 --- a/roles/HciCephObject.yaml +++ b/roles/HciCephObject.yaml @@ -35,6 +35,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent diff --git a/roles/IronicConductor.yaml b/roles/IronicConductor.yaml index 28e23b7c61..6f6024c34d 100644 --- a/roles/IronicConductor.yaml +++ b/roles/IronicConductor.yaml @@ -22,6 +22,7 @@ - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond diff --git a/roles/Messaging.yaml b/roles/Messaging.yaml index f8b10cb183..ade225f56d 100644 --- a/roles/Messaging.yaml +++ b/roles/Messaging.yaml @@ -19,6 +19,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::Pacemaker @@ -30,4 +31,3 @@ - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned - diff --git a/roles/Networker.yaml b/roles/Networker.yaml index 854cda20bb..cff88b044a 100644 --- a/roles/Networker.yaml +++ b/roles/Networker.yaml @@ -20,6 +20,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronL2gwAgent diff --git a/roles/Novacontrol.yaml b/roles/Novacontrol.yaml index efe40d2e1e..dc08c3d437 100644 --- a/roles/Novacontrol.yaml +++ b/roles/Novacontrol.yaml @@ -19,6 +19,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NovaApi - OS::TripleO::Services::NovaConductor diff --git a/roles/ObjectStorage.yaml b/roles/ObjectStorage.yaml index 8695f315a6..d5a2f2cc32 100644 --- a/roles/ObjectStorage.yaml +++ b/roles/ObjectStorage.yaml @@ -29,6 +29,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond diff --git a/roles/Telemetry.yaml b/roles/Telemetry.yaml index d1af23b3e3..901f710726 100644 --- a/roles/Telemetry.yaml +++ b/roles/Telemetry.yaml @@ -32,6 +32,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::Pacemaker diff --git a/roles_data.yaml b/roles_data.yaml index fe2b800ad6..21aeb54831 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -108,6 +108,7 @@ - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MistralApi - OS::TripleO::Services::MistralEngine - OS::TripleO::Services::MistralExecutor @@ -221,6 +222,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent @@ -273,6 +275,7 @@ - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond @@ -318,6 +321,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond @@ -358,6 +362,7 @@ - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond diff --git a/tools/yaml-validate.py b/tools/yaml-validate.py index 07294fec1a..e99548bc40 100755 --- a/tools/yaml-validate.py +++ b/tools/yaml-validate.py @@ -53,7 +53,8 @@ OPTIONAL_DOCKER_SECTIONS = ['docker_puppet_tasks', 'upgrade_tasks', 'kolla_config', 'global_config_settings', 'logging_source', 'logging_groups', 'external_deploy_tasks', 'external_post_deploy_tasks', - 'docker_config_scripts', 'step_config'] + 'docker_config_scripts', 'step_config', + 'monitoring_subscription'] # ansible tasks cannot be an empty dict or ansible is unhappy ANSIBLE_TASKS_SECTIONS = ['upgrade_tasks', 'pre_upgrade_rolling_tasks', 'fast_forward_upgrade_tasks', @@ -155,6 +156,7 @@ PARAMETER_DEFINITION_EXCLUSIONS = {'CephPools': ['description', PREFERRED_CAMEL_CASE = { 'ec2api': 'Ec2Api', 'haproxy': 'HAProxy', + 'metrics-qdr': 'MetricsQdr' } # Overrides for docker/puppet validation