Add SQLAlchemy-collectd support

The SQLAlchemy-collectd plugin is now shipped in podman
containers under Kolla, this allows heat templates
to pull the plugin into the collectd configuration when
the collectd templates are being used.

A corresponding change in puppet-tripleo under the same change-id
adds support to enable the plugin on the puppet side.

The feature can be enabled for an overcloud by adding:

    EnableSQLAlchemyCollectd: true

to the heat configuration while also including one of the
collectd templates from environments/metrics.

The implementation requires that Openstack services which make
use of SQLAlchemy include directives for the plugin within
the SQLAlchemy URL, so this incurs a change in all templates
that include a MySQL database URL.

Change-Id: If598da717653a383a2d3b3373c56517f8bca832f
This commit is contained in:
Mike Bayer 2019-07-17 15:30:00 -04:00
parent b893b65929
commit 4bee12fea1
21 changed files with 412 additions and 44 deletions

View File

@ -48,6 +48,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
KeystoneRegion:
type: string
default: 'regionOne'
@ -59,6 +64,7 @@ parameters:
conditions:
service_debug_unset: {equals : [{get_param: AodhDebug}, '']}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
outputs:
role_data:
@ -75,8 +81,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /aodh
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: aodh
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
aodh::logging::debug:
if:
- service_debug_unset

View File

@ -34,6 +34,11 @@ parameters:
DefaultPasswords:
default: {}
type: json
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
RoleName:
default: ''
description: Role name on which the service is applied
@ -154,6 +159,7 @@ conditions:
- atos_hsm_enabled
pkcs11_plugin_enabled: {equals: [{get_param: BarbicanPkcs11CryptoEnabled}, true]}
pkcs11_rewrap_pkeks: {equals: [{get_param: BarbicanPkcs11CryptoRewrapKeys}, true]}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -227,8 +233,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /barbican
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: barbican
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
tripleo::barbican_api::firewall_rules:
'117 barbican':
dport:

View File

@ -22,6 +22,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
ServiceData:
default: {}
description: Dictionary packing service data
@ -100,6 +105,7 @@ parameters:
conditions:
service_debug_unset: {equals : [{get_param: CinderDebug}, '']}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
outputs:
role_data:
@ -115,8 +121,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /cinder
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: cinder
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
cinder::logging::debug:
if:
- service_debug_unset

View File

@ -33,6 +33,11 @@ parameters:
DefaultPasswords:
default: {}
type: json
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
RoleName:
default: ''
description: Role name on which the service is applied
@ -85,6 +90,7 @@ conditions:
nova_workers_zero: {equals : [{get_param: Ec2ApiWorkers}, 0]}
external_network_unset: {equals : [{get_param: Ec2ApiExternalNetwork}, '']}
use_tls_proxy: {equals: [{get_param: EnableInternalTLS}, true]}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -152,8 +158,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /ec2_api
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: ec2_api
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
ec2api::api::keystone_ec2_tokens_url:
list_join:
- ''

View File

@ -28,6 +28,11 @@ parameters:
DefaultPasswords:
default: {}
type: json
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
RoleName:
default: ''
description: Role name on which the service is applied
@ -53,6 +58,7 @@ parameters:
conditions:
designate_workers_zero: {equals : [{get_param: DesignateWorkers}, 0]}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -90,8 +96,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /designate
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: designate
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
-
if:
- designate_workers_zero

View File

@ -28,6 +28,11 @@ parameters:
DefaultPasswords:
default: {}
type: json
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
RoleName:
default: ''
description: Role name on which the service is applied
@ -50,6 +55,7 @@ parameters:
conditions:
designate_workers_zero: {equals : [{get_param: DesignateWorkers}, 0]}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -86,8 +92,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /designate
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: designate_mdns
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
tripleo::designate_mdns::firewall_rules:
'142 designate_mdns udp':
proto: 'udp'

View File

@ -40,6 +40,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
GlancePassword:
description: The password for the glance service and db account, used by the glance services.
type: string
@ -259,6 +264,7 @@ conditions:
- equals:
- get_param: NovaEnableRbdBackend
- true
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -300,8 +306,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /glance
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: glance
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
glance::api::bind_port: {get_param: [EndpointMap, GlanceInternal, port]}
glance::api::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
glance::api::authtoken::auth_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }

View File

@ -71,6 +71,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
GnocchiStorageSwiftEndpointType:
default: 'internalURL'
description: Set to modify which endpoint type is gnocchi accessing swift
@ -105,6 +110,7 @@ parameters:
conditions:
service_debug_unset: {equals : [{get_param: GnocchiDebug}, '']}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
outputs:
aux_parameters:
@ -131,8 +137,19 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /gnocchi
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: gnochhi
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
gnocchi::db::sync::extra_opts:
str_replace:
template: " --sacks-number NUM_SACKS"

