limit: Add default service_name/type

Add default service_name/type according to the default values in
glance::keystone::auth, to reduce the required parameters to enable
the unified limit feature.

Change-Id: Ie650cbb0a3d7da7a1235ffbd6fb52a3c6c0df6ae
This commit is contained in:
Takashi Kajinami
2024-12-10 17:33:37 +09:00
parent 6dd07c0f91
commit 7485fcb401
2 changed files with 82 additions and 108 deletions

View File

@@ -74,30 +74,38 @@
#
class glance::limit(
String[1] $password,
Optional[String[1]] $endpoint_id = undef,
Optional[String[1]] $endpoint_service_name = undef,
Optional[String[1]] $endpoint_service_type = undef,
$endpoint_region_name = $facts['os_service_default'],
$endpoint_interface = $facts['os_service_default'],
$username = 'glance',
$auth_url = 'http://localhost:5000',
$project_name = 'services',
$user_domain_name = 'Default',
$project_domain_name = 'Default',
$system_scope = $facts['os_service_default'],
$auth_type = 'password',
$service_type = $facts['os_service_default'],
$valid_interfaces = $facts['os_service_default'],
$region_name = $facts['os_service_default'],
$endpoint_override = $facts['os_service_default'],
Optional[String[1]] $endpoint_id = undef,
String[1] $endpoint_service_name = 'glance',
String[1] $endpoint_service_type = 'image',
$endpoint_region_name = $facts['os_service_default'],
$endpoint_interface = $facts['os_service_default'],
$username = 'glance',
$auth_url = 'http://localhost:5000',
$project_name = 'services',
$user_domain_name = 'Default',
$project_domain_name = 'Default',
$system_scope = $facts['os_service_default'],
$auth_type = 'password',
$service_type = $facts['os_service_default'],
$valid_interfaces = $facts['os_service_default'],
$region_name = $facts['os_service_default'],
$endpoint_override = $facts['os_service_default'],
) {
include glance::deps
if $endpoint_id != undef {
$endpoint_service_name_real = undef
$endpoint_service_type_real = undef
} else {
$endpoint_service_name_real = $endpoint_service_name
$endpoint_service_type_real = $endpoint_service_type
}
oslo::limit { 'glance_api_config':
endpoint_id => $endpoint_id,
endpoint_service_name => $endpoint_service_name,
endpoint_service_type => $endpoint_service_type,
endpoint_service_name => $endpoint_service_name_real,
endpoint_service_type => $endpoint_service_type_real,
endpoint_region_name => $endpoint_region_name,
endpoint_interface => $endpoint_interface,
username => $username,

View File

@@ -10,6 +10,30 @@ describe 'glance::limit' do
}
end
context 'without endpoint_id' do
it 'configure limit default params' do
is_expected.to contain_oslo__limit('glance_api_config').with(
:endpoint_id => nil,
:endpoint_service_name => 'glance',
:endpoint_service_type => 'image',
:endpoint_region_name => '<SERVICE DEFAULT>',
:endpoint_interface => '<SERVICE DEFAULT>',
:username => 'glance',
:password => 'glance_password',
:auth_url => 'http://localhost:5000',
:project_name => 'services',
:user_domain_name => 'Default',
:project_domain_name => 'Default',
:system_scope => '<SERVICE DEFAULT>',
:auth_type => 'password',
:service_type => '<SERVICE DEFAULT>',
:valid_interfaces => '<SERVICE DEFAULT>',
:region_name => '<SERVICE DEFAULT>',
:endpoint_override => '<SERVICE DEFAULT>',
)
end
end
context 'with endpoint_id' do
before :each do
params.merge!({
@@ -38,106 +62,48 @@ describe 'glance::limit' do
:endpoint_override => '<SERVICE DEFAULT>',
)
end
context 'with specific parameters' do
before :each do
params.merge!({
:endpoint_region_name => 'regionOne',
:endpoint_interface => 'public',
:username => 'alt_glance',
:auth_url => 'http://192.168.0.1:5000',
:project_name => 'alt_services',
:user_domain_name => 'domainX',
:project_domain_name => 'domainX',
:system_scope => 'all',
:auth_type => 'v3password',
:service_type => 'identity',
:valid_interfaces => 'public',
:region_name => 'regionOne',
:endpoint_override => 'http://192.168.0.2:5000',
})
end
it 'configure limit params' do
is_expected.to contain_oslo__limit('glance_api_config').with(
:endpoint_id => 'b41eeaed-d2ae-4add-9bfd-9ea8ac912d64',
:endpoint_service_name => nil,
:endpoint_service_type => nil,
:endpoint_region_name => 'regionOne',
:endpoint_interface => 'public',
:username => 'alt_glance',
:password => 'glance_password',
:auth_url => 'http://192.168.0.1:5000',
:project_name => 'alt_services',
:user_domain_name => 'domainX',
:project_domain_name => 'domainX',
:system_scope => 'all',
:auth_type => 'v3password',
:service_type => 'identity',
:valid_interfaces => 'public',
:region_name => 'regionOne',
:endpoint_override => 'http://192.168.0.2:5000',
)
end
end
end
context 'with endpoint_service_name' do
context 'with specific parameters' do
before :each do
params.merge!({
:endpoint_service_name => 'glance',
:endpoint_service_name => 'alt_glance',
:endpoint_service_type => 'alt_image',
:endpoint_region_name => 'regionOne',
:endpoint_interface => 'public',
:username => 'alt_glance',
:auth_url => 'http://192.168.0.1:5000',
:project_name => 'alt_services',
:user_domain_name => 'domainX',
:project_domain_name => 'domainX',
:system_scope => 'all',
:auth_type => 'v3password',
:service_type => 'identity',
:valid_interfaces => 'public',
:region_name => 'regionOne',
:endpoint_override => 'http://192.168.0.2:5000',
})
end
it 'configure limit default params' do
it 'configure limit params' do
is_expected.to contain_oslo__limit('glance_api_config').with(
:endpoint_id => nil,
:endpoint_service_name => 'glance',
:endpoint_service_type => nil,
:endpoint_region_name => '<SERVICE DEFAULT>',
:endpoint_interface => '<SERVICE DEFAULT>',
:username => 'glance',
:endpoint_service_name => 'alt_glance',
:endpoint_service_type => 'alt_image',
:endpoint_region_name => 'regionOne',
:endpoint_interface => 'public',
:username => 'alt_glance',
:password => 'glance_password',
:auth_url => 'http://localhost:5000',
:project_name => 'services',
:user_domain_name => 'Default',
:project_domain_name => 'Default',
:system_scope => '<SERVICE DEFAULT>',
:auth_type => 'password',
:service_type => '<SERVICE DEFAULT>',
:valid_interfaces => '<SERVICE DEFAULT>',
:region_name => '<SERVICE DEFAULT>',
:endpoint_override => '<SERVICE DEFAULT>',
)
end
end
context 'with endpoint_service_type' do
before :each do
params.merge!({
:endpoint_service_type => 'image',
})
end
it 'configure limit default params' do
is_expected.to contain_oslo__limit('glance_api_config').with(
:endpoint_id => nil,
:endpoint_service_name => nil,
:endpoint_service_type => 'image',
:endpoint_region_name => '<SERVICE DEFAULT>',
:endpoint_interface => '<SERVICE DEFAULT>',
:username => 'glance',
:password => 'glance_password',
:auth_url => 'http://localhost:5000',
:project_name => 'services',
:user_domain_name => 'Default',
:project_domain_name => 'Default',
:system_scope => '<SERVICE DEFAULT>',
:auth_type => 'password',
:service_type => '<SERVICE DEFAULT>',
:valid_interfaces => '<SERVICE DEFAULT>',
:region_name => '<SERVICE DEFAULT>',
:endpoint_override => '<SERVICE DEFAULT>',
:auth_url => 'http://192.168.0.1:5000',
:project_name => 'alt_services',
:user_domain_name => 'domainX',
:project_domain_name => 'domainX',
:system_scope => 'all',
:auth_type => 'v3password',
:service_type => 'identity',
:valid_interfaces => 'public',
:region_name => 'regionOne',
:endpoint_override => 'http://192.168.0.2:5000',
)
end
end