Merge "Refactor nova db config" into stable/train

This commit is contained in:
Zuul 2021-03-16 06:08:38 +00:00 committed by Gerrit Code Review
commit e30b34a1ce
11 changed files with 322 additions and 106 deletions

View File

@ -160,6 +160,27 @@ resources:
RoleName: {get_param: RoleName} RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters} RoleParameters: {get_param: RoleParameters}
NovaApiDBClient:
type: ./nova-apidb-client-puppet.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
NovaDBClient:
type: ./nova-db-client-puppet.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs: outputs:
role_data: role_data:
description: Role data for the Nova API role. description: Role data for the Nova API role.
@ -183,6 +204,8 @@ outputs:
config_settings: config_settings:
map_merge: map_merge:
- get_attr: [NovaBase, role_data, config_settings] - get_attr: [NovaBase, role_data, config_settings]
- get_attr: [NovaApiDBClient, role_data, config_settings]
- get_attr: [NovaDBClient, role_data, config_settings]
- get_attr: [NovaApiLogging, config_settings] - get_attr: [NovaApiLogging, config_settings]
- apache::default_vhost: false - apache::default_vhost: false
tripleo::nova_api::firewall_rules: tripleo::nova_api::firewall_rules:
@ -247,19 +270,14 @@ outputs:
- {} - {}
service_config_settings: service_config_settings:
rabbitmq: {get_attr: [NovaBase, role_data, service_config_settings], rabbitmq}
mysql:
map_merge:
- get_attr: [NovaApiDBClient, role_data, service_config_settings, mysql]
- get_attr: [NovaDBClient, role_data, service_config_settings, mysql]
rsyslog: rsyslog:
tripleo_logging_sources_nova_api: tripleo_logging_sources_nova_api:
- {get_param: NovaApiLoggingSource} - {get_param: NovaApiLoggingSource}
mysql:
map_merge:
- {get_attr: [NovaBase, role_data, service_config_settings, mysql]}
- nova::db::mysql_api::password: {get_param: NovaPassword}
nova::db::mysql_api::user: nova_api
nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
nova::db::mysql_api::dbname: nova_api
nova::db::mysql_api::allowed_hosts:
- '%'
- "%{hiera('mysql_bind_host')}"
# BEGIN DOCKER SETTINGS # BEGIN DOCKER SETTINGS
puppet_config: puppet_config:
config_volume: nova config_volume: nova

View File

@ -0,0 +1,78 @@
heat_template_version: rocky
description: >
OpenStack Nova database client service.
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
NovaPassword:
description: The password for the nova service and db account
type: string
hidden: true
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
conditions:
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
outputs:
role_data:
description: Role data for the Nova base service.
value:
config_settings:
nova::api_database_connection:
make_url:
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
username: nova_api
password: {get_param: NovaPassword}
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /nova_api
query:
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
service_config_settings:
mysql:
nova::db::mysql_api::password: {get_param: NovaPassword}
nova::db::mysql_api::user: nova_api
nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
nova::db::mysql_api::dbname: nova_api
nova::db::mysql_api::allowed_hosts:
- '%'
- "%{hiera('mysql_bind_host')}"

View File