View File

@ -54,6 +54,11 @@ parameters:
default: true
description: |
Whether to create cron job for purging soft deleted rows in the Heat database.
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
HeatWorkers:
default: 0
description: Number of workers for Heat service.
@ -104,6 +109,7 @@ parameters:
conditions:
heat_workers_unset: {equals : [{get_param: HeatWorkers}, 0]}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -162,8 +168,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /heat
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: heat
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
heat::keystone_ec2_uri:
list_join:
- ''

View File

@ -40,6 +40,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
IronicDefaultResourceClass:
default: ''
description: Default resource class to use for new nodes.
@ -60,6 +65,7 @@ conditions:
service_debug_unset: {equals : [{get_param: IronicDebug}, '']}
default_rsc_unset: {equals : [{get_param: IronicDefaultResourceClass}, '']}
rpc_transport_unset: {equals : [{get_param: IronicRpcTransport}, '']}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
outputs:
role_data:
@ -77,8 +83,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /ironic
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: ironic
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
ironic::logging::debug:
if:
- service_debug_unset

View File

@ -51,6 +51,11 @@ parameters:
default: false
description: Set to True to enable debugging on all services.
type: boolean
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
IronicInspectorDiscoveryDefaultDriver:
default: 'ipmi'
description: |
@ -161,6 +166,7 @@ conditions:
ironic_inspection_subnets_not_set: {equals : [{get_param: IronicInspectorSubnets}, {}]}
enable_architecture_ppc64le: {contains: ['ppc64le', {get_param: AdditionalArchitectures}]}
ipa_images: {not: {equals: [{get_param: IPAImageURLs}, []]}}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -265,8 +271,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /ironic-inspector
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: ironic_inspector
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
-
if:
- enable_architecture_ppc64le

View File

@ -82,6 +82,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
AdminEmail:
default: 'admin@example.com'
description: The email for the keystone admin account.
@ -336,6 +341,7 @@ conditions:
keystone_federation_enabled: {equals: [{get_param: KeystoneFederationEnable}, True]}
keystone_openidc_enabled: {equals: [{get_param: KeystoneOpenIdcEnable}, True]}
service_debug_unset: {equals : [{get_param: KeystoneDebug}, '']}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
# Security compliance
change_password_upon_first_use_set: {not: {equals: [{get_param: KeystoneChangePasswordUponFirstUse}, '']}}
@ -372,8 +378,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /keystone
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: keystone
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
keystone::token_expiration: {get_param: TokenExpiration}
keystone::admin_token: {get_param: AdminToken}
keystone::admin_password: {get_param: AdminPassword}

View File

@ -44,6 +44,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
ManilaPassword:
description: The password for the manila service account.
type: string
@ -56,6 +61,7 @@ parameters:
conditions:
service_debug_unset: {equals : [{get_param: ManilaDebug}, '']}
manila_ipv6: {equals : [{get_param: ManilaIPv6}, true]}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
outputs:
role_data:
@ -79,8 +85,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /manila
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: manila
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
manila::network::neutron::network_plugin_ipv6_enabled: {get_param: ManilaIPv6}
# Currently the address family parameters are mutually exclusive
manila::network::neutron::network_plugin_ipv4_enabled: {if: ["manila_ipv6", false, true]}

View File

@ -235,6 +235,21 @@ parameters:
type: number
description: Minimum number of values Gnocchi should batch.
default: 10
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
CollectdSQLAlchemyLogMessages:
type: string
description: set to "debug" to enable message logging.
default: 'info'
CollectdSQLAlchemyBindHost:
type: string
description: >
hostname for SQLAlchemy-collectd plugin to bind on. defaults
to localhost.
default: 'localhost'
CollectdAmqpHost:
type: string
description: Hostname or IP address of the AMQP 1.0 intermediary.
@ -381,6 +396,8 @@ conditions:
- equals: [{get_param: CollectdGnocchiKeystoneEndpoint}, nil]
enable_sensubility:
equals: [{get_param: CollectdEnableSensubility}, true]
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
ContainersCommon:
@ -464,6 +481,16 @@ outputs:
tripleo::profile::base::metrics::collectd::collectd_securitylevel:
get_param: CollectdSecurityLevel
- {}
- if:
- enable_sqlalchemy_collectd
- map_merge:
- tripleo::profile::base::metrics::collectd::enable_sqlalchemy_collectd:
true
- tripleo::profile::base::metrics::collectd::sqlalchemy_collectd_bind_host:
get_param: CollectdSQLAlchemyBindHost
- tripleo::profile::base::metrics::collectd::sqlalchemy_collectd_log_messages:
get_param: CollectdSQLAlchemyLogMessages
- {}
- if: # Collectd connected directly to Gnocchi DB
- gnocchi_connection
- map_merge:

