Merge "Update connection string generation"
This commit is contained in:
commit
ebf68b7ab0
@ -10,16 +10,15 @@
|
|||||||
#
|
#
|
||||||
# === Parameters
|
# === Parameters
|
||||||
#
|
#
|
||||||
# [db_host] Host where DB resides. Required.
|
# [*db_connection*]
|
||||||
|
# Database connection for glance
|
||||||
|
# Defaults to 'mysql://glance:glance@localhost/glance'
|
||||||
|
#
|
||||||
# [glance_user_password] Password for glance auth user. Required.
|
# [glance_user_password] Password for glance auth user. Required.
|
||||||
# [glance_db_password] Password for glance DB. Required.
|
|
||||||
# [glance_protocol] Protocol glance used to speak with registry.
|
# [glance_protocol] Protocol glance used to speak with registry.
|
||||||
# Optional. Defaults to 'http'
|
# Optional. Defaults to 'http'
|
||||||
# [auth_uri] URI used for auth. Optional. Defaults to "http://127.0.0.1:5000/"
|
# [auth_uri] URI used for auth. Optional. Defaults to "http://127.0.0.1:5000/"
|
||||||
# [identity_uri] URI used for keyston admin endpoint. Optional. Defaults to "http://127.0.0.1:35357/"
|
# [identity_uri] URI used for keyston admin endpoint. Optional. Defaults to "http://127.0.0.1:35357/"
|
||||||
# [db_type] Type of sql databse to use. Optional. Defaults to 'mysql'
|
|
||||||
# [glance_db_user] Name of glance DB user. Optional. Defaults to 'glance'
|
|
||||||
# [glance_db_dbname] Name of glance DB. Optional. Defaults to 'glance'
|
|
||||||
# [verbose] Rather to print more verbose (INFO+) output. Optional. Defaults to false.
|
# [verbose] Rather to print more verbose (INFO+) output. Optional. Defaults to false.
|
||||||
# [debug] Rather to print even more verbose (DEBUG+) output. If true, would ignore verbose option.
|
# [debug] Rather to print even more verbose (DEBUG+) output. If true, would ignore verbose option.
|
||||||
# Optional. Defaults to false.
|
# Optional. Defaults to false.
|
||||||
@ -35,13 +34,10 @@
|
|||||||
#
|
#
|
||||||
# class { 'openstack::glance':
|
# class { 'openstack::glance':
|
||||||
# glance_user_password => 'changeme',
|
# glance_user_password => 'changeme',
|
||||||
# db_password => 'changeme',
|
|
||||||
# db_host => '127.0.0.1',
|
|
||||||
# }
|
# }
|
||||||
|
|
||||||
class openstack::glance (
|
class openstack::glance (
|
||||||
$db_host = 'localhost',
|
$db_connection = 'mysql://glance:glance@localhost/glance',
|
||||||
$glance_db_password = false,
|
|
||||||
$glance_user = 'glance',
|
$glance_user = 'glance',
|
||||||
$glance_user_password = false,
|
$glance_user_password = false,
|
||||||
$glance_tenant = 'services',
|
$glance_tenant = 'services',
|
||||||
@ -51,9 +47,6 @@ class openstack::glance (
|
|||||||
$identity_uri = 'http://127.0.0.1:35357/',
|
$identity_uri = 'http://127.0.0.1:35357/',
|
||||||
$region = 'RegionOne',
|
$region = 'RegionOne',
|
||||||
$glance_protocol = 'http',
|
$glance_protocol = 'http',
|
||||||
$db_type = 'mysql',
|
|
||||||
$glance_db_user = 'glance',
|
|
||||||
$glance_db_dbname = 'glance',
|
|
||||||
$glance_backend = 'file',
|
$glance_backend = 'file',
|
||||||
$glance_vcenter_host = undef,
|
$glance_vcenter_host = undef,
|
||||||
$glance_vcenter_user = undef,
|
$glance_vcenter_user = undef,
|
||||||
@ -97,19 +90,8 @@ class openstack::glance (
|
|||||||
$service_workers = $::processorcount,
|
$service_workers = $::processorcount,
|
||||||
) {
|
) {
|
||||||
validate_string($glance_user_password)
|
validate_string($glance_user_password)
|
||||||
validate_string($glance_db_password)
|
|
||||||
validate_string($rabbit_password)
|
validate_string($rabbit_password)
|
||||||
|
|
||||||
# Configure the db string
|
|
||||||
case $db_type {
|
|
||||||
'mysql': {
|
|
||||||
$sql_connection = "mysql://${glance_db_user}:${glance_db_password}@${db_host}/${glance_db_dbname}?read_timeout=60"
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
fail("Wrong db_type: ${db_type}")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Install and configure glance-api
|
# Install and configure glance-api
|
||||||
class { 'glance::api':
|
class { 'glance::api':
|
||||||
verbose => $verbose,
|
verbose => $verbose,
|
||||||
@ -121,7 +103,7 @@ class openstack::glance (
|
|||||||
keystone_user => $glance_user,
|
keystone_user => $glance_user,
|
||||||
keystone_password => $glance_user_password,
|
keystone_password => $glance_user_password,
|
||||||
keystone_tenant => $glance_tenant,
|
keystone_tenant => $glance_tenant,
|
||||||
database_connection => $sql_connection,
|
database_connection => $db_connection,
|
||||||
enabled => $enabled,
|
enabled => $enabled,
|
||||||
workers => $service_workers,
|
workers => $service_workers,
|
||||||
registry_host => $registry_host,
|
registry_host => $registry_host,
|
||||||
@ -191,7 +173,7 @@ class openstack::glance (
|
|||||||
keystone_user => $glance_user,
|
keystone_user => $glance_user,
|
||||||
keystone_password => $glance_user_password,
|
keystone_password => $glance_user_password,
|
||||||
keystone_tenant => $glance_tenant,
|
keystone_tenant => $glance_tenant,
|
||||||
database_connection => $sql_connection,
|
database_connection => $db_connection,
|
||||||
enabled => $enabled,
|
enabled => $enabled,
|
||||||
use_syslog => $use_syslog,
|
use_syslog => $use_syslog,
|
||||||
use_stderr => $use_stderr,
|
use_stderr => $use_stderr,
|
||||||
|
@ -23,6 +23,10 @@
|
|||||||
# Should be used instead of keystone_{host,port,protocol}
|
# Should be used instead of keystone_{host,port,protocol}
|
||||||
# Defaults to false
|
# Defaults to false
|
||||||
#
|
#
|
||||||
|
# [*db_connection*]
|
||||||
|
# (optional) Connection string for database backend.
|
||||||
|
# Defaults to 'mysql://heat:heat@localhost/heat'
|
||||||
|
#
|
||||||
# === Deprecated
|
# === Deprecated
|
||||||
#
|
#
|
||||||
# [*keystone_host*]
|
# [*keystone_host*]
|
||||||
@ -70,11 +74,7 @@ class openstack::heat (
|
|||||||
$heat_watch_server_url = false,
|
$heat_watch_server_url = false,
|
||||||
$auth_encryption_key = '%ENCRYPTION_KEY%',
|
$auth_encryption_key = '%ENCRYPTION_KEY%',
|
||||||
|
|
||||||
$sql_connection = false,
|
$db_connection = 'mysql://heat:heat@localhost/heat',
|
||||||
$db_user = 'heat',
|
|
||||||
$db_password = false,
|
|
||||||
$db_host = '127.0.0.1',
|
|
||||||
$db_name = 'heat',
|
|
||||||
$db_allowed_hosts = ['localhost','%'],
|
$db_allowed_hosts = ['localhost','%'],
|
||||||
$idle_timeout = '3600',
|
$idle_timeout = '3600',
|
||||||
$max_pool_size = '10',
|
$max_pool_size = '10',
|
||||||
@ -149,7 +149,7 @@ class openstack::heat (
|
|||||||
keystone_password => $keystone_password,
|
keystone_password => $keystone_password,
|
||||||
region_name => $region,
|
region_name => $region,
|
||||||
|
|
||||||
sql_connection => $sql_connection,
|
database_connection => $db_connection,
|
||||||
database_idle_timeout => $idle_timeout,
|
database_idle_timeout => $idle_timeout,
|
||||||
sync_db => $primary_controller,
|
sync_db => $primary_controller,
|
||||||
|
|
||||||
|
@ -9,9 +9,11 @@
|
|||||||
# [keystone_db_password] Password for keystone DB. Required.
|
# [keystone_db_password] Password for keystone DB. Required.
|
||||||
# [keystone_admin_token]. Auth token for keystone admin. Required.
|
# [keystone_admin_token]. Auth token for keystone admin. Required.
|
||||||
# [public_address] Public address where keystone can be accessed. Required.
|
# [public_address] Public address where keystone can be accessed. Required.
|
||||||
# [db_type] Type of DB used. Currently only supports mysql. Optional. Defaults to 'mysql'
|
#
|
||||||
# [keystone_db_user] Name of keystone db user. Optional. Defaults to 'keystone'
|
# [*db_connection*]
|
||||||
# [keystone_db_dbname] Name of keystone DB. Optional. Defaults to 'keystone'
|
# Database connection string.
|
||||||
|
# Defaults to 'mysql://keystone:keystone@localhost/keystone'
|
||||||
|
#
|
||||||
# [verbose] Rather to print more verbose (INFO+) output. Optional. Defaults to false.
|
# [verbose] Rather to print more verbose (INFO+) output. Optional. Defaults to false.
|
||||||
# [debug] Rather to print even more verbose (DEBUG+) output. If true, would ignore verbose option.
|
# [debug] Rather to print even more verbose (DEBUG+) output. If true, would ignore verbose option.
|
||||||
# Optional. Defaults to false.
|
# Optional. Defaults to false.
|
||||||
@ -32,25 +34,19 @@
|
|||||||
# === Example
|
# === Example
|
||||||
#
|
#
|
||||||
# class { 'openstack::keystone':
|
# class { 'openstack::keystone':
|
||||||
# db_host => '127.0.0.1',
|
|
||||||
# keystone_db_password => 'changeme',
|
|
||||||
# admin_password => 'changeme',
|
# admin_password => 'changeme',
|
||||||
# public_address => '192.168.1.1',
|
# public_address => '192.168.1.1',
|
||||||
# }
|
# }
|
||||||
|
#
|
||||||
class openstack::keystone (
|
class openstack::keystone (
|
||||||
$public_url,
|
$public_url,
|
||||||
$admin_url,
|
$admin_url,
|
||||||
$internal_url,
|
$internal_url,
|
||||||
$db_host,
|
|
||||||
$db_password,
|
|
||||||
$admin_token,
|
$admin_token,
|
||||||
$public_address,
|
$public_address,
|
||||||
$public_ssl = false,
|
$public_ssl = false,
|
||||||
$public_hostname = false,
|
$public_hostname = false,
|
||||||
$db_type = 'mysql',
|
$db_connection = 'mysql://keystone:keystone@localhost/keystone',
|
||||||
$db_user = 'keystone',
|
|
||||||
$db_name = 'keystone',
|
|
||||||
$verbose = false,
|
$verbose = false,
|
||||||
$debug = false,
|
$debug = false,
|
||||||
$default_log_levels = undef,
|
$default_log_levels = undef,
|
||||||
@ -86,13 +82,6 @@ class openstack::keystone (
|
|||||||
$fernet_key_repository = '/etc/keystone/fernet-keys',
|
$fernet_key_repository = '/etc/keystone/fernet-keys',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
# Install and configure Keystone
|
|
||||||
if $db_type == 'mysql' {
|
|
||||||
$database_connection = "mysql://${$db_user}:${db_password}@${db_host}/${db_name}?read_timeout=60"
|
|
||||||
} else {
|
|
||||||
fail("db_type ${db_type} is not supported")
|
|
||||||
}
|
|
||||||
|
|
||||||
# I have to do all of this crazy munging b/c parameters are not
|
# I have to do all of this crazy munging b/c parameters are not
|
||||||
# set procedurally in Pupet
|
# set procedurally in Pupet
|
||||||
if $internal_address {
|
if $internal_address {
|
||||||
@ -136,7 +125,7 @@ class openstack::keystone (
|
|||||||
catalog_type => 'sql',
|
catalog_type => 'sql',
|
||||||
admin_token => $admin_token,
|
admin_token => $admin_token,
|
||||||
enabled => false,
|
enabled => false,
|
||||||
database_connection => $database_connection,
|
database_connection => $db_connection,
|
||||||
public_bind_host => $public_bind_host,
|
public_bind_host => $public_bind_host,
|
||||||
admin_bind_host => $admin_bind_host,
|
admin_bind_host => $admin_bind_host,
|
||||||
admin_workers => $service_workers,
|
admin_workers => $service_workers,
|
||||||
|
@ -112,18 +112,33 @@ class openstack::nova::controller (
|
|||||||
# Configure the db string
|
# Configure the db string
|
||||||
case $db_type {
|
case $db_type {
|
||||||
'mysql': {
|
'mysql': {
|
||||||
$nova_db = "mysql://${nova_db_user}:${nova_db_password}@${db_host}/${nova_db_dbname}\
|
# TODO(aschultz): update this class to accept a connection string rather
|
||||||
?read_timeout=60"
|
# than use host/user/pass/dbname/type
|
||||||
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $nova_db_dbname,
|
||||||
|
'username' => $nova_db_user,
|
||||||
|
'password' => $nova_db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($glance_api_servers == undef) {
|
if ($glance_api_servers == undef) {
|
||||||
$real_glance_api_servers = "${public_address}:9292"
|
$real_glance_api_servers = "${public_address}:9292"
|
||||||
} else {
|
} else {
|
||||||
$real_glance_api_servers = $glance_api_servers
|
$real_glance_api_servers = $glance_api_servers
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql_connection = $nova_db
|
$sql_connection = $db_connection
|
||||||
$glance_connection = $real_glance_api_servers
|
$glance_connection = $real_glance_api_servers
|
||||||
|
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
|
@ -7,7 +7,6 @@ describe 'openstack::glance' do
|
|||||||
:auth_uri => 'https://192.168.10.1:5000/',
|
:auth_uri => 'https://192.168.10.1:5000/',
|
||||||
:identity_uri => 'https://192.168.10.1:35357/',
|
:identity_uri => 'https://192.168.10.1:35357/',
|
||||||
:glance_user_password => "glance_password",
|
:glance_user_password => "glance_password",
|
||||||
:glance_db_password => "db_password",
|
|
||||||
:rabbit_password => "rabbit_password",
|
:rabbit_password => "rabbit_password",
|
||||||
:rabbit_hosts => "10.0.0.1, 10.0.0.2",
|
:rabbit_hosts => "10.0.0.1, 10.0.0.2",
|
||||||
}
|
}
|
||||||
@ -20,6 +19,9 @@ describe 'openstack::glance' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it 'configures with the default params' do
|
it 'configures with the default params' do
|
||||||
|
should contain_class('glance::api').with(
|
||||||
|
:database_connection => 'mysql://glance:glance@localhost/glance'
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with keystone configured' do
|
context 'with keystone configured' do
|
||||||
|
@ -0,0 +1,55 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'openstack::heat' do
|
||||||
|
|
||||||
|
let :params do
|
||||||
|
{
|
||||||
|
:amqp_password => "rabbit_password",
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
shared_examples_for 'heat configuration' do
|
||||||
|
|
||||||
|
it 'contains openstack::heat' do
|
||||||
|
should contain_class('openstack::heat')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'configures with the default params' do
|
||||||
|
should contain_class('heat').with(
|
||||||
|
:database_connection => 'mysql://heat:heat@localhost/heat'
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'on Debian platforms' do
|
||||||
|
let :facts do
|
||||||
|
{ :osfamily => 'Debian',
|
||||||
|
:operatingsystem => 'Debian',
|
||||||
|
:hostname => 'hostname.example.com',
|
||||||
|
:physicalprocessorcount => 2,
|
||||||
|
:memorysize_mb => 1024,
|
||||||
|
:openstack_version => {'nova' => 'present' },
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it_configures 'heat configuration'
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'on RedHat platforms' do
|
||||||
|
let :facts do
|
||||||
|
{ :osfamily => 'RedHat',
|
||||||
|
:operatingsystem => 'RedHat',
|
||||||
|
:operatingsystemrelease => '7.1',
|
||||||
|
:operatingsystemmajrelease => '7',
|
||||||
|
:hostname => 'hostname.example.com',
|
||||||
|
:physicalprocessorcount => 2,
|
||||||
|
:memorysize_mb => 1024,
|
||||||
|
:openstack_version => {'nova' => 'present' },
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it_configures 'heat configuration'
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
@ -8,8 +8,6 @@ describe 'openstack::keystone' do
|
|||||||
:internal_url => "http://10.0.0.1/5000/",
|
:internal_url => "http://10.0.0.1/5000/",
|
||||||
:public_url => "http://10.0.0.1/5000/",
|
:public_url => "http://10.0.0.1/5000/",
|
||||||
:public_address => "10.0.0.1",
|
:public_address => "10.0.0.1",
|
||||||
:db_host => "10.0.0.1",
|
|
||||||
:db_password => "dbpass",
|
|
||||||
:admin_token => "$token",
|
:admin_token => "$token",
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
@ -21,6 +19,9 @@ describe 'openstack::keystone' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it 'configures with the default params' do
|
it 'configures with the default params' do
|
||||||
|
should contain_class('keystone').with(
|
||||||
|
:database_connection => 'mysql://keystone:keystone@localhost/keystone'
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -31,7 +31,6 @@ $primary_controller = hiera('primary_controller')
|
|||||||
$ceilometer_enabled = $ceilometer_hash['enabled']
|
$ceilometer_enabled = $ceilometer_hash['enabled']
|
||||||
$ceilometer_user_password = $ceilometer_hash['user_password']
|
$ceilometer_user_password = $ceilometer_hash['user_password']
|
||||||
$ceilometer_metering_secret = $ceilometer_hash['metering_secret']
|
$ceilometer_metering_secret = $ceilometer_hash['metering_secret']
|
||||||
$ceilometer_db_type = 'mongodb'
|
|
||||||
$swift_rados_backend = $storage_hash['objects_ceph']
|
$swift_rados_backend = $storage_hash['objects_ceph']
|
||||||
$amqp_password = $rabbit_hash['password']
|
$amqp_password = $rabbit_hash['password']
|
||||||
$amqp_user = $rabbit_hash['user']
|
$amqp_user = $rabbit_hash['user']
|
||||||
@ -51,7 +50,6 @@ $keystone_endpoint = get_ssl_property($ssl_hash, {}, 'keystone', 'internal', 'ho
|
|||||||
$default_mongo_hash = {
|
$default_mongo_hash = {
|
||||||
'enabled' => false,
|
'enabled' => false,
|
||||||
}
|
}
|
||||||
|
|
||||||
$mongo_hash = hiera_hash('mongo', $default_mongo_hash)
|
$mongo_hash = hiera_hash('mongo', $default_mongo_hash)
|
||||||
$db_type = 'mongodb'
|
$db_type = 'mongodb'
|
||||||
|
|
||||||
@ -75,7 +73,41 @@ if $mongo_hash['enabled'] and $ceilometer_hash['enabled'] {
|
|||||||
$mongo_replicaset = 'ceilometer'
|
$mongo_replicaset = 'ceilometer'
|
||||||
}
|
}
|
||||||
|
|
||||||
$db_connection = "${db_type}://${db_user}:${db_password}@${db_host}/${db_name}?readpreference=primaryPreferred"
|
# TODO(aschultz): currently mysql is not supported for ceilometer, but this
|
||||||
|
# should be configurable some day
|
||||||
|
if ($dbtype == 'mysql') {
|
||||||
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if ($::os_package_type == 'debian') {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8'}
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
$mongo_default_params = {
|
||||||
|
'readPreference' => 'primaryPreferred',
|
||||||
|
}
|
||||||
|
if $mongo_replicaset {
|
||||||
|
$replica_params = {
|
||||||
|
'replicaSet' => $mongo_replicaset
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$replica_params = { }
|
||||||
|
}
|
||||||
|
$extra_params = merge($mongo_default_params, $replica_params)
|
||||||
|
|
||||||
|
$params = inline_template("?<%= @extra_params.map{ |k,v| \"#{k}=#{v}\" }.join('&') %>")
|
||||||
|
# NOTE(aschultz): os_database_connection does not currently support the
|
||||||
|
# mongodb syntax for mongodb://user:pass@host,host,host/dbname
|
||||||
|
$db_connection = "${db_type}://${db_user}:${db_password}@${db_host}/${db_name}${params}"
|
||||||
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
@ -25,8 +25,26 @@ $primary_controller = hiera('primary_controller')
|
|||||||
|
|
||||||
$default_log_levels = hiera_hash('default_log_levels')
|
$default_log_levels = hiera_hash('default_log_levels')
|
||||||
|
|
||||||
$db_type = 'mysql'
|
$db_type = 'mysql'
|
||||||
$db_host = pick($glance_hash['db_host'], $database_vip)
|
$db_host = pick($glance_hash['db_host'], $database_vip)
|
||||||
|
$db_user = pick($glance_hash['db_user'], 'glance')
|
||||||
|
$db_password = $glance_hash['db_password']
|
||||||
|
$db_name = pick($glance_hash['db_name'], 'glance')
|
||||||
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
$api_bind_address = get_network_role_property('glance/api', 'ipaddr')
|
$api_bind_address = get_network_role_property('glance/api', 'ipaddr')
|
||||||
$enabled = true
|
$enabled = true
|
||||||
$max_retries = '-1'
|
$max_retries = '-1'
|
||||||
@ -37,9 +55,6 @@ $rabbit_user = $rabbit_hash['user']
|
|||||||
$rabbit_hosts = split(hiera('amqp_hosts',''), ',')
|
$rabbit_hosts = split(hiera('amqp_hosts',''), ',')
|
||||||
$rabbit_virtual_host = '/'
|
$rabbit_virtual_host = '/'
|
||||||
|
|
||||||
$glance_db_user = pick($glance_hash['db_user'], 'glance')
|
|
||||||
$glance_db_dbname = pick($glance_hash['db_name'], 'glance')
|
|
||||||
$glance_db_password = $glance_hash['db_password']
|
|
||||||
$glance_user = pick($glance_hash['user'],'glance')
|
$glance_user = pick($glance_hash['user'],'glance')
|
||||||
$glance_user_password = $glance_hash['user_password']
|
$glance_user_password = $glance_hash['user_password']
|
||||||
$glance_tenant = pick($glance_hash['tenant'],'services')
|
$glance_tenant = pick($glance_hash['tenant'],'services')
|
||||||
@ -90,11 +105,7 @@ class { 'openstack::glance':
|
|||||||
verbose => $verbose,
|
verbose => $verbose,
|
||||||
debug => $debug,
|
debug => $debug,
|
||||||
default_log_levels => $default_log_levels,
|
default_log_levels => $default_log_levels,
|
||||||
db_type => $db_type,
|
db_connection => $db_connection,
|
||||||
db_host => $db_host,
|
|
||||||
glance_db_user => $glance_db_user,
|
|
||||||
glance_db_dbname => $glance_db_dbname,
|
|
||||||
glance_db_password => $glance_db_password,
|
|
||||||
glance_user => $glance_user,
|
glance_user => $glance_user,
|
||||||
glance_user_password => $glance_user_password,
|
glance_user_password => $glance_user_password,
|
||||||
glance_tenant => $glance_tenant,
|
glance_tenant => $glance_tenant,
|
||||||
|
@ -300,7 +300,23 @@ $max_overflow = hiera('max_overflow', min($::processorcount * 5 + 0,
|
|||||||
$max_retries = hiera('max_retries', '-1')
|
$max_retries = hiera('max_retries', '-1')
|
||||||
$idle_timeout = hiera('idle_timeout','3600')
|
$idle_timeout = hiera('idle_timeout','3600')
|
||||||
$nova_db_password = $nova_hash['db_password']
|
$nova_db_password = $nova_hash['db_password']
|
||||||
$sql_connection = "mysql://nova:${nova_db_password}@${database_vip}/nova?read_timeout = 6 0"
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
# TODO(aschultz): I don't think this is used so it should probably be
|
||||||
|
# deprecated and removed.
|
||||||
|
$sql_connection = os_database_connection({
|
||||||
|
'dialect' => 'mysql',
|
||||||
|
'host' => $database_vip,
|
||||||
|
'database' => 'nova',
|
||||||
|
'username' => 'nova',
|
||||||
|
'password' => $nova_db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
$mirror_type = hiera('mirror_type', 'external')
|
$mirror_type = hiera('mirror_type', 'external')
|
||||||
$multi_host = hiera('multi_host', true)
|
$multi_host = hiera('multi_host', true)
|
||||||
|
|
||||||
|
@ -40,17 +40,31 @@ $syslog_log_facility_heat = hiera('syslog_log_facility_heat')
|
|||||||
$deployment_mode = hiera('deployment_mode')
|
$deployment_mode = hiera('deployment_mode')
|
||||||
$bind_address = get_network_role_property('heat/api', 'ipaddr')
|
$bind_address = get_network_role_property('heat/api', 'ipaddr')
|
||||||
$memcache_address = get_network_role_property('mgmt/memcache', 'ipaddr')
|
$memcache_address = get_network_role_property('mgmt/memcache', 'ipaddr')
|
||||||
$database_password = $heat_hash['db_password']
|
|
||||||
$keystone_user = pick($heat_hash['user'], 'heat')
|
$keystone_user = pick($heat_hash['user'], 'heat')
|
||||||
$keystone_tenant = pick($heat_hash['tenant'], 'services')
|
$keystone_tenant = pick($heat_hash['tenant'], 'services')
|
||||||
$db_host = pick($heat_hash['db_host'], hiera('database_vip'))
|
|
||||||
$database_user = pick($heat_hash['db_user'], 'heat')
|
|
||||||
$database_name = hiera('heat_db_name', 'heat')
|
|
||||||
$read_timeout = '60'
|
|
||||||
$sql_connection = "mysql://${database_user}:${database_password}@${db_host}/${database_name}?read_timeout=${read_timeout}"
|
|
||||||
$region = hiera('region', 'RegionOne')
|
$region = hiera('region', 'RegionOne')
|
||||||
$external_lb = hiera('external_lb', false)
|
$external_lb = hiera('external_lb', false)
|
||||||
|
|
||||||
|
$db_type = 'mysql'
|
||||||
|
$db_host = pick($heat_hash['db_host'], hiera('database_vip'))
|
||||||
|
$db_user = pick($heat_hash['db_user'], 'heat')
|
||||||
|
$db_password = $heat_hash['db_password']
|
||||||
|
$db_name = hiera('heat_db_name', 'heat')
|
||||||
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
####### Disable upstart startup on install #######
|
####### Disable upstart startup on install #######
|
||||||
if $::operatingsystem == 'Ubuntu' {
|
if $::operatingsystem == 'Ubuntu' {
|
||||||
tweaks::ubuntu_service_override { 'heat-api-cloudwatch':
|
tweaks::ubuntu_service_override { 'heat-api-cloudwatch':
|
||||||
@ -92,9 +106,7 @@ class { 'openstack::heat' :
|
|||||||
heat_protocol => $heat_protocol,
|
heat_protocol => $heat_protocol,
|
||||||
amqp_user => $rabbit_hash['user'],
|
amqp_user => $rabbit_hash['user'],
|
||||||
amqp_password => $rabbit_hash['password'],
|
amqp_password => $rabbit_hash['password'],
|
||||||
sql_connection => $sql_connection,
|
db_connection => $db_connection,
|
||||||
db_host => $db_host,
|
|
||||||
db_password => $database_password,
|
|
||||||
max_retries => $max_retries,
|
max_retries => $max_retries,
|
||||||
max_pool_size => $max_pool_size,
|
max_pool_size => $max_pool_size,
|
||||||
max_overflow => $max_overflow,
|
max_overflow => $max_overflow,
|
||||||
|
@ -29,11 +29,25 @@ $ironic_tenant = pick($ironic_hash['tenant'],'services')
|
|||||||
$ironic_user = pick($ironic_hash['auth_name'],'ironic')
|
$ironic_user = pick($ironic_hash['auth_name'],'ironic')
|
||||||
$ironic_user_password = pick($ironic_hash['user_password'],'ironic')
|
$ironic_user_password = pick($ironic_hash['user_password'],'ironic')
|
||||||
|
|
||||||
|
$db_type = 'mysql'
|
||||||
$db_host = pick($nova_hash['db_host'], $database_vip)
|
$db_host = pick($nova_hash['db_host'], $database_vip)
|
||||||
$db_user = pick($nova_hash['db_user'], 'nova')
|
$db_user = pick($nova_hash['db_user'], 'nova')
|
||||||
$db_name = pick($nova_hash['db_name'], 'nova')
|
$db_name = pick($nova_hash['db_name'], 'nova')
|
||||||
$db_password = pick($nova_hash['db_password'], 'nova')
|
$db_password = pick($nova_hash['db_password'], 'nova')
|
||||||
$database_connection = "mysql://${db_name}:${db_password}@${db_host}/${db_name}?read_timeout=60"
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
$memcached_servers = hiera('memcached_addresses')
|
$memcached_servers = hiera('memcached_addresses')
|
||||||
$memcached_port = hiera('memcache_server_port', '11211')
|
$memcached_port = hiera('memcache_server_port', '11211')
|
||||||
@ -54,7 +68,7 @@ tweaks::ubuntu_service_override { 'nova-compute':
|
|||||||
class { '::nova':
|
class { '::nova':
|
||||||
install_utilities => false,
|
install_utilities => false,
|
||||||
ensure_package => installed,
|
ensure_package => installed,
|
||||||
database_connection => $database_connection,
|
database_connection => $db_connection,
|
||||||
rpc_backend => 'nova.openstack.common.rpc.impl_kombu',
|
rpc_backend => 'nova.openstack.common.rpc.impl_kombu',
|
||||||
#FIXME(bogdando) we have to split amqp_hosts until all modules synced
|
#FIXME(bogdando) we have to split amqp_hosts until all modules synced
|
||||||
rabbit_hosts => split($amqp_hosts, ','),
|
rabbit_hosts => split($amqp_hosts, ','),
|
||||||
|
@ -23,11 +23,25 @@ $neutron_config = hiera_hash('quantum_settings')
|
|||||||
$primary_controller = hiera('primary_controller')
|
$primary_controller = hiera('primary_controller')
|
||||||
$amqp_durable_queues = pick($ironic_hash['amqp_durable_queues'], false)
|
$amqp_durable_queues = pick($ironic_hash['amqp_durable_queues'], false)
|
||||||
|
|
||||||
|
$db_type = 'mysql'
|
||||||
$db_host = pick($ironic_hash['db_host'], $database_vip)
|
$db_host = pick($ironic_hash['db_host'], $database_vip)
|
||||||
$db_user = pick($ironic_hash['db_user'], 'ironic')
|
$db_user = pick($ironic_hash['db_user'], 'ironic')
|
||||||
$db_name = pick($ironic_hash['db_name'], 'ironic')
|
$db_name = pick($ironic_hash['db_name'], 'ironic')
|
||||||
$db_password = pick($ironic_hash['db_password'], 'ironic')
|
$db_password = pick($ironic_hash['db_password'], 'ironic')
|
||||||
$database_connection = "mysql://${db_name}:${db_password}@${db_host}/${db_name}?charset=utf8&read_timeout=60"
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
$ironic_tenant = pick($ironic_hash['tenant'],'services')
|
$ironic_tenant = pick($ironic_hash['tenant'],'services')
|
||||||
$ironic_user = pick($ironic_hash['auth_name'],'ironic')
|
$ironic_user = pick($ironic_hash['auth_name'],'ironic')
|
||||||
@ -48,7 +62,7 @@ class { 'ironic':
|
|||||||
control_exchange => 'ironic',
|
control_exchange => 'ironic',
|
||||||
use_syslog => $use_syslog,
|
use_syslog => $use_syslog,
|
||||||
log_facility => $syslog_log_facility_ironic,
|
log_facility => $syslog_log_facility_ironic,
|
||||||
database_connection => $database_connection,
|
database_connection => $db_connection,
|
||||||
database_max_retries => '-1',
|
database_max_retries => '-1',
|
||||||
glance_api_servers => $glance_api_servers,
|
glance_api_servers => $glance_api_servers,
|
||||||
sync_db => $primary_controller,
|
sync_db => $primary_controller,
|
||||||
|
@ -34,6 +34,21 @@ $db_host = pick($keystone_hash['db_host'], $database_vip)
|
|||||||
$db_password = $keystone_hash['db_password']
|
$db_password = $keystone_hash['db_password']
|
||||||
$db_name = pick($keystone_hash['db_name'], 'keystone')
|
$db_name = pick($keystone_hash['db_name'], 'keystone')
|
||||||
$db_user = pick($keystone_hash['db_user'], 'keystone')
|
$db_user = pick($keystone_hash['db_user'], 'keystone')
|
||||||
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
$admin_token = $keystone_hash['admin_token']
|
$admin_token = $keystone_hash['admin_token']
|
||||||
$admin_tenant = $access_hash['tenant']
|
$admin_tenant = $access_hash['tenant']
|
||||||
@ -101,48 +116,44 @@ $external_lb = hiera('external_lb', false)
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
####### KEYSTONE ###########
|
####### KEYSTONE ###########
|
||||||
class { 'openstack::keystone':
|
class { '::openstack::keystone':
|
||||||
verbose => $verbose,
|
verbose => $verbose,
|
||||||
debug => $debug,
|
debug => $debug,
|
||||||
default_log_levels => $default_log_levels,
|
default_log_levels => $default_log_levels,
|
||||||
db_type => $db_type,
|
db_connection => $db_connection,
|
||||||
db_host => $db_host,
|
admin_token => $admin_token,
|
||||||
db_password => $db_password,
|
public_address => $public_address,
|
||||||
db_name => $db_name,
|
public_ssl => $public_ssl_hash['services'],
|
||||||
db_user => $db_user,
|
public_hostname => $public_ssl_hash['hostname'],
|
||||||
admin_token => $admin_token,
|
internal_address => $service_endpoint,
|
||||||
public_address => $public_address,
|
admin_address => $admin_address,
|
||||||
public_ssl => $public_ssl_hash['services'],
|
public_bind_host => $local_address_for_bind,
|
||||||
public_hostname => $public_ssl_hash['hostname'],
|
admin_bind_host => $local_address_for_bind,
|
||||||
internal_address => $service_endpoint,
|
primary_controller => $primary_controller,
|
||||||
admin_address => $admin_address,
|
enabled => $enabled,
|
||||||
public_bind_host => $local_address_for_bind,
|
use_syslog => $use_syslog,
|
||||||
admin_bind_host => $local_address_for_bind,
|
use_stderr => $use_stderr,
|
||||||
primary_controller => $primary_controller,
|
syslog_log_facility => $syslog_log_facility,
|
||||||
enabled => $enabled,
|
region => $region,
|
||||||
use_syslog => $use_syslog,
|
memcache_servers => $memcached_server,
|
||||||
use_stderr => $use_stderr,
|
memcache_server_port => $memcache_server_port,
|
||||||
syslog_log_facility => $syslog_log_facility,
|
memcache_pool_maxsize => $memcache_pool_maxsize,
|
||||||
region => $region,
|
max_retries => $max_retries,
|
||||||
memcache_servers => $memcached_server,
|
max_pool_size => $max_pool_size,
|
||||||
memcache_server_port => $memcache_server_port,
|
max_overflow => $max_overflow,
|
||||||
memcache_pool_maxsize => $memcache_pool_maxsize,
|
rabbit_password => $rabbit_password,
|
||||||
max_retries => $max_retries,
|
rabbit_userid => $rabbit_user,
|
||||||
max_pool_size => $max_pool_size,
|
rabbit_hosts => $rabbit_hosts,
|
||||||
max_overflow => $max_overflow,
|
rabbit_virtual_host => $rabbit_virtual_host,
|
||||||
rabbit_password => $rabbit_password,
|
database_idle_timeout => $database_idle_timeout,
|
||||||
rabbit_userid => $rabbit_user,
|
revoke_driver => $revoke_driver,
|
||||||
rabbit_hosts => $rabbit_hosts,
|
public_url => $public_url,
|
||||||
rabbit_virtual_host => $rabbit_virtual_host,
|
admin_url => $admin_url,
|
||||||
database_idle_timeout => $database_idle_timeout,
|
internal_url => $internal_url,
|
||||||
revoke_driver => $revoke_driver,
|
notification_driver => $ceilometer_hash['notification_driver'],
|
||||||
public_url => $public_url,
|
service_workers => $service_workers,
|
||||||
admin_url => $admin_url,
|
token_provider => $token_provider,
|
||||||
internal_url => $internal_url,
|
fernet_src_repository => '/var/lib/astute/keystone',
|
||||||
notification_driver => $ceilometer_hash['notification_driver'],
|
|
||||||
service_workers => $service_workers,
|
|
||||||
token_provider => $token_provider,
|
|
||||||
fernet_src_repository => '/var/lib/astute/keystone',
|
|
||||||
}
|
}
|
||||||
|
|
||||||
####### WSGI ###########
|
####### WSGI ###########
|
||||||
|
@ -51,12 +51,26 @@ if $murano_hash['enabled'] {
|
|||||||
|
|
||||||
$murano_user = pick($murano_hash['user'], 'murano')
|
$murano_user = pick($murano_hash['user'], 'murano')
|
||||||
$tenant = pick($murano_hash['tenant'], 'services')
|
$tenant = pick($murano_hash['tenant'], 'services')
|
||||||
|
|
||||||
|
$db_type = 'mysql'
|
||||||
$db_user = pick($murano_hash['db_user'], 'murano')
|
$db_user = pick($murano_hash['db_user'], 'murano')
|
||||||
$db_name = pick($murano_hash['db_name'], 'murano')
|
$db_name = pick($murano_hash['db_name'], 'murano')
|
||||||
$db_password = pick($murano_hash['db_password'])
|
$db_password = pick($murano_hash['db_password'])
|
||||||
$db_host = pick($murano_hash['db_host'], $database_ip)
|
$db_host = pick($murano_hash['db_host'], $database_ip)
|
||||||
$read_timeout = '60'
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
$sql_connection = "mysql://${db_user}:${db_password}@${db_host}/${db_name}?read_timeout=${read_timeout}"
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
$external_network = $use_neutron ? {
|
$external_network = $use_neutron ? {
|
||||||
true => get_ext_net_name($neutron_config['predefined_networks']),
|
true => get_ext_net_name($neutron_config['predefined_networks']),
|
||||||
@ -85,7 +99,7 @@ if $murano_hash['enabled'] {
|
|||||||
use_syslog => $use_syslog,
|
use_syslog => $use_syslog,
|
||||||
use_stderr => $use_stderr,
|
use_stderr => $use_stderr,
|
||||||
log_facility => $syslog_log_facility_murano,
|
log_facility => $syslog_log_facility_murano,
|
||||||
database_connection => $sql_connection,
|
database_connection => $db_connection,
|
||||||
sync_db => $primary_controller,
|
sync_db => $primary_controller,
|
||||||
auth_uri => "${public_auth_protocol}://${public_auth_address}:5000/v2.0/",
|
auth_uri => "${public_auth_protocol}://${public_auth_address}:5000/v2.0/",
|
||||||
admin_user => $murano_user,
|
admin_user => $murano_user,
|
||||||
|
@ -13,17 +13,33 @@ $sahara_hash = hiera_hash('sahara_hash',{})
|
|||||||
$rabbit_hash = hiera_hash('rabbit_hash', {})
|
$rabbit_hash = hiera_hash('rabbit_hash', {})
|
||||||
$service_endpoint = hiera('service_endpoint')
|
$service_endpoint = hiera('service_endpoint')
|
||||||
$service_workers = pick($cinder_hash['workers'], min(max($::processorcount, 2), 16))
|
$service_workers = pick($cinder_hash['workers'], min(max($::processorcount, 2), 16))
|
||||||
$cinder_db_password = $cinder_hash[db_password]
|
|
||||||
$cinder_user_password = $cinder_hash[user_password]
|
$cinder_user_password = $cinder_hash[user_password]
|
||||||
$keystone_user = pick($cinder_hash['user'], 'cinder')
|
$keystone_user = pick($cinder_hash['user'], 'cinder')
|
||||||
$keystone_tenant = pick($cinder_hash['tenant'], 'services')
|
$keystone_tenant = pick($cinder_hash['tenant'], 'services')
|
||||||
$region = hiera('region', 'RegionOne')
|
$region = hiera('region', 'RegionOne')
|
||||||
$db_host = pick($cinder_hash['db_host'], hiera('database_vip'))
|
|
||||||
$cinder_db_user = pick($cinder_hash['db_user'], 'cinder')
|
|
||||||
$cinder_db_name = pick($cinder_hash['db_name'], 'cinder')
|
|
||||||
$roles = node_roles($nodes_hash, hiera('uid'))
|
$roles = node_roles($nodes_hash, hiera('uid'))
|
||||||
$ssl_hash = hiera_hash('use_ssl', {})
|
$ssl_hash = hiera_hash('use_ssl', {})
|
||||||
$primary_controller = hiera('primary_controller')
|
$primary_controller = hiera('primary_controller')
|
||||||
|
|
||||||
|
$db_type = 'mysql'
|
||||||
|
$db_host = pick($cinder_hash['db_host'], hiera('database_vip'))
|
||||||
|
$db_user = pick($cinder_hash['db_user'], 'cinder')
|
||||||
|
$db_password = $cinder_hash[db_password]
|
||||||
|
$db_name = pick($cinder_hash['db_name'], 'cinder')
|
||||||
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
$keystone_auth_protocol = get_ssl_property($ssl_hash, {}, 'keystone', 'internal', 'protocol', 'http')
|
$keystone_auth_protocol = get_ssl_property($ssl_hash, {}, 'keystone', 'internal', 'protocol', 'http')
|
||||||
$keystone_auth_host = get_ssl_property($ssl_hash, {}, 'keystone', 'internal', 'hostname', [hiera('keystone_endpoint', ''), $service_endpoint, $management_vip])
|
$keystone_auth_host = get_ssl_property($ssl_hash, {}, 'keystone', 'internal', 'hostname', [hiera('keystone_endpoint', ''), $service_endpoint, $management_vip])
|
||||||
@ -68,7 +84,7 @@ $openstack_version = {
|
|||||||
|
|
||||||
######### Cinder Controller Services ########
|
######### Cinder Controller Services ########
|
||||||
class {'openstack::cinder':
|
class {'openstack::cinder':
|
||||||
sql_connection => "mysql://${cinder_db_user}:${cinder_db_password}@${db_host}/${cinder_db_name}?charset=utf8&read_timeout=60",
|
sql_connection => $db_connection,
|
||||||
queue_provider => $queue_provider,
|
queue_provider => $queue_provider,
|
||||||
amqp_hosts => hiera('amqp_hosts',''),
|
amqp_hosts => hiera('amqp_hosts',''),
|
||||||
amqp_user => $rabbit_hash['user'],
|
amqp_user => $rabbit_hash['user'],
|
||||||
|
@ -16,12 +16,25 @@ if $use_neutron {
|
|||||||
$nova_hash = hiera_hash('nova', { })
|
$nova_hash = hiera_hash('nova', { })
|
||||||
$primary_controller = hiera('primary_controller', false)
|
$primary_controller = hiera('primary_controller', false)
|
||||||
|
|
||||||
$neutron_db_password = $neutron_config['database']['passwd']
|
$db_type = 'mysql'
|
||||||
$neutron_db_user = try_get_value($neutron_config, 'database/user', 'neutron')
|
$db_password = $neutron_config['database']['passwd']
|
||||||
$neutron_db_name = try_get_value($neutron_config, 'database/name', 'neutron')
|
$db_user = try_get_value($neutron_config, 'database/user', 'neutron')
|
||||||
$neutron_db_host = try_get_value($neutron_config, 'database/host', $database_vip)
|
$db_name = try_get_value($neutron_config, 'database/name', 'neutron')
|
||||||
|
$db_host = try_get_value($neutron_config, 'database/host', $database_vip)
|
||||||
$neutron_db_uri = "mysql://${neutron_db_user}:${neutron_db_password}@${neutron_db_host}/${neutron_db_name}?&read_timeout=60"
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
$auth_password = $neutron_config['keystone']['admin_password']
|
$auth_password = $neutron_config['keystone']['admin_password']
|
||||||
$auth_user = pick($neutron_config['keystone']['admin_user'], 'neutron')
|
$auth_user = pick($neutron_config['keystone']['admin_user'], 'neutron')
|
||||||
@ -148,7 +161,7 @@ if $use_neutron {
|
|||||||
auth_uri => $identity_uri,
|
auth_uri => $identity_uri,
|
||||||
|
|
||||||
database_retry_interval => '2',
|
database_retry_interval => '2',
|
||||||
database_connection => $neutron_db_uri,
|
database_connection => $db_connection,
|
||||||
database_max_retries => '-1',
|
database_max_retries => '-1',
|
||||||
|
|
||||||
agent_down_time => '30',
|
agent_down_time => '30',
|
||||||
|
@ -40,12 +40,28 @@ $syslog_log_facility_murano = hiera('syslog_log_facility_murano', 'LOG_LOCAL
|
|||||||
$syslog_log_facility_sahara = hiera('syslog_log_facility_sahara','LOG_LOCAL0')
|
$syslog_log_facility_sahara = hiera('syslog_log_facility_sahara','LOG_LOCAL0')
|
||||||
$syslog_log_facility_ceph = hiera('syslog_log_facility_ceph','LOG_LOCAL0')
|
$syslog_log_facility_ceph = hiera('syslog_log_facility_ceph','LOG_LOCAL0')
|
||||||
|
|
||||||
$cinder_db_password = $cinder_hash[db_password]
|
|
||||||
$keystone_user = pick($cinder_hash['user'], 'cinder')
|
$keystone_user = pick($cinder_hash['user'], 'cinder')
|
||||||
$keystone_tenant = pick($cinder_hash['tenant'], 'services')
|
$keystone_tenant = pick($cinder_hash['tenant'], 'services')
|
||||||
$db_host = pick($cinder_hash['db_host'], hiera('database_vip'))
|
|
||||||
$cinder_db_user = pick($cinder_hash['db_user'], 'cinder')
|
$db_type = 'mysql'
|
||||||
$cinder_db_name = pick($cinder_hash['db_name'], 'cinder')
|
$db_host = pick($cinder_hash['db_host'], hiera('database_vip'))
|
||||||
|
$db_user = pick($cinder_hash['db_user'], 'cinder')
|
||||||
|
$db_password = $cinder_hash[db_password]
|
||||||
|
$db_name = pick($cinder_hash['db_name'], 'cinder')
|
||||||
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
$ssl_hash = hiera_hash('use_ssl', {})
|
$ssl_hash = hiera_hash('use_ssl', {})
|
||||||
$service_endpoint = hiera('service_endpoint')
|
$service_endpoint = hiera('service_endpoint')
|
||||||
@ -272,7 +288,7 @@ if member($roles, 'controller') or member($roles, 'primary-controller') {
|
|||||||
# after the deployment is done.
|
# after the deployment is done.
|
||||||
class { '::openstack::cinder':
|
class { '::openstack::cinder':
|
||||||
enable_volumes => false,
|
enable_volumes => false,
|
||||||
sql_connection => "mysql://${cinder_db_user}:${cinder_db_password}@${db_host}/${cinder_db_name}?charset=utf8&read_timeout=60",
|
sql_connection => $db_connection,
|
||||||
glance_api_servers => $glance_api_servers,
|
glance_api_servers => $glance_api_servers,
|
||||||
bind_host => $bind_host,
|
bind_host => $bind_host,
|
||||||
queue_provider => $queue_provider,
|
queue_provider => $queue_provider,
|
||||||
|
@ -29,11 +29,25 @@ $ironic_user = pick($ironic_hash['auth_name'],'ironic')
|
|||||||
$ironic_user_password = pick($ironic_hash['user_password'],'ironic')
|
$ironic_user_password = pick($ironic_hash['user_password'],'ironic')
|
||||||
$ironic_swift_tempurl_key = pick($ironic_hash['swift_tempurl_key'],'ironic')
|
$ironic_swift_tempurl_key = pick($ironic_hash['swift_tempurl_key'],'ironic')
|
||||||
|
|
||||||
|
$db_type = 'mysql'
|
||||||
$db_host = pick($ironic_hash['db_host'], $database_vip)
|
$db_host = pick($ironic_hash['db_host'], $database_vip)
|
||||||
$db_user = pick($ironic_hash['db_user'], 'ironic')
|
$db_user = pick($ironic_hash['db_user'], 'ironic')
|
||||||
$db_name = pick($ironic_hash['db_name'], 'ironic')
|
$db_name = pick($ironic_hash['db_name'], 'ironic')
|
||||||
$db_password = pick($ironic_hash['db_password'], 'ironic')
|
$db_password = pick($ironic_hash['db_password'], 'ironic')
|
||||||
$database_connection = "mysql://${db_name}:${db_password}@${db_host}/${db_name}?charset=utf8&read_timeout=60"
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
$tftp_root = '/var/lib/ironic/tftpboot'
|
$tftp_root = '/var/lib/ironic/tftpboot'
|
||||||
|
|
||||||
@ -57,7 +71,7 @@ class { '::ironic':
|
|||||||
control_exchange => 'ironic',
|
control_exchange => 'ironic',
|
||||||
use_syslog => $use_syslog,
|
use_syslog => $use_syslog,
|
||||||
log_facility => $syslog_log_facility_ironic,
|
log_facility => $syslog_log_facility_ironic,
|
||||||
database_connection => $database_connection,
|
database_connection => $db_connection,
|
||||||
database_max_retries => '-1',
|
database_max_retries => '-1',
|
||||||
glance_api_servers => $glance_api_servers,
|
glance_api_servers => $glance_api_servers,
|
||||||
}
|
}
|
||||||
|
@ -49,16 +49,30 @@ if $sahara_hash['enabled'] {
|
|||||||
$sahara_user = pick($sahara_hash['user'], 'sahara')
|
$sahara_user = pick($sahara_hash['user'], 'sahara')
|
||||||
$sahara_password = pick($sahara_hash['user_password'])
|
$sahara_password = pick($sahara_hash['user_password'])
|
||||||
$tenant = pick($sahara_hash['tenant'], 'services')
|
$tenant = pick($sahara_hash['tenant'], 'services')
|
||||||
$db_user = pick($sahara_hash['db_user'], 'sahara')
|
|
||||||
$db_name = pick($sahara_hash['db_name'], 'sahara')
|
|
||||||
$db_password = pick($sahara_hash['db_password'])
|
|
||||||
$db_host = pick($sahara_hash['db_host'], $database_vip)
|
|
||||||
$max_pool_size = min($::processorcount * 5 + 0, 30 + 0)
|
$max_pool_size = min($::processorcount * 5 + 0, 30 + 0)
|
||||||
$max_overflow = min($::processorcount * 5 + 0, 60 + 0)
|
$max_overflow = min($::processorcount * 5 + 0, 60 + 0)
|
||||||
$max_retries = '-1'
|
$max_retries = '-1'
|
||||||
$idle_timeout = '3600'
|
$idle_timeout = '3600'
|
||||||
$read_timeout = '60'
|
|
||||||
$sql_connection = "mysql://${db_user}:${db_password}@${db_host}/${db_name}?read_timeout=${read_timeout}"
|
$db_type = 'mysql'
|
||||||
|
$db_user = pick($sahara_hash['db_user'], 'sahara')
|
||||||
|
$db_name = pick($sahara_hash['db_name'], 'sahara')
|
||||||
|
$db_password = pick($sahara_hash['db_password'])
|
||||||
|
$db_host = pick($sahara_hash['db_host'], $database_vip)
|
||||||
|
# LP#1526938 - python-mysqldb supports this, python-pymysql does not
|
||||||
|
if $::os_package_type == 'debian' {
|
||||||
|
$extra_params = { 'charset' => 'utf8', 'read_timeout' => 60 }
|
||||||
|
} else {
|
||||||
|
$extra_params = { 'charset' => 'utf8' }
|
||||||
|
}
|
||||||
|
$db_connection = os_database_connection({
|
||||||
|
'dialect' => $db_type,
|
||||||
|
'host' => $db_host,
|
||||||
|
'database' => $db_name,
|
||||||
|
'username' => $db_user,
|
||||||
|
'password' => $db_password,
|
||||||
|
'extra' => $extra_params
|
||||||
|
})
|
||||||
|
|
||||||
####### Disable upstart startup on install #######
|
####### Disable upstart startup on install #######
|
||||||
tweaks::ubuntu_service_override { 'sahara-api':
|
tweaks::ubuntu_service_override { 'sahara-api':
|
||||||
@ -80,7 +94,7 @@ if $sahara_hash['enabled'] {
|
|||||||
use_stderr => $use_stderr,
|
use_stderr => $use_stderr,
|
||||||
plugins => [ 'ambari', 'cdh', 'mapr', 'spark', 'vanilla' ],
|
plugins => [ 'ambari', 'cdh', 'mapr', 'spark', 'vanilla' ],
|
||||||
log_facility => $syslog_log_facility_sahara,
|
log_facility => $syslog_log_facility_sahara,
|
||||||
database_connection => $sql_connection,
|
database_connection => $db_connection,
|
||||||
database_max_pool_size => $max_pool_size,
|
database_max_pool_size => $max_pool_size,
|
||||||
database_max_overflow => $max_overflow,
|
database_max_overflow => $max_overflow,
|
||||||
database_max_retries => $max_retries,
|
database_max_retries => $max_retries,
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
test_tasks:
|
test_tasks:
|
||||||
|
- globals/globals
|
||||||
- roles/cinder
|
- roles/cinder
|
||||||
|
|
||||||
user_node_name: Untitled (79:d2)
|
user_node_name: Untitled (79:d2)
|
||||||
|
@ -45,8 +45,13 @@ describe manifest do
|
|||||||
|
|
||||||
# Ceilometer
|
# Ceilometer
|
||||||
if ceilometer_hash['enabled']
|
if ceilometer_hash['enabled']
|
||||||
it 'should configure connection string with read reference set to primaryPreferred' do
|
it 'should properly build connection string' do
|
||||||
should contain_ceilometer_config('database/connection').with(:value => "mongodb://#{ceilometer_db_user}:#{ceilometer_db_password}@#{db_hosts}/#{ceilometer_db_dbname}?readpreference=primaryPreferred")
|
if mongo_replicaset and mongo_replicaset != ''
|
||||||
|
db_params = "?readPreference=primaryPreferred&replicaSet=#{mongo_replicaset}"
|
||||||
|
else
|
||||||
|
db_params = "?readPreference=primaryPreferred"
|
||||||
|
end
|
||||||
|
should contain_ceilometer_config('database/connection').with(:value => "mongodb://#{ceilometer_db_user}:#{ceilometer_db_password}@#{db_hosts}/#{ceilometer_db_dbname}#{db_params}")
|
||||||
end
|
end
|
||||||
|
|
||||||
if mongo_replicaset and mongo_replicaset != ''
|
if mongo_replicaset and mongo_replicaset != ''
|
||||||
|
@ -24,6 +24,10 @@ describe manifest do
|
|||||||
pipeline = 'keystone'
|
pipeline = 'keystone'
|
||||||
end
|
end
|
||||||
murano_glance_artifacts_plugin = Noop.hiera('murano_glance_artifacts_plugin', {})
|
murano_glance_artifacts_plugin = Noop.hiera('murano_glance_artifacts_plugin', {})
|
||||||
|
database_vip = Noop.hiera('database_vip')
|
||||||
|
glance_db_password = Noop.hiera_structure 'glance/db_password', 'glance'
|
||||||
|
glance_db_user = Noop.hiera_structure 'glance/db_user', 'glance'
|
||||||
|
glance_db_name = Noop.hiera_structure 'glance/db_name', 'glance'
|
||||||
|
|
||||||
let(:ssl_hash) { Noop.hiera_hash 'use_ssl', {} }
|
let(:ssl_hash) { Noop.hiera_hash 'use_ssl', {} }
|
||||||
|
|
||||||
@ -52,6 +56,17 @@ describe manifest do
|
|||||||
should contain_class('glance::notify::rabbitmq')
|
should contain_class('glance::notify::rabbitmq')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should configure the database connection string' do
|
||||||
|
if facts[:os_package_type] == 'debian'
|
||||||
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
should contain_class('openstack::glance').with(
|
||||||
|
:db_connection => "mysql://#{glance_db_user}:#{glance_db_password}@#{database_vip}/#{glance_db_name}#{extra_params}"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
it 'should configure glance api config' do
|
it 'should configure glance api config' do
|
||||||
should contain_glance_api_config('database/max_pool_size').with_value(max_pool_size)
|
should contain_glance_api_config('database/max_pool_size').with_value(max_pool_size)
|
||||||
should contain_glance_api_config('DEFAULT/use_stderr').with_value(use_stderr)
|
should contain_glance_api_config('DEFAULT/use_stderr').with_value(use_stderr)
|
||||||
|
@ -39,6 +39,11 @@ describe manifest do
|
|||||||
primary_controller = Noop.hiera 'primary_controller'
|
primary_controller = Noop.hiera 'primary_controller'
|
||||||
sahara = Noop.hiera_structure('sahara/enabled')
|
sahara = Noop.hiera_structure('sahara/enabled')
|
||||||
|
|
||||||
|
database_vip = Noop.hiera('database_vip')
|
||||||
|
heat_db_password = Noop.hiera_structure 'heat/db_password', 'heat'
|
||||||
|
heat_db_user = Noop.hiera_structure 'heat/db_user', 'heat'
|
||||||
|
heat_db_name = Noop.hiera('heat_db_name', 'heat')
|
||||||
|
|
||||||
it 'should install heat-docker package only after heat-engine' do
|
it 'should install heat-docker package only after heat-engine' do
|
||||||
if !facts.has_key?(:os_package_type) or facts[:os_package_type] != 'ubuntu'
|
if !facts.has_key?(:os_package_type) or facts[:os_package_type] != 'ubuntu'
|
||||||
if facts[:osfamily] == 'RedHat'
|
if facts[:osfamily] == 'RedHat'
|
||||||
@ -57,6 +62,17 @@ describe manifest do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should configure the database connection string' do
|
||||||
|
if facts[:os_package_type] == 'debian'
|
||||||
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
should contain_class('openstack::heat').with(
|
||||||
|
:db_connection => "mysql://#{heat_db_user}:#{heat_db_password}@#{database_vip}/#{heat_db_name}#{extra_params}"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
it 'should configure default_log_levels' do
|
it 'should configure default_log_levels' do
|
||||||
should contain_heat_config('DEFAULT/default_log_levels').with_value(default_log_levels.sort.join(','))
|
should contain_heat_config('DEFAULT/default_log_levels').with_value(default_log_levels.sort.join(','))
|
||||||
end
|
end
|
||||||
|
@ -12,6 +12,11 @@ describe manifest do
|
|||||||
memcache_addresses = Noop.hiera 'memcached_addresses', false
|
memcache_addresses = Noop.hiera 'memcached_addresses', false
|
||||||
memcache_server_port = Noop.hiera 'memcache_server_port', '11211'
|
memcache_server_port = Noop.hiera 'memcache_server_port', '11211'
|
||||||
|
|
||||||
|
database_vip = Noop.hiera('database_vip')
|
||||||
|
nova_db_password = Noop.hiera_structure 'nova/db_password', 'nova'
|
||||||
|
nova_db_user = Noop.hiera_structure 'nova/db_user', 'nova'
|
||||||
|
nova_db_name = Noop.hiera_structure 'nova/db_name', 'nova'
|
||||||
|
|
||||||
let(:memcache_nodes) do
|
let(:memcache_nodes) do
|
||||||
Noop.puppet_function 'get_nodes_hash_by_roles', network_metadata, memcache_roles
|
Noop.puppet_function 'get_nodes_hash_by_roles', network_metadata, memcache_roles
|
||||||
end
|
end
|
||||||
@ -82,6 +87,17 @@ describe manifest do
|
|||||||
:enable => false,
|
:enable => false,
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should configure the database connection string' do
|
||||||
|
if facts[:os_package_type] == 'debian'
|
||||||
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
should contain_class('nova').with(
|
||||||
|
:database_connection => "mysql://#{nova_db_user}:#{nova_db_password}@#{database_vip}/#{nova_db_name}#{extra_params}"
|
||||||
|
)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -14,6 +14,11 @@ if ironic_enabled
|
|||||||
primary_controller = Noop.hiera 'primary_controller'
|
primary_controller = Noop.hiera 'primary_controller'
|
||||||
amqp_durable_queues = Noop.hiera_structure 'ironic/amqp_durable_queues', 'false'
|
amqp_durable_queues = Noop.hiera_structure 'ironic/amqp_durable_queues', 'false'
|
||||||
|
|
||||||
|
database_vip = Noop.hiera('database_vip')
|
||||||
|
ironic_db_password = Noop.hiera_structure 'ironic/db_password', 'ironic'
|
||||||
|
ironic_db_user = Noop.hiera_structure 'ironic/db_user', 'ironic'
|
||||||
|
ironic_db_name = Noop.hiera_structure 'ironic/db_name', 'ironic'
|
||||||
|
|
||||||
it 'should configure default_log_levels' do
|
it 'should configure default_log_levels' do
|
||||||
should contain_ironic_config('DEFAULT/default_log_levels').with_value(default_log_levels.sort.join(','))
|
should contain_ironic_config('DEFAULT/default_log_levels').with_value(default_log_levels.sort.join(','))
|
||||||
end
|
end
|
||||||
@ -29,6 +34,17 @@ if ironic_enabled
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should configure the database connection string' do
|
||||||
|
if facts[:os_package_type] == 'debian'
|
||||||
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
should contain_class('ironic').with(
|
||||||
|
:database_connection => "mysql://#{ironic_db_user}:#{ironic_db_password}@#{database_vip}/#{ironic_db_name}#{extra_params}"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
# TODO (iberezovskiy): uncomment this test after ironic module update
|
# TODO (iberezovskiy): uncomment this test after ironic module update
|
||||||
#it 'should configure default log levels' do
|
#it 'should configure default log levels' do
|
||||||
# should contain_class('ironic::logging').with('default_log_levels' => default_log_levels)
|
# should contain_class('ironic::logging').with('default_log_levels' => default_log_levels)
|
||||||
|
@ -73,6 +73,11 @@ describe manifest do
|
|||||||
token_provider = Noop.hiera('token_provider')
|
token_provider = Noop.hiera('token_provider')
|
||||||
primary_controller = Noop.hiera 'primary_controller'
|
primary_controller = Noop.hiera 'primary_controller'
|
||||||
|
|
||||||
|
database_vip = Noop.hiera('database_vip')
|
||||||
|
keystone_db_password = Noop.hiera_structure 'keystone/db_password', 'keystone'
|
||||||
|
keystone_db_user = Noop.hiera_structure 'keystone/db_user', 'keystone'
|
||||||
|
keystone_db_name = Noop.hiera_structure 'keystone/db_name', 'keystone'
|
||||||
|
|
||||||
default_log_levels_hash = Noop.hiera_hash 'default_log_levels'
|
default_log_levels_hash = Noop.hiera_hash 'default_log_levels'
|
||||||
default_log_levels = Noop.puppet_function 'join_keys_to_values',default_log_levels_hash,'='
|
default_log_levels = Noop.puppet_function 'join_keys_to_values',default_log_levels_hash,'='
|
||||||
|
|
||||||
@ -80,6 +85,18 @@ describe manifest do
|
|||||||
should contain_keystone_config('DEFAULT/default_log_levels').with_value(default_log_levels.sort.join(','))
|
should contain_keystone_config('DEFAULT/default_log_levels').with_value(default_log_levels.sort.join(','))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should configure the database connection string' do
|
||||||
|
if facts[:os_package_type] == 'debian'
|
||||||
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
should contain_class('openstack::keystone').with(
|
||||||
|
:db_connection => "mysql://#{keystone_db_user}:#{keystone_db_password}@#{database_vip}/#{keystone_db_name}#{extra_params}"
|
||||||
|
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
it 'should declare keystone class with admin_token' do
|
it 'should declare keystone class with admin_token' do
|
||||||
should contain_class('keystone').with(
|
should contain_class('keystone').with(
|
||||||
'admin_token' => admin_token
|
'admin_token' => admin_token
|
||||||
|
@ -60,8 +60,12 @@ describe manifest do
|
|||||||
let(:api_bind_port) { '8082' }
|
let(:api_bind_port) { '8082' }
|
||||||
|
|
||||||
let(:sql_connection) do
|
let(:sql_connection) do
|
||||||
read_timeout = '60'
|
if facts[:os_package_type] == 'debian'
|
||||||
"mysql://#{db_user}:#{db_password}@#{db_host}/#{db_name}?read_timeout=#{read_timeout}"
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
"mysql://#{db_user}:#{db_password}@#{db_host}/#{db_name}#{extra_params}"
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:ssl_hash) { Noop.hiera_hash 'use_ssl', {} }
|
let(:ssl_hash) { Noop.hiera_hash 'use_ssl', {} }
|
||||||
|
@ -16,10 +16,26 @@ describe manifest do
|
|||||||
default_log_levels = Noop.puppet_function 'join_keys_to_values',default_log_levels_hash,'='
|
default_log_levels = Noop.puppet_function 'join_keys_to_values',default_log_levels_hash,'='
|
||||||
primary_controller = Noop.hiera 'primary_controller'
|
primary_controller = Noop.hiera 'primary_controller'
|
||||||
|
|
||||||
|
database_vip = Noop.hiera('database_vip')
|
||||||
|
cinder_db_password = Noop.hiera_structure 'cinder/db_password', 'cinder'
|
||||||
|
cinder_db_user = Noop.hiera_structure 'cinder/db_user', 'cinder'
|
||||||
|
cinder_db_name = Noop.hiera_structure 'cinder/db_name', 'cinder'
|
||||||
|
|
||||||
it 'should configure default_log_levels' do
|
it 'should configure default_log_levels' do
|
||||||
should contain_cinder_config('DEFAULT/default_log_levels').with_value(default_log_levels.sort.join(','))
|
should contain_cinder_config('DEFAULT/default_log_levels').with_value(default_log_levels.sort.join(','))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should configure the database connection string' do
|
||||||
|
if facts[:os_package_type] == 'debian'
|
||||||
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
should contain_class('cinder').with(
|
||||||
|
:database_connection => "mysql://#{cinder_db_user}:#{cinder_db_password}@#{database_vip}/#{cinder_db_name}#{extra_params}"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
it 'ensures cinder_config contains "oslo_messaging_rabbit/rabbit_ha_queues" ' do
|
it 'ensures cinder_config contains "oslo_messaging_rabbit/rabbit_ha_queues" ' do
|
||||||
should contain_cinder_config('oslo_messaging_rabbit/rabbit_ha_queues').with(
|
should contain_cinder_config('oslo_messaging_rabbit/rabbit_ha_queues').with(
|
||||||
'value' => rabbit_ha_queues,
|
'value' => rabbit_ha_queues,
|
||||||
|
@ -75,15 +75,21 @@ describe manifest do
|
|||||||
|
|
||||||
it 'database options' do
|
it 'database options' do
|
||||||
database_vip = Noop.hiera('database_vip')
|
database_vip = Noop.hiera('database_vip')
|
||||||
neutron_db_password = neutron_config.fetch('database', {}).fetch('passwd')
|
db_password = neutron_config.fetch('database', {}).fetch('passwd')
|
||||||
neutron_db_user = neutron_config.fetch('database', {}).fetch('user', 'neutron')
|
db_user = neutron_config.fetch('database', {}).fetch('user', 'neutron')
|
||||||
neutron_db_name = neutron_config.fetch('database', {}).fetch('name', 'neutron')
|
db_name = neutron_config.fetch('database', {}).fetch('name', 'neutron')
|
||||||
neutron_db_host = neutron_config.fetch('database', {}).fetch('host', database_vip)
|
db_host = neutron_config.fetch('database', {}).fetch('host', database_vip)
|
||||||
neutron_db_uri = "mysql://#{neutron_db_user}:#{neutron_db_password}@#{neutron_db_host}/#{neutron_db_name}?&read_timeout=60"
|
if facts[:os_package_type] == 'debian'
|
||||||
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
db_connection = "mysql://#{db_user}:#{db_password}@#{db_host}/#{db_name}#{extra_params}"
|
||||||
|
|
||||||
should contain_class('neutron::server').with(
|
should contain_class('neutron::server').with(
|
||||||
'sync_db' => 'false',
|
'sync_db' => 'false',
|
||||||
'database_retry_interval' => '2',
|
'database_retry_interval' => '2',
|
||||||
'database_connection' => neutron_db_uri,
|
'database_connection' => db_connection,
|
||||||
'database_max_retries' => '-1',
|
'database_max_retries' => '-1',
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
@ -8,6 +8,22 @@ describe manifest do
|
|||||||
storage_hash = Noop.hiera 'storage_hash'
|
storage_hash = Noop.hiera 'storage_hash'
|
||||||
ceilometer_hash = Noop.hiera 'ceilometer_hash', { 'enabled' => false }
|
ceilometer_hash = Noop.hiera 'ceilometer_hash', { 'enabled' => false }
|
||||||
|
|
||||||
|
database_vip = Noop.hiera('database_vip')
|
||||||
|
cinder_db_password = Noop.hiera_structure 'cinder/db_password', 'cinder'
|
||||||
|
cinder_db_user = Noop.hiera_structure 'cinder/db_user', 'cinder'
|
||||||
|
cinder_db_name = Noop.hiera_structure 'cinder/db_name', 'cinder'
|
||||||
|
|
||||||
|
it 'should configure the database connection string' do
|
||||||
|
if facts[:os_package_type] == 'debian'
|
||||||
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
should contain_class('openstack::cinder').with(
|
||||||
|
:sql_connection => "mysql://#{cinder_db_user}:#{cinder_db_password}@#{database_vip}/#{cinder_db_name}#{extra_params}"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
if Noop.hiera 'use_ceph' and !(storage_hash['volumes_lvm']) and !(member($roles, 'cinder-vmware'))
|
if Noop.hiera 'use_ceph' and !(storage_hash['volumes_lvm']) and !(member($roles, 'cinder-vmware'))
|
||||||
it { should contain_class('ceph') }
|
it { should contain_class('ceph') }
|
||||||
end
|
end
|
||||||
|
@ -10,6 +10,11 @@ describe manifest do
|
|||||||
storage_config = Noop.hiera_structure 'storage'
|
storage_config = Noop.hiera_structure 'storage'
|
||||||
amqp_durable_queues = Noop.hiera_structure 'ironic/amqp_durable_queues', 'false'
|
amqp_durable_queues = Noop.hiera_structure 'ironic/amqp_durable_queues', 'false'
|
||||||
|
|
||||||
|
database_vip = Noop.hiera('database_vip')
|
||||||
|
ironic_db_password = Noop.hiera_structure 'ironic/db_password', 'ironic'
|
||||||
|
ironic_db_user = Noop.hiera_structure 'ironic/db_user', 'ironic'
|
||||||
|
ironic_db_name = Noop.hiera_structure 'ironic/db_name', 'ironic'
|
||||||
|
|
||||||
if ironic_enabled
|
if ironic_enabled
|
||||||
it 'should ensure that ironic-fa-deploy is installed' do
|
it 'should ensure that ironic-fa-deploy is installed' do
|
||||||
should contain_package('ironic-fa-deploy').with('ensure' => 'present')
|
should contain_package('ironic-fa-deploy').with('ensure' => 'present')
|
||||||
@ -26,6 +31,17 @@ describe manifest do
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should configure the database connection string' do
|
||||||
|
if facts[:os_package_type] == 'debian'
|
||||||
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
should contain_class('ironic').with(
|
||||||
|
:database_connection => "mysql://#{ironic_db_user}:#{ironic_db_password}@#{database_vip}/#{ironic_db_name}#{extra_params}"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
management_vip = Noop.hiera 'management_vip'
|
management_vip = Noop.hiera 'management_vip'
|
||||||
service_endpoint = Noop.hiera 'service_endpoint', management_vip
|
service_endpoint = Noop.hiera 'service_endpoint', management_vip
|
||||||
neutron_endpoint = Noop.hiera 'neutron_endpoint', service_endpoint
|
neutron_endpoint = Noop.hiera 'neutron_endpoint', service_endpoint
|
||||||
|
@ -95,7 +95,12 @@ describe manifest do
|
|||||||
max_retries = '-1'
|
max_retries = '-1'
|
||||||
idle_timeout = '3600'
|
idle_timeout = '3600'
|
||||||
read_timeout = '60'
|
read_timeout = '60'
|
||||||
sql_connection = "mysql://#{db_user}:#{db_password}@#{db_host}/#{db_name}?read_timeout=#{read_timeout}"
|
if facts[:os_package_type] == 'debian'
|
||||||
|
extra_params = '?charset=utf8&read_timeout=60'
|
||||||
|
else
|
||||||
|
extra_params = '?charset=utf8'
|
||||||
|
end
|
||||||
|
sql_connection = "mysql://#{db_user}:#{db_password}@#{db_host}/#{db_name}#{extra_params}"
|
||||||
|
|
||||||
should contain_class('sahara').with(
|
should contain_class('sahara').with(
|
||||||
'auth_uri' => auth_url,
|
'auth_uri' => auth_url,
|
||||||
|
@ -37,6 +37,7 @@ class Noop
|
|||||||
:concat_basedir => '/tmp/',
|
:concat_basedir => '/tmp/',
|
||||||
:l23_os => 'ubuntu',
|
:l23_os => 'ubuntu',
|
||||||
:lsbdistcodename => 'trusty',
|
:lsbdistcodename => 'trusty',
|
||||||
|
:os_package_type => 'debian',
|
||||||
}.merge override_facts
|
}.merge override_facts
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -58,6 +59,7 @@ class Noop
|
|||||||
:l3_default_route => '172.16.1.1',
|
:l3_default_route => '172.16.1.1',
|
||||||
:concat_basedir => '/tmp/',
|
:concat_basedir => '/tmp/',
|
||||||
:l23_os => 'centos6',
|
:l23_os => 'centos6',
|
||||||
|
:os_package_type => 'rpm',
|
||||||
}.merge override_facts
|
}.merge override_facts
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user