@ -63,10 +63,6 @@ parameters:
default: 'br-int' default: 'br-int'
description: Name of integration bridge used by Open vSwitch description: Name of integration bridge used by Open vSwitch
type: string type: string
DatabaseSyncTimeout:
default: 300
description: DB Sync Timeout default
type: number
Debug: Debug:
type: boolean type: boolean
default: false default: false
@ -287,36 +283,6 @@ outputs:
nova::placement::region_name: {get_param: KeystoneRegion} nova::placement::region_name: {get_param: KeystoneRegion}
nova::placement::valid_interfaces: {get_param: PlacementAPIInterface} nova::placement::valid_interfaces: {get_param: PlacementAPIInterface}
nova::os_region_name: {get_param: KeystoneRegion} nova::os_region_name: {get_param: KeystoneRegion}
nova::database_connection:
make_url:
scheme: {get_param: [EndpointMap, MysqlCellInternal, protocol]}
username: nova
password: {get_param: NovaPassword}
host: {get_param: [EndpointMap, MysqlCellInternal, host]}
path: /nova
query:
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]}
username: nova
password: {get_param: NovaPassword}
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /nova_cell0
query:
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]}
username: nova_api
password: {get_param: NovaPassword}
host: {get_param: [EndpointMap, MysqlInternal, host]}
path: /nova_api
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
nova::logging::debug: nova::logging::debug:
if: if:
- service_debug_unset - service_debug_unset
@ -338,8 +304,6 @@ outputs:
nova::network::neutron::neutron_auth_type: 'v3password' nova::network::neutron::neutron_auth_type: 'v3password'
nova::db::database_db_max_retries: -1 nova::db::database_db_max_retries: -1
nova::db::database_max_retries: -1 nova::db::database_max_retries: -1
nova::db::sync::db_sync_timeout: {get_param: DatabaseSyncTimeout}
nova::db::sync_api::db_sync_timeout: {get_param: DatabaseSyncTimeout}
nova::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]} nova::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
nova::network::neutron::neutron_ovs_bridge: {get_param: NovaOVSBridge} nova::network::neutron::neutron_ovs_bridge: {get_param: NovaOVSBridge}
nova::cron::archive_deleted_rows::minute: {get_param: NovaCronArchiveDeleteRowsMinute} nova::cron::archive_deleted_rows::minute: {get_param: NovaCronArchiveDeleteRowsMinute}
@ -375,10 +339,3 @@ outputs:
- compute_upgrade_level_empty - compute_upgrade_level_empty
- {} - {}
- nova::upgrade_level_compute: {get_param: UpgradeLevelNovaCompute} - nova::upgrade_level_compute: {get_param: UpgradeLevelNovaCompute}
service_config_settings:
mysql:
# NOTE(aschultz): this should be configurable if/when we support more
# complex cell v2 configurations. For now, this is the default cell
# created for the cell v2 configuration
nova::db::mysql_api::setup_cell0: true
nova::rabbit_use_ssl: {get_param: RpcUseSSL}

View File

@ -522,16 +522,13 @@ resources:
ContainersCommon: ContainersCommon:
type: ../containers-common.yaml type: ../containers-common.yaml
MySQLClient:
type: ../../deployment/database/mysql-client.yaml
NovaComputeCommon: NovaComputeCommon:
type: ./nova-compute-common-container-puppet.yaml type: ./nova-compute-common-container-puppet.yaml
properties: properties:
EndpointMap: {get_param: EndpointMap}
ServiceData: {get_param: ServiceData} ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap} ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords} DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName} RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters} RoleParameters: {get_param: RoleParameters}
@ -878,14 +875,11 @@ outputs:
puppet_config: puppet_config:
config_volume: nova_libvirt config_volume: nova_libvirt
puppet_tags: nova_config,nova_paste_api_ini puppet_tags: nova_config,nova_paste_api_ini
step_config: step_config: |
list_join: # TODO(emilien): figure how to deal with libvirt profile.
- "\n" # We'll probably treat it like we do with Neutron plugins.
- - # TODO(emilien): figure how to deal with libvirt profile. # Until then, just include it in the default nova-compute role.
# We'll probably treat it like we do with Neutron plugins. include tripleo::profile::base::nova::compute::libvirt
# Until then, just include it in the default nova-compute role.
include tripleo::profile::base::nova::compute::libvirt
- {get_attr: [MySQLClient, role_data, step_config]}
config_image: {get_param: ContainerNovaLibvirtConfigImage} config_image: {get_param: ContainerNovaLibvirtConfigImage}
kolla_config: kolla_config:
/var/lib/kolla/config_files/nova_compute.json: /var/lib/kolla/config_files/nova_compute.json:
@ -1011,7 +1005,6 @@ outputs:
list_concat: list_concat:
- {get_attr: [ContainersCommon, volumes]} - {get_attr: [ContainersCommon, volumes]}
- -
- /var/lib/config-data/nova_libvirt/etc/my.cnf.d/:/etc/my.cnf.d/:ro
- /var/lib/config-data/nova_libvirt/etc/nova/:/etc/nova/:ro - /var/lib/config-data/nova_libvirt/etc/nova/:/etc/nova/:ro
- /var/log/containers/nova:/var/log/nova - /var/log/containers/nova:/var/log/nova
- /var/lib/container-config-scripts/:/container-config-scripts/ - /var/lib/container-config-scripts/:/container-config-scripts/