View File

@ -41,6 +41,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
MistralPassword:
description: The password for the Mistral service and db account, used by the Mistral services.
type: string
@ -56,6 +61,7 @@ parameters:
conditions:
service_debug_unset: {equals : [{get_param: MistralDebug}, '']}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
outputs:
role_data:
@ -71,8 +77,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /mistral
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: mistral
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
mistral::notification_driver: {get_param: NotificationDriver}
mistral::debug:
if:

View File

@ -98,6 +98,11 @@ parameters:
EnableInternalTLS:
type: boolean
default: false
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
NeutronApiPolicies:
description: |
A hash of policies to configure for Neutron API.
@ -178,6 +183,7 @@ conditions:
az_unset: {equals: [{get_param: NeutronDefaultAvailabilityZones}, '']}
omit_az_configs: {or: [is_ovn_in_neutron_mechanism_driver, az_unset]}
ovn_and_tls: {and: [is_ovn_in_neutron_mechanism_driver, internal_tls_enabled]}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -232,8 +238,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /ovs_neutron
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: ovs_neutron
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
neutron::policy::policies: {get_param: NeutronApiPolicies}
neutron::keystone::authtoken::www_authenticate_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
neutron::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }

View File

@ -77,6 +77,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
EnableConfigPurge:
type: boolean
default: false
@ -232,6 +237,7 @@ conditions:
compute_upgrade_level_empty: {equals : [{get_param: UpgradeLevelNovaCompute}, '']}
service_debug_unset: {equals : [{get_param: NovaDebug}, '']}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -280,8 +286,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlCellInternal, host]}
path: /nova
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: nova
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
nova::cell0_database_connection:
make_url:
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
@ -290,8 +306,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /nova_cell0
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: nova_cell0
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
nova::api_database_connection:
make_url:
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
@ -300,8 +326,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /nova_api
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: nova_api
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
nova::logging::debug:
if:
- service_debug_unset

View File

@ -40,6 +40,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
EnableConfigPurge:
type: boolean
default: false
@ -149,6 +154,7 @@ conditions:
octavia_ca_cert_unset: {equals: [{get_param: OctaviaCaCert}, '']}
octavia_ca_key_unset: {equals: [{get_param: OctaviaCaKey}, '']}
octavia_topology_unset: {equals : [{get_param: OctaviaLoadBalancerTopology}, ""]}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
outputs:
role_data:
@ -172,8 +178,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /octavia
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: octavia
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
octavia::service_auth::auth_url: {get_param: [EndpointMap, KeystoneV3Internal, uri]}
octavia::service_auth::auth_type: 'password'
octavia::service_auth::username: {get_param: OctaviaUserName}

View File

@ -28,6 +28,11 @@ parameters:
DefaultPasswords:
default: {}
type: json
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
RoleName:
default: ''
description: Role name on which the service is applied
@ -72,6 +77,7 @@ parameters:
conditions:
placement_workers_zero: {equals : [{get_param: PlacementWorkers}, 0]}
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -141,8 +147,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /placement
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: placement_api
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
-
if:
- placement_workers_zero

View File

@ -44,6 +44,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
SaharaPlugins:
default: ["ambari","cdh","mapr","vanilla","spark","storm"]
description: Sahara enabled plugin list
@ -61,6 +66,7 @@ parameters:
conditions:
service_debug_unset: {equals : [{get_param: SaharaDebug}, '']}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
outputs:
role_data:
@ -76,8 +82,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /sahara
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: sahara
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
sahara::notify::notification_driver: {get_param: NotificationDriver}
sahara::debug:
if:

View File

@ -46,6 +46,11 @@ parameters:
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
ZaqarPassword:
description: The password for Zaqar
type: string
@ -87,6 +92,7 @@ conditions:
zaqar_workers_zero: {equals : [{get_param: ZaqarWorkers}, 0]}
zaqar_messaging_store_swift: {equals : [{get_param: ZaqarMessageStore}, 'swift']}
zaqar_messaging_store_redis: {equals : [{get_param: ZaqarMessageStore}, 'redis']}
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
resources:
@ -187,8 +193,18 @@ outputs:
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /zaqar
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
if:
- enable_sqlalchemy_collectd
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
plugin: collectd
collectd_program_name: zaqar
collectd_host: localhost
-
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
- {}
-
if: