fuel-library/deployment/puppet/osnailyfacter/modular/openstack-network/neutron_db.pp
Mykyta Koshykov 906eb4217b Refactor DB creation
- Move DB creation for every service to own task
- Refactor Murano and Sahara DB configuration classes
- Cherry-pick MySQL providers from upstream to allow DB creation and
  management on remote host
- Remove openstack::db::mysql
- Move database and user creation to a separete task
- Either install local database or use an external one

Implements: blueprint: detach-components-from-controllers

Co-Authored-By: Sergii Golovatiuk <sgolovatiuk@mirantis.com>
Co-Authored-By: Dmitry Ilyin <dilyin@mirantis.com>

Change-Id: Iaf3b7913e8c79c08025dbdaf5f2beff7337ab644
Signed-off-by: Sergii Golovatiuk <sgolovatiuk@mirantis.com>
2015-07-02 17:51:21 +02:00

51 lines
1.6 KiB
Puppet

notice('MODULAR: neutron_db.pp')
$use_neutron = hiera('use_neutron', false)
$neutron_hash = hiera_hash('quantum_settings', {})
$mysql_hash = hiera_hash('mysql', {})
$management_vip = hiera('management_vip', undef)
$database_vip = hiera('database_vip', undef)
$mysql_root_user = pick($mysql_hash['root_user'], 'root')
$mysql_db_create = pick($mysql_hash['db_create'], true)
$mysql_root_password = $mysql_hash['root_password']
$neutron_db = merge($neutron_hash['database'], {})
$db_user = pick($neutron_db['db_user'], 'neutron')
$db_name = pick($neutron_db['db_name'], 'neutron')
$db_password = pick($neutron_db['passwd'], $mysql_root_password)
$db_host = pick($neutron_db['db_host'], $database_vip, $management_vip, 'localhost')
$db_create = pick($neutron_db['db_create'], $mysql_db_create)
$db_root_user = pick($neutron_db['root_user'], $mysql_root_user)
$db_root_password = pick($neutron_db['root_password'], $mysql_root_password)
$allowed_hosts = [ $::hostname, 'localhost', '127.0.0.1', '%' ]
validate_string($mysql_root_user)
if $use_neutron and $db_create {
class { 'neutron::db::mysql':
user => $db_user,
password => $db_password,
dbname => $db_name,
allowed_hosts => $allowed_hosts,
}
class { 'osnailyfacter::mysql_access':
db_host => $db_host,
db_user => $db_root_user,
db_password => $db_root_password,
}
Class['osnailyfacter::mysql_access'] -> Class['neutron::db::mysql']
}
class mysql::config {}
include mysql::config
class mysql::server {}
include mysql::server