View File

@ -68,10 +68,15 @@ parameters:
type: boolean type: boolean
tags: tags:
- role_specific - role_specific
NovaAdditionalCell:
default: false
description: Whether this is an cell additional to the default cell.
type: boolean
conditions: conditions:
fast_forward_upgrade: {not: {equals: [{get_param: ContainerNovaConductorImageStein},'']}} fast_forward_upgrade: {not: {equals: [{get_param: ContainerNovaConductorImageStein},'']}}
nova_workers_zero: {equals : [{get_param: NovaWorkers}, 0]} nova_workers_zero: {equals : [{get_param: NovaWorkers}, 0]}
is_not_additional_cell: {equals: [{get_param: NovaAdditionalCell}, false]}
resources: resources:
@ -97,6 +102,26 @@ resources:
RoleName: {get_param: RoleName} RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters} RoleParameters: {get_param: RoleParameters}
NovaApiDBClient:
type: ./nova-apidb-client-puppet.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
NovaDBClient:
type: ./nova-db-client-puppet.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
RoleParametersValue: RoleParametersValue:
type: OS::Heat::Value type: OS::Heat::Value
properties: properties:
@ -108,7 +133,6 @@ resources:
- values: {get_param: [RoleParameters]} - values: {get_param: [RoleParameters]}
- values: - values:
NovaEnableNUMALiveMigration: {get_param: NovaEnableNUMALiveMigration} NovaEnableNUMALiveMigration: {get_param: NovaEnableNUMALiveMigration}
outputs: outputs:
role_data: role_data:
description: Role data for the Nova Conductor service. description: Role data for the Nova Conductor service.
@ -119,6 +143,10 @@ outputs:
map_merge: map_merge:
- {get_attr: [NovaBase, role_data, config_settings]} - {get_attr: [NovaBase, role_data, config_settings]}
- {get_attr: [NovaLogging, config_settings]} - {get_attr: [NovaLogging, config_settings]}
# FIXME(owalsh): NovaApiDBClient should be conditional on is_not_additional_cell
# however cell conductor currently requires api db access for affinity checks
- {get_attr: [NovaApiDBClient, role_data, config_settings]}
- {get_attr: [NovaDBClient, role_data, config_settings]}
- {get_attr: [RoleParametersValue, value]} - {get_attr: [RoleParametersValue, value]}
- -
if: if:
@ -131,14 +159,10 @@ outputs:
- {get_param: NovaConductorLoggingSource} - {get_param: NovaConductorLoggingSource}
mysql: mysql:
map_merge: map_merge:
- {get_attr: [NovaBase, role_data, service_config_settings, mysql]} # FIXME(owalsh): NovaApiDBClient should be conditional on is_not_additional_cell
- nova::db::mysql::password: {get_param: NovaPassword} # however cell conductor currently requires api db access for affinity checks
nova::db::mysql::user: nova - get_attr: [NovaApiDBClient, role_data, service_config_settings, mysql]
nova::db::mysql::host: {get_param: [EndpointMap, MysqlCellInternal, host_nobrackets]} - get_attr: [NovaDBClient, role_data, service_config_settings, mysql]
nova::db::mysql::dbname: nova
nova::db::mysql::allowed_hosts:
- '%'
- "%{hiera('mysql_bind_host')}"
# BEGIN DOCKER SETTINGS # BEGIN DOCKER SETTINGS
puppet_config: puppet_config:
config_volume: nova config_volume: nova
@ -189,7 +213,15 @@ outputs:
- /var/lib/config-data/nova/etc/my.cnf.d/tripleo.cnf:/etc/my.cnf.d/tripleo.cnf:ro - /var/lib/config-data/nova/etc/my.cnf.d/tripleo.cnf:/etc/my.cnf.d/tripleo.cnf:ro
- /var/lib/config-data/nova/etc/nova/:/etc/nova/:ro - /var/lib/config-data/nova/etc/nova/:/etc/nova/:ro
user: root user: root
command: "/usr/bin/bootstrap_host_exec nova_conductor su nova -s /bin/bash -c '/usr/bin/nova-manage db sync'" command:
str_replace:
template: "/usr/bin/bootstrap_host_exec nova_conductor su nova -s /bin/bash -c '/usr/bin/nova-manage db sync DB_SYNC_ARGS'"
params:
if:
- is_not_additional_cell
- DB_SYNC_ARGS: ""
- DB_SYNC_ARGS: "--local_cell"
environment: environment:
TRIPLEO_DEPLOY_IDENTIFIER: {get_param: DeployIdentifier} TRIPLEO_DEPLOY_IDENTIFIER: {get_param: DeployIdentifier}
- if: - if:

