Separate out api/taskmanager config settings
This commit removes config settings for the API that were set from within the taskmanager class, and moves them into the API. This fixes the issue where some neutron settings didn't get set in the api config file when the api and taskmanager were run on separate hosts. Specifically, API requests will now return the IP address of the DB instance when Neutron is used. Change-Id: I370f137ce12fedb527f1ae7adc013e1dac4dbffe
This commit is contained in:
parent
3705c795af
commit
64b2ca9a5e
@ -116,6 +116,10 @@
|
||||
# (optional) The strategy to use for authentication.
|
||||
# Defaults to 'keystone'
|
||||
#
|
||||
# [*taskmanager_queue*]
|
||||
# (optional) Message queue name the Taskmanager will listen to.
|
||||
# Defaults to 'taskmanager'.
|
||||
#
|
||||
# DEPRECATED PARAMETERS
|
||||
#
|
||||
# [*ensure_package*]
|
||||
@ -146,6 +150,7 @@ class trove::api(
|
||||
$manage_service = true,
|
||||
$package_ensure = 'present',
|
||||
$auth_strategy = 'keystone',
|
||||
$taskmanager_queue = 'taskmanager',
|
||||
# DEPRECATED PARAMETERS
|
||||
$ensure_package = undef,
|
||||
) inherits trove {
|
||||
@ -263,6 +268,24 @@ the future release. Please use trove::api::package_ensure instead.")
|
||||
'DEFAULT/heat_service_type': value => $::trove::heat_service_type;
|
||||
}
|
||||
|
||||
if $::trove::use_neutron {
|
||||
trove_config {
|
||||
'DEFAULT/network_label_regex': value => '.*';
|
||||
'DEFAULT/network_driver': value => 'trove.network.neutron.NeutronDriver';
|
||||
'DEFAULT/default_neutron_networks': value => $::trove::default_neutron_networks;
|
||||
}
|
||||
} else {
|
||||
trove_config {
|
||||
'DEFAULT/network_label_regex': value => '^private$';
|
||||
'DEFAULT/network_driver': value => 'trove.network.nova.NovaNetwork';
|
||||
'DEFAULT/default_neutron_networks': ensure => absent;
|
||||
}
|
||||
}
|
||||
|
||||
trove_config {
|
||||
'DEFAULT/taskmanager_queue': value => $taskmanager_queue;
|
||||
}
|
||||
|
||||
oslo::messaging::notifications { 'trove_config':
|
||||
transport_url => $::trove::notification_transport_url,
|
||||
driver => $::trove::notification_driver,
|
||||
|
@ -252,6 +252,10 @@
|
||||
# (optional) Use Neutron
|
||||
# Defaults to true
|
||||
#
|
||||
# [*default_neutron_networks*]
|
||||
# (optional) The network that trove will attach by default.
|
||||
# Defaults to undef.
|
||||
#
|
||||
# [*package_ensure*]
|
||||
# (optional) The state of the package.
|
||||
# Defaults to 'present'
|
||||
@ -343,6 +347,7 @@ class trove(
|
||||
$heat_service_type = 'orchestration',
|
||||
$neutron_service_type = 'network',
|
||||
$use_neutron = true,
|
||||
$default_neutron_networks = $::os_service_default,
|
||||
$package_ensure = 'present',
|
||||
# DEPRECATED PARAMETERS
|
||||
$rabbit_host = $::os_service_default,
|
||||
|
@ -107,10 +107,10 @@ class trove::taskmanager(
|
||||
$heat_url = false,
|
||||
$package_ensure = 'present',
|
||||
$guestagent_config_file = '/etc/trove/trove-guestagent.conf',
|
||||
$default_neutron_networks = undef,
|
||||
$taskmanager_queue = 'taskmanager',
|
||||
$taskmanager_manager = 'trove.taskmanager.manager.Manager',
|
||||
#DEPRECATED OPTIONS
|
||||
$default_neutron_networks = undef,
|
||||
$taskmanager_queue = undef,
|
||||
$use_guestagent_template = true,
|
||||
$ensure_package = undef,
|
||||
) inherits trove {
|
||||
@ -126,6 +126,16 @@ the future release. Please use trove::taskmanager::package_ensure instead.")
|
||||
$package_ensure_real = $package_ensure
|
||||
}
|
||||
|
||||
if $default_neutron_networks {
|
||||
warning("trove::taskmanager::default_neutron_networks is deprecated and will be removed in \
|
||||
the future release. Please use trove::default_neutron_networks instead.")
|
||||
}
|
||||
$default_neutron_networks_real = pick($default_neutron_networks, $::trove::default_neutron_networks)
|
||||
|
||||
if $taskmanager_queue {
|
||||
fail('Please use trove::api::taskmanager_queue instead to configure taskmanager_queue')
|
||||
}
|
||||
|
||||
if $::trove::database_connection {
|
||||
if($::trove::database_connection =~ /mysql:\/\/\S+:\S+@\S+\/\S+/) {
|
||||
require '::mysql::bindings'
|
||||
@ -152,10 +162,6 @@ the future release. Please use trove::taskmanager::package_ensure instead.")
|
||||
'DEFAULT/taskmanager_manager': value => $taskmanager_manager;
|
||||
}
|
||||
|
||||
trove_config {
|
||||
'DEFAULT/taskmanager_queue': value => $taskmanager_queue;
|
||||
}
|
||||
|
||||
# region name
|
||||
if $::trove::os_region_name {
|
||||
trove_taskmanager_config { 'DEFAULT/os_region_name': value => $::trove::os_region_name }
|
||||
@ -243,24 +249,12 @@ the future release. Please use trove::taskmanager::package_ensure instead.")
|
||||
}
|
||||
|
||||
if $::trove::use_neutron {
|
||||
trove_config {
|
||||
'DEFAULT/network_label_regex': value => '.*';
|
||||
'DEFAULT/network_driver': value => 'trove.network.neutron.NeutronDriver';
|
||||
'DEFAULT/default_neutron_networks': value => $default_neutron_networks;
|
||||
}
|
||||
|
||||
trove_taskmanager_config {
|
||||
'DEFAULT/network_label_regex': value => '.*';
|
||||
'DEFAULT/network_driver': value => 'trove.network.neutron.NeutronDriver';
|
||||
'DEFAULT/default_neutron_networks': value => $default_neutron_networks;
|
||||
'DEFAULT/default_neutron_networks': value => $default_neutron_networks_real;
|
||||
}
|
||||
} else {
|
||||
trove_config {
|
||||
'DEFAULT/network_label_regex': value => '^private$';
|
||||
'DEFAULT/network_driver': value => 'trove.network.nova.NovaNetwork';
|
||||
'DEFAULT/default_neutron_networks': ensure => absent;
|
||||
}
|
||||
|
||||
trove_taskmanager_config {
|
||||
'DEFAULT/network_label_regex': value => '^private$';
|
||||
'DEFAULT/network_driver': value => 'trove.network.nova.NovaNetwork';
|
||||
|
@ -0,0 +1,10 @@
|
||||
---
|
||||
deprecations:
|
||||
- trove::taskmanager::default_neutron_networks is now deprecated and will be
|
||||
removed in the future release. Please use trove::default_neutron_networks
|
||||
instead.
|
||||
- trove::taskmanager::taskmanager_queue is now been removed.
|
||||
Please use trove::api::taskmanager_queue instead.
|
||||
fixes:
|
||||
- Neutron settings were not applied to the API when the API and taskmanager
|
||||
were run on separate hosts. This has now been corrected.
|
@ -66,6 +66,7 @@ describe 'trove::api' do
|
||||
is_expected.to contain_trove_config('DEFAULT/nova_proxy_admin_user').with_value('admin')
|
||||
is_expected.to contain_trove_config('DEFAULT/nova_proxy_admin_pass').with_value('verysecrete')
|
||||
is_expected.to contain_trove_config('DEFAULT/nova_proxy_admin_tenant_name').with_value('admin')
|
||||
is_expected.to contain_trove_config('DEFAULT/default_neutron_networks').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_trove_config('DEFAULT/control_exchange').with_value('trove')
|
||||
is_expected.to contain_trove_config('DEFAULT/os_region_name').with_value('RegionOne')
|
||||
is_expected.to contain_trove_config('DEFAULT/nova_compute_service_type').with_value('compute')
|
||||
@ -79,6 +80,7 @@ describe 'trove::api' do
|
||||
is_expected.to contain_trove_config('DEFAULT/http_delete_rate').with_value('200')
|
||||
is_expected.to contain_trove_config('DEFAULT/http_mgmt_post_rate').with_value('200')
|
||||
is_expected.to contain_trove_config('DEFAULT/transport_url').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_trove_config('DEFAULT/taskmanager_queue').with_value('taskmanager')
|
||||
is_expected.to contain_trove_config('DEFAULT/rpc_response_timeout').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_trove_config('DEFAULT/control_exchange').with_value('trove')
|
||||
is_expected.to contain_trove_config('DEFAULT/remote_nova_client').with_ensure('absent')
|
||||
@ -201,6 +203,49 @@ describe 'trove::api' do
|
||||
end
|
||||
end
|
||||
|
||||
context 'when using Neutron' do
|
||||
let :pre_condition do
|
||||
"class { 'trove':
|
||||
nova_proxy_admin_pass => 'verysecrete',
|
||||
use_neutron => true,
|
||||
default_neutron_networks => 'trove_service',
|
||||
}
|
||||
class { '::trove::keystone::authtoken':
|
||||
password => 'a_big_secret',
|
||||
}"
|
||||
end
|
||||
|
||||
it 'configures trove to use the Neutron network driver' do
|
||||
is_expected.to contain_trove_config('DEFAULT/default_neutron_networks').with_value('trove_service')
|
||||
is_expected.to contain_trove_config('DEFAULT/network_driver').with_value('trove.network.neutron.NeutronDriver')
|
||||
end
|
||||
|
||||
it 'configures trove to use any network label' do
|
||||
is_expected.to contain_trove_config('DEFAULT/network_label_regex').with_value('.*')
|
||||
end
|
||||
end
|
||||
|
||||
context 'when using Nova Network' do
|
||||
let :pre_condition do
|
||||
"class { 'trove':
|
||||
nova_proxy_admin_pass => 'verysecrete',
|
||||
use_neutron => false
|
||||
}
|
||||
class { '::trove::keystone::authtoken':
|
||||
password => 'a_big_secret',
|
||||
}"
|
||||
end
|
||||
|
||||
it 'configures trove to use the Nova Network network driver' do
|
||||
is_expected.to contain_trove_config('DEFAULT/default_neutron_networks').with_ensure('absent')
|
||||
is_expected.to contain_trove_config('DEFAULT/network_driver').with_value('trove.network.nova.NovaNetwork')
|
||||
end
|
||||
|
||||
it 'configures trove to use the "private" network label' do
|
||||
is_expected.to contain_trove_config('DEFAULT/network_label_regex').with_value('^private$')
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context 'with SSL enabled with kombu' do
|
||||
|
@ -54,15 +54,13 @@ describe 'trove::taskmanager' do
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/nova_proxy_admin_user').with_value('admin')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/nova_proxy_admin_pass').with_value('verysecrete')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/nova_proxy_admin_tenant_name').with_value('admin')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/default_neutron_networks').with_value(nil)
|
||||
is_expected.to contain_trove_config('DEFAULT/default_neutron_networks').with_value(nil)
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/default_neutron_networks').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/os_region_name').with_value('RegionOne')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/nova_compute_service_type').with_value('compute')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/cinder_service_type').with_value('volume')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/swift_service_type').with_value('object-store')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/heat_service_type').with_value('orchestration')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/neutron_service_type').with_value('network')
|
||||
is_expected.to contain_trove_config('DEFAULT/taskmanager_queue').with_value('taskmanager')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/taskmanager_manager').with_value('trove.taskmanager.manager.Manager')
|
||||
is_expected.to contain_file('/etc/trove/trove-guestagent.conf')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/transport_url').with_value('<SERVICE DEFAULT>')
|
||||
@ -203,15 +201,12 @@ describe 'trove::taskmanager' do
|
||||
end
|
||||
|
||||
it 'configures trove to use the Neutron network driver' do
|
||||
is_expected.to contain_trove_config('DEFAULT/default_neutron_networks').with_value('trove_service')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/default_neutron_networks').with_value('trove_service')
|
||||
is_expected.to contain_trove_config('DEFAULT/network_driver').with_value('trove.network.neutron.NeutronDriver')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/network_driver').with_value('trove.network.neutron.NeutronDriver')
|
||||
|
||||
end
|
||||
|
||||
it 'configures trove to use any network label' do
|
||||
is_expected.to contain_trove_config('DEFAULT/network_label_regex').with_value('.*')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/network_label_regex').with_value('.*')
|
||||
end
|
||||
end
|
||||
@ -225,13 +220,11 @@ describe 'trove::taskmanager' do
|
||||
end
|
||||
|
||||
it 'configures trove to use the Nova Network network driver' do
|
||||
is_expected.to contain_trove_config('DEFAULT/network_driver').with_value('trove.network.nova.NovaNetwork')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/default_neutron_networks').with_ensure('absent')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/network_driver').with_value('trove.network.nova.NovaNetwork')
|
||||
|
||||
end
|
||||
|
||||
it 'configures trove to use the "private" network label' do
|
||||
is_expected.to contain_trove_config('DEFAULT/network_label_regex').with_value('^private$')
|
||||
is_expected.to contain_trove_taskmanager_config('DEFAULT/network_label_regex').with_value('^private$')
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user