Generate MySQL client config if service requires database
Services that access database have to read an extra MySQL configuration file /etc/my.cnf.d/tripleo.cnf which holds client-only settings, like client bind address and SSL configuration. The configuration file is thus used by containerized services, but also by non-containerized services that still run on the host. In order to generate that client configuration file appropriately both on the host and for containers, 1) the MySQLClient service must be included by the role; 2) every containerized service which uses the database must include the mysql::client profile in the docker-puppet config generation step. By including the mysql::client profile in each containerized service, we ensure that any change in configuration file will be reflected in the service's /var/lib/config-data/{service}, and that paunch will restart the service's container automatically. We now only rely on MySQLClient from puppet/services, to make it possible to generate /etc/my.cnf.d/tripleo.cnf on the host, and to set the hiera keys that drive the generation of that config file in containers via docker-puppet. We include a new YAML validation step to ensure that any service which depends on MySQL will initialize the mysql::client profile during the docker-puppet step. Change-Id: I0dab1dc9caef1e749f1c42cfefeba179caebc8d7
This commit is contained in:
parent
017f8b9b47
commit
0cb45d65c6
docker/services
aodh-api.yamlaodh-evaluator.yamlaodh-listener.yamlaodh-notifier.yamlcinder-api.yamlcinder-backup.yamlcinder-scheduler.yamlcinder-volume.yamlcongress.yaml
database
ec2-api.yamlglance-api.yamlgnocchi-metricd.yamlgnocchi-statsd.yamlheat-engine.yamlironic-api.yamlironic-conductor.yamlkeystone.yamlmanila-api.yamlmanila-scheduler.yamlmanila-share.yamlmistral-api.yamlmistral-engine.yamlmistral-executor.yamlneutron-api.yamlnova-api.yamlnova-compute.yamlnova-conductor.yamlnova-consoleauth.yamlnova-ironic.yamlnova-libvirt.yamlnova-placement.yamlnova-scheduler.yamlnova-vnc-proxy.yamloctavia-api.yamlpacemaker
panko-api.yamlsahara-api.yamlsahara-engine.yamltacker.yamlzaqar.yamlenvironments
tools
@ -49,6 +49,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
AodhApiPuppetBase:
|
||||
type: ../../puppet/services/aodh-api.yaml
|
||||
properties:
|
||||
@ -68,7 +71,10 @@ outputs:
|
||||
- get_attr: [AodhApiPuppetBase, role_data, config_settings]
|
||||
- apache::default_vhost: false
|
||||
step_config: &step_config
|
||||
get_attr: [AodhApiPuppetBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [AodhApiPuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [AodhApiPuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
AodhEvaluatorBase:
|
||||
type: ../../puppet/services/aodh-evaluator.yaml
|
||||
properties:
|
||||
@ -61,7 +64,10 @@ outputs:
|
||||
map_merge:
|
||||
- get_attr: [AodhEvaluatorBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [AodhEvaluatorBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [AodhEvaluatorBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [AodhEvaluatorBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
AodhListenerBase:
|
||||
type: ../../puppet/services/aodh-listener.yaml
|
||||
properties:
|
||||
@ -61,7 +64,10 @@ outputs:
|
||||
map_merge:
|
||||
- get_attr: [AodhListenerBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [AodhListenerBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [AodhListenerBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [AodhListenerBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
AodhNotifierBase:
|
||||
type: ../../puppet/services/aodh-notifier.yaml
|
||||
properties:
|
||||
@ -61,7 +64,10 @@ outputs:
|
||||
map_merge:
|
||||
- get_attr: [AodhNotifierBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [AodhNotifierBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [AodhNotifierBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [AodhNotifierBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -49,6 +49,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
CinderBase:
|
||||
type: ../../puppet/services/cinder-api.yaml
|
||||
properties:
|
||||
@ -66,7 +69,10 @@ outputs:
|
||||
service_name: {get_attr: [CinderBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [CinderBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [CinderBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [CinderBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [CinderBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -43,6 +43,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
CinderBase:
|
||||
type: ../../puppet/services/cinder-backup.yaml
|
||||
properties:
|
||||
@ -60,7 +63,10 @@ outputs:
|
||||
service_name: {get_attr: [CinderBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [CinderBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [CinderBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [CinderBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [CinderBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -43,6 +43,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
CinderBase:
|
||||
type: ../../puppet/services/cinder-scheduler.yaml
|
||||
properties:
|
||||
@ -60,7 +63,10 @@ outputs:
|
||||
service_name: {get_attr: [CinderBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [CinderBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [CinderBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [CinderBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [CinderBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -51,6 +51,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
CinderBase:
|
||||
type: ../../puppet/services/cinder-volume.yaml
|
||||
properties:
|
||||
@ -75,6 +78,7 @@ outputs:
|
||||
- "\n"
|
||||
- - "include ::tripleo::profile::base::lvm"
|
||||
- get_attr: [CinderBase, role_data, step_config]
|
||||
- get_attr: [MySQLClient, role_data, step_config]
|
||||
service_config_settings: {get_attr: [CinderBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
CongressBase:
|
||||
type: ../../puppet/services/congress.yaml
|
||||
properties:
|
||||
@ -61,7 +64,10 @@ outputs:
|
||||
map_merge:
|
||||
- get_attr: [CongressBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [CongressBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [CongressBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [CongressBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -1,62 +0,0 @@
|
||||
heat_template_version: pike
|
||||
|
||||
description: >
|
||||
Configuration for containerized MySQL clients
|
||||
|
||||
parameters:
|
||||
DockerMysqlClientConfigImage:
|
||||
description: The container image to use for the mysql_client 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
|
||||
EnableInternalTLS:
|
||||
type: boolean
|
||||
default: false
|
||||
InternalTLSCAFile:
|
||||
default: '/etc/ipa/ca.crt'
|
||||
type: string
|
||||
description: Specifies the default CA cert to use if TLS is used for
|
||||
services in the internal network.
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role for setting mysql client parameters
|
||||
value:
|
||||
service_name: mysql_client
|
||||
config_settings:
|
||||
tripleo::profile::base::database::mysql::client::mysql_client_bind_address: {get_param: [ServiceNetMap, MysqlNetwork]}
|
||||
tripleo::profile::base::database::mysql::client::enable_ssl: {get_param: EnableInternalTLS}
|
||||
tripleo::profile::base::database::mysql::client::ssl_ca: {get_param: InternalTLSCAFile}
|
||||
# BEGIN DOCKER SETTINGS #
|
||||
step_config: ""
|
||||
puppet_config:
|
||||
config_volume: mysql_client
|
||||
puppet_tags: file # set this even though file is the default
|
||||
step_config: "include ::tripleo::profile::base::database::mysql::client"
|
||||
config_image: {get_param: DockerMysqlClientConfigImage}
|
||||
# no need for a docker config, this service only generates configuration files
|
||||
docker_config: {}
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
Ec2ApiPuppetBase:
|
||||
type: ../../puppet/services/ec2-api.yaml
|
||||
properties:
|
||||
@ -58,7 +61,10 @@ outputs:
|
||||
service_name: {get_attr: [Ec2ApiPuppetBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [Ec2ApiPuppetBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [Ec2ApiPuppetBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [Ec2ApiPuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [Ec2ApiPuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -50,6 +50,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
GlanceApiPuppetBase:
|
||||
type: ../../puppet/services/glance-api.yaml
|
||||
properties:
|
||||
@ -70,7 +73,10 @@ outputs:
|
||||
- get_attr: [GlanceApiPuppetBase, role_data, config_settings]
|
||||
- glance::api::sync_db: false
|
||||
step_config: &step_config
|
||||
get_attr: [GlanceApiPuppetBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [GlanceApiPuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [GlanceApiPuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS #
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
GnocchiMetricdBase:
|
||||
type: ../../puppet/services/gnocchi-metricd.yaml
|
||||
properties:
|
||||
@ -59,7 +62,10 @@ outputs:
|
||||
service_name: {get_attr: [GnocchiMetricdBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [GnocchiMetricdBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [GnocchiMetricdBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [GnocchiMetricdBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [GnocchiMetricdBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
GnocchiStatsdBase:
|
||||
type: ../../puppet/services/gnocchi-statsd.yaml
|
||||
properties:
|
||||
@ -59,7 +62,10 @@ outputs:
|
||||
service_name: {get_attr: [GnocchiStatsdBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [GnocchiStatsdBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [GnocchiStatsdBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [GnocchiStatsdBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [GnocchiStatsdBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -43,6 +43,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
HeatBase:
|
||||
type: ../../puppet/services/heat-engine.yaml
|
||||
properties:
|
||||
@ -63,7 +66,10 @@ outputs:
|
||||
- get_attr: [HeatBase, role_data, config_settings]
|
||||
- apache::default_vhost: false
|
||||
step_config: &step_config
|
||||
get_attr: [HeatBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [HeatBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [HeatBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
IronicApiBase:
|
||||
type: ../../puppet/services/ironic-api.yaml
|
||||
properties:
|
||||
@ -62,7 +65,10 @@ outputs:
|
||||
- get_attr: [IronicApiBase, role_data, config_settings]
|
||||
- apache::default_vhost: false
|
||||
step_config: &step_config
|
||||
get_attr: [IronicApiBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [IronicApiBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [IronicApiBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
IronicConductorBase:
|
||||
type: ../../puppet/services/ironic-conductor.yaml
|
||||
properties:
|
||||
@ -69,7 +72,10 @@ outputs:
|
||||
- ironic::pxe::http_root: /var/lib/ironic/httpboot
|
||||
- ironic::conductor::http_root: /var/lib/ironic/httpboot
|
||||
step_config: &step_config
|
||||
get_attr: [IronicConductorBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [IronicConductorBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [IronicConductorBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -55,6 +55,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
KeystoneBase:
|
||||
type: ../../puppet/services/keystone.yaml
|
||||
properties:
|
||||
@ -83,6 +86,7 @@ outputs:
|
||||
- "\n"
|
||||
- - "['Keystone_user', 'Keystone_endpoint', 'Keystone_domain', 'Keystone_tenant', 'Keystone_user_role', 'Keystone_role', 'Keystone_service'].each |String $val| { noop_resource($val) }"
|
||||
- {get_attr: [KeystoneBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [KeystoneBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
ManilaApiPuppetBase:
|
||||
type: ../../puppet/services/manila-api.yaml
|
||||
properties:
|
||||
@ -57,7 +60,10 @@ outputs:
|
||||
service_name: {get_attr: [ManilaApiPuppetBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [ManilaApiPuppetBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
{get_attr: [ManilaApiPuppetBase, role_data, step_config]}
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [ManilaApiPuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [ManilaApiPuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS #
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
ManilaSchedulerPuppetBase:
|
||||
type: ../../puppet/services/manila-scheduler.yaml
|
||||
properties:
|
||||
@ -57,7 +60,10 @@ outputs:
|
||||
service_name: {get_attr: [ManilaSchedulerPuppetBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [ManilaSchedulerPuppetBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
{get_attr: [ManilaSchedulerPuppetBase, role_data, step_config]}
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [ManilaSchedulerPuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [ManilaSchedulerPuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS #
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
ManilaBase:
|
||||
type: ../../puppet/services/manila-share.yaml
|
||||
properties:
|
||||
@ -59,7 +62,10 @@ outputs:
|
||||
service_name: {get_attr: [ManilaBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [ManilaBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [ManilaBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [ManilaBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [ManilaBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
MistralApiBase:
|
||||
type: ../../puppet/services/mistral-api.yaml
|
||||
properties:
|
||||
@ -61,7 +64,10 @@ outputs:
|
||||
map_merge:
|
||||
- get_attr: [MistralApiBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [MistralApiBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [MistralApiBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [MistralApiBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -43,6 +43,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
MistralBase:
|
||||
type: ../../puppet/services/mistral-engine.yaml
|
||||
properties:
|
||||
@ -62,7 +65,10 @@ outputs:
|
||||
map_merge:
|
||||
- get_attr: [MistralBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [MistralBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [MistralBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [MistralBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -43,6 +43,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
MistralBase:
|
||||
type: ../../puppet/services/mistral-executor.yaml
|
||||
properties:
|
||||
@ -62,7 +65,10 @@ outputs:
|
||||
map_merge:
|
||||
- get_attr: [MistralBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [MistralBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [MistralBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [MistralBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -49,6 +49,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
NeutronBase:
|
||||
type: ../../puppet/services/neutron-api.yaml
|
||||
properties:
|
||||
@ -68,7 +71,10 @@ outputs:
|
||||
map_merge:
|
||||
- get_attr: [NeutronBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [NeutronBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [NeutronBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [NeutronBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
NovaApiBase:
|
||||
type: ../../puppet/services/nova-api.yaml
|
||||
properties:
|
||||
@ -69,6 +72,7 @@ outputs:
|
||||
- "\n"
|
||||
- - "['Nova_cell_v2'].each |String $val| { noop_resource($val) }"
|
||||
- {get_attr: [NovaApiBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [NovaApiBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -47,6 +47,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
NovaComputeBase:
|
||||
type: ../../puppet/services/nova-compute.yaml
|
||||
properties:
|
||||
@ -66,7 +69,10 @@ outputs:
|
||||
config_settings:
|
||||
get_attr: [NovaComputeBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [NovaComputeBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [NovaComputeBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
puppet_config:
|
||||
config_volume: nova_libvirt
|
||||
puppet_tags: nova_config,nova_paste_api_ini
|
||||
|
@ -43,6 +43,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
NovaConductorBase:
|
||||
type: ../../puppet/services/nova-conductor.yaml
|
||||
properties:
|
||||
@ -60,7 +63,10 @@ outputs:
|
||||
service_name: {get_attr: [NovaConductorBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [NovaConductorBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [NovaConductorBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [NovaConductorBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [NovaConductorBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
NovaConsoleauthPuppetBase:
|
||||
type: ../../puppet/services/nova-consoleauth.yaml
|
||||
properties:
|
||||
@ -59,7 +62,10 @@ outputs:
|
||||
service_name: {get_attr: [NovaConsoleauthPuppetBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [NovaConsoleauthPuppetBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [NovaConsoleauthPuppetBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [NovaConsoleauthPuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [NovaConsoleauthPuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
NovaIronicBase:
|
||||
type: ../../puppet/services/nova-ironic.yaml
|
||||
properties:
|
||||
@ -59,7 +62,10 @@ outputs:
|
||||
service_name: {get_attr: [NovaIronicBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [NovaIronicBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [NovaIronicBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [NovaIronicBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
puppet_config:
|
||||
config_volume: nova
|
||||
puppet_tags: nova_config,nova_paste_api_ini
|
||||
|
@ -74,6 +74,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
NovaLibvirtBase:
|
||||
type: ../../puppet/services/nova-libvirt.yaml
|
||||
properties:
|
||||
@ -93,7 +96,10 @@ outputs:
|
||||
config_settings:
|
||||
get_attr: [NovaLibvirtBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [NovaLibvirtBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [NovaLibvirtBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
puppet_config:
|
||||
config_volume: nova_libvirt
|
||||
puppet_tags: libvirtd_config,nova_config,file,exec
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
NovaPlacementBase:
|
||||
type: ../../puppet/services/nova-placement.yaml
|
||||
properties:
|
||||
@ -62,7 +65,10 @@ outputs:
|
||||
- get_attr: [NovaPlacementBase, role_data, config_settings]
|
||||
- apache::default_vhost: false
|
||||
step_config: &step_config
|
||||
get_attr: [NovaPlacementBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [NovaPlacementBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [NovaPlacementBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
NovaSchedulerBase:
|
||||
type: ../../puppet/services/nova-scheduler.yaml
|
||||
properties:
|
||||
@ -59,7 +62,10 @@ outputs:
|
||||
service_name: {get_attr: [NovaSchedulerBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [NovaSchedulerBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [NovaSchedulerBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [NovaSchedulerBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [NovaSchedulerBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
NovaVncProxyPuppetBase:
|
||||
type: ../../puppet/services/nova-vnc-proxy.yaml
|
||||
properties:
|
||||
@ -59,7 +62,10 @@ outputs:
|
||||
service_name: {get_attr: [NovaVncProxyPuppetBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [NovaVncProxyPuppetBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [NovaVncProxyPuppetBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [NovaVncProxyPuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [NovaVncProxyPuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -50,6 +50,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
OctaviaApiPuppetBase:
|
||||
type: ../../puppet/services/octavia-api.yaml
|
||||
properties:
|
||||
@ -67,7 +70,10 @@ outputs:
|
||||
service_name: {get_attr: [OctaviaApiPuppetBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [OctaviaApiPuppetBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [OctaviaApiPuppetBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [OctaviaApiPuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [OctaviaApiPuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS #
|
||||
puppet_config:
|
||||
|
@ -52,6 +52,9 @@ parameters:
|
||||
|
||||
resources:
|
||||
|
||||
MySQLClient:
|
||||
type: ../../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
CinderBackupBase:
|
||||
type: ../../../puppet/services/cinder-backup.yaml
|
||||
properties:
|
||||
@ -82,7 +85,11 @@ outputs:
|
||||
puppet_config:
|
||||
config_volume: cinder
|
||||
puppet_tags: cinder_config,file,concat,file_line
|
||||
step_config: {get_attr: [CinderBackupBase, role_data, step_config]}
|
||||
step_config:
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [CinderBackupBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
config_image: {get_param: DockerCinderConfigImage}
|
||||
kolla_config:
|
||||
/var/lib/kolla/config_files/cinder_backup.json:
|
||||
|
@ -48,6 +48,9 @@ parameters:
|
||||
|
||||
resources:
|
||||
|
||||
MySQLClient:
|
||||
type: ../../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
CinderBase:
|
||||
type: ../../../puppet/services/cinder-volume.yaml
|
||||
properties:
|
||||
@ -76,7 +79,11 @@ outputs:
|
||||
puppet_config:
|
||||
config_volume: cinder
|
||||
puppet_tags: cinder_config,file,concat,file_line
|
||||
step_config: {get_attr: [CinderBase, role_data, step_config]}
|
||||
step_config:
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [CinderBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
config_image: {get_param: DockerCinderConfigImage}
|
||||
kolla_config:
|
||||
/var/lib/kolla/config_files/cinder_volume.json:
|
||||
|
@ -51,6 +51,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
PankoApiPuppetBase:
|
||||
type: ../../puppet/services/panko-api.yaml
|
||||
properties:
|
||||
@ -71,7 +74,10 @@ outputs:
|
||||
- get_attr: [PankoApiPuppetBase, role_data, config_settings]
|
||||
- apache::default_vhost: false
|
||||
step_config: &step_config
|
||||
get_attr: [PankoApiPuppetBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [PankoApiPuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [PankoApiPuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS #
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
SaharaApiPuppetBase:
|
||||
type: ../../puppet/services/sahara-api.yaml
|
||||
properties:
|
||||
@ -60,7 +63,10 @@ outputs:
|
||||
- get_attr: [SaharaApiPuppetBase, role_data, config_settings]
|
||||
- sahara::sync_db: false
|
||||
step_config: &step_config
|
||||
get_attr: [SaharaApiPuppetBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [SaharaApiPuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [SaharaApiPuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS #
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
SaharaEnginePuppetBase:
|
||||
type: ../../puppet/services/sahara-engine.yaml
|
||||
properties:
|
||||
@ -60,7 +63,10 @@ outputs:
|
||||
- get_attr: [SaharaEnginePuppetBase, role_data, config_settings]
|
||||
- sahara::sync_db: false
|
||||
step_config: &step_config
|
||||
get_attr: [SaharaEnginePuppetBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [SaharaEnginePuppetBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [SaharaEnginePuppetBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS #
|
||||
puppet_config:
|
||||
|
@ -42,6 +42,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
TackerBase:
|
||||
type: ../../puppet/services/tacker.yaml
|
||||
properties:
|
||||
@ -61,7 +64,10 @@ outputs:
|
||||
map_merge:
|
||||
- get_attr: [TackerBase, role_data, config_settings]
|
||||
step_config: &step_config
|
||||
get_attr: [TackerBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [TackerBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [TackerBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -49,6 +49,9 @@ resources:
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
MySQLClient:
|
||||
type: ../../puppet/services/database/mysql-client.yaml
|
||||
|
||||
ZaqarBase:
|
||||
type: ../../puppet/services/zaqar.yaml
|
||||
properties:
|
||||
@ -66,7 +69,10 @@ outputs:
|
||||
service_name: {get_attr: [ZaqarBase, role_data, service_name]}
|
||||
config_settings: {get_attr: [ZaqarBase, role_data, config_settings]}
|
||||
step_config: &step_config
|
||||
get_attr: [ZaqarBase, role_data, step_config]
|
||||
list_join:
|
||||
- "\n"
|
||||
- - {get_attr: [ZaqarBase, role_data, step_config]}
|
||||
- {get_attr: [MySQLClient, role_data, step_config]}
|
||||
service_config_settings: {get_attr: [ZaqarBase, role_data, service_config_settings]}
|
||||
# BEGIN DOCKER SETTINGS
|
||||
puppet_config:
|
||||
|
@ -33,7 +33,6 @@ resource_registry:
|
||||
OS::TripleO::Services::NeutronDhcpAgent: ../docker/services/neutron-dhcp.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: ../docker/services/neutron-l3.yaml
|
||||
OS::TripleO::Services::MySQL: ../docker/services/database/mysql.yaml
|
||||
OS::TripleO::Services::MySQLClient: ../docker/services/database/mysql-client.yaml
|
||||
OS::TripleO::Services::RabbitMQ: ../docker/services/rabbitmq.yaml
|
||||
OS::TripleO::Services::MongoDb: ../docker/services/database/mongodb.yaml
|
||||
OS::TripleO::Services::Redis: ../docker/services/database/redis.yaml
|
||||
|
@ -207,6 +207,22 @@ def validate_hci_computehci_role(hci_role_filename, hci_role_tpl):
|
||||
return 0
|
||||
|
||||
|
||||
def search(item, check_item, check_key):
|
||||
if check_item(item):
|
||||
return True
|
||||
elif isinstance(item, list):
|
||||
for i in item:
|
||||
if search(i, check_item, check_key):
|
||||
return True
|
||||
elif isinstance(item, dict):
|
||||
for k in item.keys():
|
||||
if check_key(k, item[k]):
|
||||
return True
|
||||
elif search(item[k], check_item, check_key):
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def validate_mysql_connection(settings):
|
||||
no_op = lambda *args: False
|
||||
error_status = [0]
|
||||
@ -228,25 +244,69 @@ def validate_mysql_connection(settings):
|
||||
error_status[0] = 1
|
||||
return False
|
||||
|
||||
def search(item, check_item, check_key):
|
||||
if check_item(item):
|
||||
return True
|
||||
elif isinstance(item, list):
|
||||
for i in item:
|
||||
if search(i, check_item, check_key):
|
||||
return True
|
||||
elif isinstance(item, dict):
|
||||
for k in item.keys():
|
||||
if check_key(k, item[k]):
|
||||
return True
|
||||
elif search(item[k], check_item, check_key):
|
||||
return True
|
||||
return False
|
||||
|
||||
search(settings, no_op, validate_mysql_uri)
|
||||
return error_status[0]
|
||||
|
||||
|
||||
def validate_docker_service_mysql_usage(filename, tpl):
|
||||
no_op = lambda *args: False
|
||||
included_res = []
|
||||
|
||||
def match_included_res(item):
|
||||
is_config_setting = isinstance(item, list) and len(item) > 1 and \
|
||||
item[1:] == ['role_data', 'config_settings']
|
||||
if is_config_setting:
|
||||
included_res.append(item[0])
|
||||
return is_config_setting
|
||||
|
||||
def match_use_mysql_protocol(items):
|
||||
return items == ['EndpointMap', 'MysqlInternal', 'protocol']
|
||||
|
||||
all_content = []
|
||||
|
||||
def read_all(incfile, inctpl):
|
||||
# search for included content
|
||||
content = inctpl['outputs']['role_data']['value'].get('config_settings',{})
|
||||
all_content.append(content)
|
||||
included_res[:] = []
|
||||
if search(content, match_included_res, no_op):
|
||||
files = [inctpl['resources'][x]['type'] for x in included_res]
|
||||
# parse included content
|
||||
for r, f in zip(included_res, files):
|
||||
# disregard class names, only consider file names
|
||||
if 'OS::' in f:
|
||||
continue
|
||||
newfile = os.path.normpath(os.path.dirname(incfile)+'/'+f)
|
||||
newtmp = yaml.load(open(newfile).read())
|
||||
read_all(newfile, newtmp)
|
||||
|
||||
read_all(filename, tpl)
|
||||
if search(all_content, match_use_mysql_protocol, no_op):
|
||||
# ensure this service includes the mysqlclient service
|
||||
resources = tpl['resources']
|
||||
mysqlclient = [x for x in resources
|
||||
if resources[x]['type'].endswith('mysql-client.yaml')]
|
||||
if len(mysqlclient) == 0:
|
||||
print("ERROR: containerized service %s uses mysql but "
|
||||
"resource mysql-client.yaml is not used"
|
||||
% filename)
|
||||
return 1
|
||||
|
||||
# and that mysql::client puppet module is included in puppet-config
|
||||
match_mysqlclient = \
|
||||
lambda x: x == [mysqlclient[0], 'role_data', 'step_config']
|
||||
role_data = tpl['outputs']['role_data']
|
||||
puppet_config = role_data['value']['puppet_config']['step_config']
|
||||
if not search(puppet_config, match_mysqlclient, no_op):
|
||||
print("ERROR: containerized service %s uses mysql but "
|
||||
"puppet_config section does not include "
|
||||
"::tripleo::profile::base::database::mysql::client"
|
||||
% filename)
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
def validate_docker_service(filename, tpl):
|
||||
if 'outputs' in tpl and 'role_data' in tpl['outputs']:
|
||||
if 'value' not in tpl['outputs']['role_data']:
|
||||
@ -275,6 +335,10 @@ def validate_docker_service(filename, tpl):
|
||||
return 1
|
||||
|
||||
if 'puppet_config' in role_data:
|
||||
if validate_docker_service_mysql_usage(filename, tpl):
|
||||
print('ERROR: could not validate use of mysql service for %s.'
|
||||
% filename)
|
||||
return 1
|
||||
puppet_config = role_data['puppet_config']
|
||||
for key in puppet_config:
|
||||
if key in REQUIRED_DOCKER_PUPPET_CONFIG_SECTIONS:
|
||||
|
Loading…
x
Reference in New Issue
Block a user