View File

@ -0,0 +1,80 @@
heat_template_version: rocky
description: >
OpenStack Nova database client service.
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
NovaPassword:
description: The password for the nova service and db account
type: string
hidden: true
EnableSQLAlchemyCollectd:
type: boolean
description: >
Set to true to enable the SQLAlchemy-collectd server plugin
default: false
conditions:
enable_sqlalchemy_collectd: {equals : [{get_param: EnableSQLAlchemyCollectd}, true]}
outputs:
role_data:
description: Role data for the Nova base service.
value:
config_settings:
nova::database_connection:
make_url:
scheme: {get_param: [EndpointMap, MysqlCellInternal, protocol]}
username: nova
password: {get_param: NovaPassword}
host: {get_param: [EndpointMap, MysqlCellInternal, host]}
path: /nova
query:
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
service_config_settings:
mysql:
nova::db::mysql::password: {get_param: NovaPassword}
nova::db::mysql::user: nova
nova::db::mysql::host: {get_param: [EndpointMap, MysqlCellInternal, host_nobrackets]}
nova::db::mysql::dbname: nova
nova::db::mysql::allowed_hosts:
- '%'
- "%{hiera('mysql_bind_host')}"

View File

@ -71,16 +71,13 @@ resources:
ContainersCommon: ContainersCommon:
type: ../containers-common.yaml type: ../containers-common.yaml
MySQLClient:
type: ../../deployment/database/mysql-client.yaml
NovaComputeCommon: NovaComputeCommon:
type: ./nova-compute-common-container-puppet.yaml type: ./nova-compute-common-container-puppet.yaml
properties: properties:
EndpointMap: {get_param: EndpointMap}
ServiceData: {get_param: ServiceData} ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap} ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords} DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName} RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters} RoleParameters: {get_param: RoleParameters}
@ -94,6 +91,7 @@ resources:
RoleName: {get_param: RoleName} RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters} RoleParameters: {get_param: RoleParameters}
outputs: outputs:
role_data: role_data:
description: Role data for the Nova Compute service. description: Role data for the Nova Compute service.
@ -118,11 +116,8 @@ outputs:
puppet_config: puppet_config:
config_volume: nova config_volume: nova
puppet_tags: nova_config,nova_paste_api_ini puppet_tags: nova_config,nova_paste_api_ini
step_config: step_config: |
list_join: include tripleo::profile::base::nova::compute::ironic
- "\n"
- - include tripleo::profile::base::nova::compute::ironic
- {get_attr: [MySQLClient, role_data, step_config]}
config_image: {get_param: ContainerNovaConfigImage} config_image: {get_param: ContainerNovaConfigImage}
kolla_config: kolla_config:
/var/lib/kolla/config_files/nova_ironic.json: /var/lib/kolla/config_files/nova_ironic.json:

View File

