4bee12fea1
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
127 lines
4.7 KiB
YAML
127 lines
4.7 KiB
YAML
heat_template_version: rocky
|
|
|
|
description: >
|
|
Openstack Mistral base service. Shared for all Mistral services.
|
|
|
|
parameters:
|
|
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
|
|
|
|
Debug:
|
|
default: false
|
|
description: Set to True to enable debugging on all services.
|
|
type: boolean
|
|
MistralDebug:
|
|
default: ''
|
|
description: Set to True to enable debugging Mistral services.
|
|
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
|
|
hidden: true
|
|
KeystoneRegion:
|
|
type: string
|
|
default: 'regionOne'
|
|
description: Keystone region for endpoint
|
|
NotificationDriver:
|
|
type: string
|
|
default: 'messagingv2'
|
|
description: Driver or drivers to handle sending notifications.
|
|
|
|
conditions:
|
|
service_debug_unset: {equals : [{get_param: MistralDebug}, '']}
|
|
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Shared role data for the Mistral services.
|
|
value:
|
|
service_name: mistral_base
|
|
config_settings:
|
|
mistral::database_connection:
|
|
make_url:
|
|
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
|
|
username: mistral
|
|
password: {get_param: MistralPassword}
|
|
host: {get_param: [EndpointMap, MysqlInternal, host]}
|
|
path: /mistral
|
|
query:
|
|
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:
|
|
- service_debug_unset
|
|
- {get_param: Debug }
|
|
- {get_param: MistralDebug }
|
|
mistral::rpc_response_timeout: 120
|
|
mistral::keystone::authtoken::project_name: 'service'
|
|
mistral::keystone::authtoken::user_domain_name: 'Default'
|
|
mistral::keystone::authtoken::project_domain_name: 'Default'
|
|
mistral::keystone::authtoken::password: {get_param: MistralPassword}
|
|
mistral::keystone::authtoken::www_authenticate_uri: {get_param: [EndpointMap, KeystoneV3Internal, uri]}
|
|
mistral::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneV3Internal, uri]}
|
|
mistral::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
|
|
mistral::keystone_ec2_uri:
|
|
list_join:
|
|
- ''
|
|
- - {get_param: [EndpointMap, KeystoneV3Internal, uri]}
|
|
- '/ec2tokens'
|
|
service_config_settings:
|
|
keystone:
|
|
mistral::keystone::auth::tenant: 'service'
|
|
mistral::keystone::auth::public_url: {get_param: [EndpointMap, MistralPublic, uri]}
|
|
mistral::keystone::auth::internal_url: {get_param: [EndpointMap, MistralInternal, uri]}
|
|
mistral::keystone::auth::admin_url: {get_param: [EndpointMap, MistralAdmin, uri]}
|
|
mistral::keystone::auth::password: {get_param: MistralPassword}
|
|
mistral::keystone::auth::region: {get_param: KeystoneRegion}
|
|
mysql:
|
|
mistral::db::mysql::user: mistral
|
|
mistral::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
|
|
mistral::db::mysql::dbname: mistral
|
|
mistral::db::mysql::password: {get_param: MistralPassword}
|
|
mistral::db::mysql::allowed_hosts:
|
|
- '%'
|
|
- "%{hiera('mysql_bind_host')}"
|