Refactor nova quota usage
Remove deprecated options and introduce new quota options. Right now we use some deprecated parameters from onva module: quota_volumes, quota_gigabytes and have no ability to use new options, like: quota_ram, quota_fixed_ips, quota_security_group_rules, quota_server_groups, quota_server_group_members. This patch switches to usage of new parameters. Change-Id: Id3c6aaafaf98836091974db9060ac628837c1e22 Closes-Bug: #1519722
This commit is contained in:
parent
96da5b4a1e
commit
3560151909
|
@ -219,18 +219,24 @@ class openstack_tasks::openstack_controller::openstack_controller {
|
|||
}
|
||||
|
||||
class { '::nova::quota':
|
||||
quota_instances => pick($nova_hash['quota_instances'], 100),
|
||||
quota_cores => pick($nova_hash['quota_cores'], 100),
|
||||
quota_volumes => pick($nova_hash['quota_volumes'], 100),
|
||||
quota_gigabytes => pick($nova_hash['quota_gigabytes'], 1000),
|
||||
quota_floating_ips => pick($nova_hash['quota_floating_ips'], 100),
|
||||
quota_metadata_items => pick($nova_hash['quota_metadata_items'], 1024),
|
||||
quota_max_injected_files => pick($nova_hash['quota_max_injected_files'], 50),
|
||||
quota_max_injected_file_content_bytes => pick($nova_hash['quota_max_injected_file_content_bytes'], 102400),
|
||||
quota_injected_file_path_length => pick($nova_hash['quota_injected_file_path_length'], 4096),
|
||||
quota_security_groups => pick($nova_hash['quota_security_groups'], 10),
|
||||
quota_key_pairs => pick($nova_hash['quota_key_pairs'], 10),
|
||||
quota_driver => $nova_quota_driver
|
||||
quota_instances => pick($nova_hash['quota_instances'], 100),
|
||||
quota_cores => pick($nova_hash['quota_cores'], 100),
|
||||
quota_ram => pick($nova_hash['quota_ram'], 51200),
|
||||
quota_floating_ips => pick($nova_hash['quota_floating_ips'], 100),
|
||||
quota_fixed_ips => pick($nova_hash['quota_fixed_ips'], -1),
|
||||
quota_metadata_items => pick($nova_hash['quota_metadata_items'], 1024),
|
||||
quota_injected_files => pick($nova_hash['quota_injected_files'], 50),
|
||||
quota_injected_file_content_bytes => pick($nova_hash['quota_injected_file_content_bytes'], 102400),
|
||||
quota_injected_file_path_length => pick($nova_hash['quota_injected_file_path_length'], 4096),
|
||||
quota_security_groups => pick($nova_hash['quota_security_groups'], 10),
|
||||
quota_security_group_rules => pick($nova_hash['quota_security_group_rules'], 20),
|
||||
quota_key_pairs => pick($nova_hash['quota_key_pairs'], 10),
|
||||
quota_server_groups => pick($nova_hash['quota_server_groups'], 10),
|
||||
quota_server_group_members => pick($nova_hash['quota_server_group_members'], 10),
|
||||
reservation_expire => pick($nova_hash['reservation_expire'], 86400),
|
||||
until_refresh => pick($nova_hash['until_refresh'], 0),
|
||||
max_age => pick($nova_hash['max_age'], 0),
|
||||
quota_driver => $nova_quota_driver
|
||||
}
|
||||
|
||||
$default_limits = {
|
||||
|
|
|
@ -95,14 +95,6 @@ describe manifest do
|
|||
Noop.hiera_hash('use_ssl', {}), {}, 'nova', 'internal', 'hostname',
|
||||
[nova_endpoint]
|
||||
|
||||
let(:nova_quota_driver) do
|
||||
if Noop.hiera 'nova_quota'
|
||||
'nova.quota.DbQuotaDriver'
|
||||
else
|
||||
'nova.quota.NoopQuotaDriver'
|
||||
end
|
||||
end
|
||||
|
||||
let(:auto_assign_floating_ip) { Noop.hiera 'auto_assign_floating_ip', false }
|
||||
let(:amqp_hosts) { Noop.hiera 'amqp_hosts', '' }
|
||||
let(:rabbit_hash) { Noop.hiera_hash 'rabbit', {} }
|
||||
|
@ -128,6 +120,8 @@ describe manifest do
|
|||
end
|
||||
end
|
||||
|
||||
let(:nova_quota) { Noop.hiera 'nova_quota', false }
|
||||
|
||||
let(:glance_protocol) { Noop.puppet_function 'get_ssl_property',ssl_hash,{},'glance','internal','protocol','http' }
|
||||
let(:glance_endpoint) { Noop.puppet_function 'get_ssl_property',ssl_hash,{},'glance','internal','hostname',[Noop.hiera('glance_endpoint', ''), management_vip] }
|
||||
let(:glance_ssl) { Noop.puppet_function 'get_ssl_property',ssl_hash,{},'glance','internal','usage',false }
|
||||
|
@ -246,23 +240,6 @@ describe manifest do
|
|||
)
|
||||
end
|
||||
|
||||
it 'should configure nova::quota with correct options' do
|
||||
should contain_class('nova::quota').with(
|
||||
:quota_instances => Noop.puppet_function('pick', nova_hash['quota_instances'], 100),
|
||||
:quota_cores => Noop.puppet_function('pick', nova_hash['quota_cores'], 100),
|
||||
:quota_volumes => Noop.puppet_function('pick', nova_hash['quota_volumes'], 100),
|
||||
:quota_gigabytes => Noop.puppet_function('pick', nova_hash['quota_gigabytes'], 1000),
|
||||
:quota_floating_ips => Noop.puppet_function('pick', nova_hash['quota_floating_ips'], 100),
|
||||
:quota_metadata_items => Noop.puppet_function('pick', nova_hash['quota_metadata_items'], 1024),
|
||||
:quota_max_injected_files => Noop.puppet_function('pick', nova_hash['quota_max_injected_files'], 50),
|
||||
:quota_max_injected_file_content_bytes => Noop.puppet_function('pick', nova_hash['quota_max_injected_file_content_bytes'], 102400),
|
||||
:quota_injected_file_path_length => Noop.puppet_function('pick', nova_hash['quota_injected_file_path_length'], 4096),
|
||||
:quota_security_groups => Noop.puppet_function('pick', nova_hash['quota_security_groups'], 10),
|
||||
:quota_key_pairs => Noop.puppet_function('pick', nova_hash['quota_key_pairs'], 10),
|
||||
:quota_driver => nova_quota_driver
|
||||
)
|
||||
end
|
||||
|
||||
it 'should configure nova::api' do
|
||||
# FIXME(aschultz): check rate limits
|
||||
should contain_class('nova::api').with(
|
||||
|
@ -353,11 +330,37 @@ describe manifest do
|
|||
)
|
||||
end
|
||||
|
||||
it 'should configure nova quota for injected file path length' do
|
||||
should contain_class('nova::quota').with('quota_injected_file_path_length' => '4096')
|
||||
should contain_nova_config('DEFAULT/quota_injected_file_path_length').with(
|
||||
'value' => '4096',
|
||||
)
|
||||
it 'should configure nova quota if required' do
|
||||
if nova_quota
|
||||
should contain_class('nova::quota').with('quota_driver' => 'nova.quota.DbQuotaDriver')
|
||||
|
||||
{
|
||||
:quota_instances => Noop.puppet_function('pick', nova_hash['quota_instances'], 100),
|
||||
:quota_cores => Noop.puppet_function('pick', nova_hash['quota_cores'], 100),
|
||||
:quota_ram => Noop.puppet_function('pick', nova_hash['quota_ram'], 51200),
|
||||
:quota_floating_ips => Noop.puppet_function('pick', nova_hash['quota_floating_ips'], 100),
|
||||
:quota_fixed_ips => Noop.puppet_function('pick', nova_hash['quota_fixed_ips'], -1),
|
||||
:quota_metadata_items => Noop.puppet_function('pick', nova_hash['quota_metadata_items'], 1024),
|
||||
:quota_injected_files => Noop.puppet_function('pick', nova_hash['quota_injected_files'], 50),
|
||||
:quota_injected_file_content_bytes => Noop.puppet_function('pick', nova_hash['quota_injected_file_content_bytes'], 102400),
|
||||
:quota_injected_file_path_length => Noop.puppet_function('pick', nova_hash['quota_injected_file_path_length'], 4096),
|
||||
:quota_security_groups => Noop.puppet_function('pick', nova_hash['quota_security_groups'], 10),
|
||||
:quota_security_group_rules => Noop.puppet_function('pick', nova_hash['quota_security_group_rules'], 20),
|
||||
:quota_key_pairs => Noop.puppet_function('pick', nova_hash['quota_key_pairs'], 10),
|
||||
:quota_server_groups => Noop.puppet_function('pick', nova_hash['quota_server_groups'], 10),
|
||||
:quota_server_group_members => Noop.puppet_function('pick', nova_hash['quota_server_group_members'], 10),
|
||||
:reservation_expire => Noop.puppet_function('pick', nova_hash['reservation_expire'], 86400),
|
||||
:until_refresh => Noop.puppet_function('pick', nova_hash['until_refresh'], 0),
|
||||
:max_age => Noop.puppet_function('pick', nova_hash['max_age'], 0),
|
||||
}.each_pair do |config, value|
|
||||
should contain_class('nova::quota').with(config => value)
|
||||
should contain_nova_config("DEFAULT/#{config}").with(
|
||||
'value' => value,
|
||||
)
|
||||
end
|
||||
else
|
||||
should contain_class('nova::quota').with('quota_driver' => 'nova.quota.NoopQuotaDriver')
|
||||
end
|
||||
end
|
||||
|
||||
it 'nova config should be modified by override_resources' do
|
||||
|
|
Loading…
Reference in New Issue