@ -378,9 +378,6 @@ resources:
ContainersCommon: ContainersCommon:
type: ../containers-common.yaml type: ../containers-common.yaml
MySQLClient:
type: ../../deployment/database/mysql-client.yaml
NovaLibvirtLogging: NovaLibvirtLogging:
type: OS::TripleO::Services::Logging::NovaLibvirt type: OS::TripleO::Services::Logging::NovaLibvirt
@ -394,6 +391,7 @@ resources:
RoleName: {get_param: RoleName} RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters} RoleParameters: {get_param: RoleParameters}
outputs: outputs:
role_data: role_data:
description: Role data for the Libvirt service. description: Role data for the Libvirt service.
@ -617,11 +615,8 @@ outputs:
puppet_config: puppet_config:
config_volume: nova_libvirt config_volume: nova_libvirt
puppet_tags: libvirtd_config,nova_config,file,libvirt_tls_password puppet_tags: libvirtd_config,nova_config,file,libvirt_tls_password
step_config: step_config: |
list_join: include tripleo::profile::base::nova::libvirt
- "\n"
- - include tripleo::profile::base::nova::libvirt
- {get_attr: [MySQLClient, role_data, step_config]}
config_image: {get_param: ContainerNovaLibvirtConfigImage} config_image: {get_param: ContainerNovaLibvirtConfigImage}
kolla_config: kolla_config:
/var/lib/kolla/config_files/nova_libvirt.json: /var/lib/kolla/config_files/nova_libvirt.json:

View File

@ -81,6 +81,7 @@ conditions:
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]} internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
nova_workers_zero: {equals : [{get_param: NovaWorkers}, 0]} nova_workers_zero: {equals : [{get_param: NovaWorkers}, 0]}
is_neutron_shared_metadata_notempty: {not: {equals: [{get_param: NeutronMetadataProxySharedSecret}, '']}} is_neutron_shared_metadata_notempty: {not: {equals: [{get_param: NeutronMetadataProxySharedSecret}, '']}}
is_not_cell_local: {equals: [{get_param: NovaLocalMetadataPerCell}, false]}
resources: resources:
@ -114,6 +115,27 @@ resources:
RoleName: {get_param: RoleName} RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters} RoleParameters: {get_param: RoleParameters}
NovaApiDBClient:
type: ./nova-apidb-client-puppet.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
NovaDBClient:
type: ./nova-db-client-puppet.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs: outputs:
role_data: role_data:
description: Role data for the Nova Metadata service. description: Role data for the Nova Metadata service.
@ -123,6 +145,11 @@ outputs:
config_settings: config_settings:
map_merge: map_merge:
- get_attr: [NovaBase, role_data, config_settings] - get_attr: [NovaBase, role_data, config_settings]
- if:
- is_not_cell_local
- get_attr: [NovaApiDBClient, role_data, config_settings]
- {}
- get_attr: [NovaDBClient, role_data, config_settings]
- get_attr: [ApacheServiceBase, role_data, config_settings] - get_attr: [ApacheServiceBase, role_data, config_settings]
- get_attr: [NovaMetadataLogging, config_settings] - get_attr: [NovaMetadataLogging, config_settings]
- apache::default_vhost: false - apache::default_vhost: false
@ -169,19 +196,17 @@ outputs:
- nova::metadata::neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret} - nova::metadata::neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
- {} - {}
service_config_settings: service_config_settings:
rabbitmq: {get_attr: [NovaBase, role_data, service_config_settings], rabbitmq}
mysql:
map_merge:
- if:
- is_not_cell_local
- get_attr: [NovaApiDBClient, role_data, service_config_settings, mysql]
- {}
- get_attr: [NovaDBClient, role_data, service_config_settings, mysql]
rsyslog: rsyslog:
tripleo_logging_sources_nova_metadata: tripleo_logging_sources_nova_metadata:
- {get_param: NovaMetadataLoggingSource} - {get_param: NovaMetadataLoggingSource}
mysql:
map_merge:
- {get_attr: [NovaBase, role_data, service_config_settings, mysql]}
- nova::db::mysql_api::password: {get_param: NovaPassword}
nova::db::mysql_api::user: nova_api
nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
nova::db::mysql_api::dbname: nova_api
nova::db::mysql_api::allowed_hosts:
- '%'
- "%{hiera('mysql_bind_host')}"
# BEGIN DOCKER SETTINGS # BEGIN DOCKER SETTINGS
puppet_config: puppet_config:
config_volume: nova_metadata config_volume: nova_metadata

View File

