Merge "Refactor nova db config" into stable/train
This commit is contained in:
commit
e30b34a1ce
|
@ -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
|
||||||
|
|
|
@ -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')}"
|
|
@ -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}
|
|
||||||
|
|
|
@ -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/
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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')}"
|
||||||
|
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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}
|
||||||
|
|
|
@ -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}
|
||||||
|
|
Loading…
Reference in New Issue