Merge "Add upgrade_levels configuration options"

This commit is contained in:
Jenkins
2015-11-20 03:30:28 +00:00
committed by Gerrit Code Review
2 changed files with 170 additions and 4 deletions

View File

@@ -292,6 +292,43 @@
# <service_type>:<service_name>:<endpoint_type>
# Defaults to 'volumev2:cinderv2:publicURL'
#
# [*upgrade_level_cells*]
# (optional) Sets a version cap for messages sent to local cells services
# Defaults to undef
#
# [*upgrade_level_cert*]
# (optional) Sets a version cap for messages sent to cert services
# Defaults to undef
#
# [*upgrade_level_compute*]
# (optional) Sets a version cap for messages sent to compute services
# Defaults to undef
#
# [*upgrade_level_conductor*]
# (optional) Sets a version cap for messages sent to conductor services
# Defaults to undef
#
# [*upgrade_level_console*]
# (optional) Sets a version cap for messages sent to console services
# Defaults to undef
#
# [*upgrade_level_consoleauth*]
# (optional) Sets a version cap for messages sent to consoleauth services
# Defaults to undef
#
# [*upgrade_level_intercell*]
# (optional) Sets a version cap for messages sent between cells services
# Defaults to undef
#
# [*upgrade_level_network*]
# (optional) Sets a version cap for messages sent to network services
# Defaults to undef
#
# [*upgrade_level_scheduler*]
# (optional) Sets a version cap for messages sent to scheduler services
# Defaults to undef
#
class nova(
$ensure_package = 'present',
$database_connection = undef,
@@ -359,7 +396,15 @@ class nova(
$notify_on_state_change = undef,
$os_region_name = undef,
$cinder_catalog_info = 'volumev2:cinderv2:publicURL',
# DEPRECATED PARAMETERS
$upgrade_level_cells = undef,
$upgrade_level_cert = undef,
$upgrade_level_compute = undef,
$upgrade_level_conductor = undef,
$upgrade_level_console = undef,
$upgrade_level_consoleauth = undef,
$upgrade_level_intercell = undef,
$upgrade_level_network = undef,
$upgrade_level_scheduler = undef,
) inherits nova::params {
# maintain backward compatibility
@@ -653,6 +698,106 @@ class nova(
'cinder/os_region_name': ensure => absent;
}
}
if $upgrade_level_cells {
nova_config {
'upgrade_levels/cells': value => $upgrade_level_cells;
}
}
else {
nova_config {
'upgrade_levels/cells': ensure => absent;
}
}
if $upgrade_level_cert {
nova_config {
'upgrade_levels/cert': value => $upgrade_level_cert;
}
}
else {
nova_config {
'upgrade_levels/cert': ensure => absent;
}
}
if $upgrade_level_compute {
nova_config {
'upgrade_levels/compute': value => $upgrade_level_compute;
}
}
else {
nova_config {
'upgrade_levels/compute': ensure => absent;
}
}
if $upgrade_level_conductor {
nova_config {
'upgrade_levels/conductor': value => $upgrade_level_conductor;
}
}
else {
nova_config {
'upgrade_levels/conductor': ensure => absent;
}
}
if $upgrade_level_console {
nova_config {
'upgrade_levels/console': value => $upgrade_level_console;
}
}
else {
nova_config {
'upgrade_levels/console': ensure => absent;
}
}
if $upgrade_level_consoleauth {
nova_config {
'upgrade_levels/consoleauth': value => $upgrade_level_consoleauth;
}
}
else {
nova_config {
'upgrade_levels/consoleauth': ensure => absent;
}
}
if $upgrade_level_intercell {
nova_config {
'upgrade_levels/intercell': value => $upgrade_level_intercell;
}
}
else {
nova_config {
'upgrade_levels/intercell': ensure => absent;
}
}
if $upgrade_level_network {
nova_config {
'upgrade_levels/network': value => $upgrade_level_network;
}
}
else {
nova_config {
'upgrade_levels/network': ensure => absent;
}
}
if $upgrade_level_scheduler {
nova_config {
'upgrade_levels/scheduler': value => $upgrade_level_scheduler;
}
}
else {
nova_config {
'upgrade_levels/scheduler': ensure => absent;
}
}
# Deprecated in Juno, removed in Kilo
nova_config {
'DEFAULT/os_region_name': ensure => absent;

View File

@@ -101,7 +101,16 @@ describe 'nova' do
:notification_topics => 'openstack',
:notify_api_faults => true,
:report_interval => '60',
:os_region_name => 'MyRegion' }
:os_region_name => 'MyRegion',
:upgrade_level_cells => '1.0.0',
:upgrade_level_cert => '1.0.0',
:upgrade_level_compute => '1.0.0',
:upgrade_level_conductor => '1.0.0',
:upgrade_level_console => '1.0.0',
:upgrade_level_consoleauth => '1.0.0',
:upgrade_level_intercell => '1.0.0',
:upgrade_level_network => '1.0.0',
:upgrade_level_scheduler => '1.0.0' }
end
it 'installs packages' do
@@ -134,6 +143,18 @@ describe 'nova' do
is_expected.to contain_nova_config('DEFAULT/memcached_servers').with_value('memcached01:11211,memcached02:11211')
end
it 'configures upgrade_levels' do
is_expected.to contain_nova_config('upgrade_levels/cells').with_value('1.0.0')
is_expected.to contain_nova_config('upgrade_levels/cert').with_value('1.0.0')
is_expected.to contain_nova_config('upgrade_levels/compute').with_value('1.0.0')
is_expected.to contain_nova_config('upgrade_levels/conductor').with_value('1.0.0')
is_expected.to contain_nova_config('upgrade_levels/console').with_value('1.0.0')
is_expected.to contain_nova_config('upgrade_levels/consoleauth').with_value('1.0.0')
is_expected.to contain_nova_config('upgrade_levels/intercell').with_value('1.0.0')
is_expected.to contain_nova_config('upgrade_levels/network').with_value('1.0.0')
is_expected.to contain_nova_config('upgrade_levels/scheduler').with_value('1.0.0')
end
it 'configures various things' do
is_expected.to contain_nova_config('DEFAULT/state_path').with_value('/var/lib/nova2')
is_expected.to contain_nova_config('DEFAULT/lock_path').with_value('/var/locky/path')