@ -142,6 +142,26 @@ resources:
RoleName: {get_param: RoleName} RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters} RoleParameters: {get_param: RoleParameters}
NovaApiDBClient:
type: ./nova-apidb-client-puppet.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
NovaDBClient:
type: ./nova-db-client-puppet.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs: outputs:
role_data: role_data:
@ -151,8 +171,10 @@ outputs:
monitoring_subscription: {get_param: MonitoringSubscriptionNovaScheduler} monitoring_subscription: {get_param: MonitoringSubscriptionNovaScheduler}
config_settings: config_settings:
map_merge: map_merge:
- {get_attr: [NovaBase, role_data, config_settings]} - get_attr: [NovaBase, role_data, config_settings]
- {get_attr: [NovaLogging, config_settings]} - get_attr: [NovaApiDBClient, role_data, config_settings]
- get_attr: [NovaDBClient, role_data, config_settings]
- get_attr: [NovaLogging, config_settings]
- nova::scheduler::filter::scheduler_available_filters: {get_param: NovaSchedulerAvailableFilters} - nova::scheduler::filter::scheduler_available_filters: {get_param: NovaSchedulerAvailableFilters}
nova::scheduler::filter::scheduler_default_filters: {get_param: NovaSchedulerDefaultFilters} nova::scheduler::filter::scheduler_default_filters: {get_param: NovaSchedulerDefaultFilters}
nova::scheduler::filter::scheduler_max_attempts: {get_param: NovaSchedulerMaxAttempts} nova::scheduler::filter::scheduler_max_attempts: {get_param: NovaSchedulerMaxAttempts}
@ -168,6 +190,11 @@ outputs:
- {} - {}
- nova::scheduler::workers: {get_param: NovaSchedulerWorkers} - nova::scheduler::workers: {get_param: NovaSchedulerWorkers}
service_config_settings: service_config_settings:
rabbitmq: {get_attr: [NovaBase, role_data, service_config_settings], rabbitmq}
mysql:
map_merge:
- get_attr: [NovaApiDBClient, role_data, service_config_settings, mysql]
- get_attr: [NovaDBClient, role_data, service_config_settings, mysql]
rsyslog: rsyslog:
tripleo_logging_sources_nova_scheduler: tripleo_logging_sources_nova_scheduler:
- {get_param: NovaSchedulerLoggingSource} - {get_param: NovaSchedulerLoggingSource}

View File

@ -140,6 +140,17 @@ resources:
RoleName: {get_param: RoleName} RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters} RoleParameters: {get_param: RoleParameters}
NovaDBClient:
type: ./nova-db-client-puppet.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs: outputs:
role_data: role_data:
description: Role data for the Nova Vncproxy service. description: Role data for the Nova Vncproxy service.
@ -147,7 +158,9 @@ outputs:
service_name: nova_vnc_proxy service_name: nova_vnc_proxy
config_settings: config_settings:
map_merge: map_merge:
- {get_attr: [NovaLogging, config_settings]} - get_attr: [NovaBase, role_data, config_settings]
- get_attr: [NovaDBClient, role_data, config_settings]
- get_attr: [NovaLogging, config_settings]
- nova::vncproxy::enabled: true - nova::vncproxy::enabled: true
nova::vncproxy::common::vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyCellPublic, protocol]} nova::vncproxy::common::vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyCellPublic, protocol]}
nova::vncproxy::common::vncproxy_host: {get_param: [EndpointMap, NovaVNCProxyCellPublic, host_nobrackets]} nova::vncproxy::common::vncproxy_host: {get_param: [EndpointMap, NovaVNCProxyCellPublic, host_nobrackets]}
@ -232,6 +245,9 @@ outputs:
- {get_param: NovaVNCCertificateKeySize} - {get_param: NovaVNCCertificateKeySize}
- {} - {}
service_config_settings: service_config_settings:
mysql:
map_merge:
- get_attr: [NovaDBClient, role_data, service_config_settings, mysql]
rsyslog: rsyslog:
tripleo_logging_sources_nova_vnc_proxy: tripleo_logging_sources_nova_vnc_proxy:
- {get_param: NovaVncproxyLoggingSource} - {get_param: NovaVncproxyLoggingSource}