Merge "limit: Add default service_name/type"

This commit is contained in:
Zuul 2024-12-11 08:56:01 +00:00 committed by Gerrit Code Review
commit 4044c4d598
2 changed files with 84 additions and 110 deletions

View File

@ -13,11 +13,11 @@
#
# [*endpoint_service_name*]
# (Optional) Service name for endpoint discovery
# Defaults to undef
# Defaults to 'nova'
#
# [*endpoint_service_type*]
# (Optional) Service type for endpoint discovery
# Defaults to undef
# Defaults to 'compute'
#
# [*endpoint_region_name*]
# (Optional) Region to which the endpoint belongs.
@ -74,30 +74,38 @@
#
class nova::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 = 'nova',
$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 = 'nova',
String[1] $endpoint_service_type = 'compute',
$endpoint_region_name = $facts['os_service_default'],
$endpoint_interface = $facts['os_service_default'],
$username = 'nova',
$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 nova::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 { 'nova_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 'nova::limit' do
}
end
context 'without endpoint_id' do
it 'configure limit default params' do
is_expected.to contain_oslo__limit('nova_config').with(
:endpoint_id => nil,
:endpoint_service_name => 'nova',
:endpoint_service_type => 'compute',
:endpoint_region_name => '<SERVICE DEFAULT>',
:endpoint_interface => '<SERVICE DEFAULT>',
:username => 'nova',
:password => 'nova_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 'nova::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_nova',
: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('nova_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_nova',
:password => 'nova_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 => 'nova',
:endpoint_service_name => 'alt_nova',
:endpoint_service_type => 'alt_compute',
:endpoint_region_name => 'regionOne',
:endpoint_interface => 'public',
:username => 'alt_nova',
: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('nova_config').with(
:endpoint_id => nil,
:endpoint_service_name => 'nova',
:endpoint_service_type => nil,
:endpoint_region_name => '<SERVICE DEFAULT>',
:endpoint_interface => '<SERVICE DEFAULT>',
:username => 'nova',
:endpoint_service_name => 'alt_nova',
:endpoint_service_type => 'alt_compute',
:endpoint_region_name => 'regionOne',
:endpoint_interface => 'public',
:username => 'alt_nova',
:password => 'nova_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 => 'compute',
})
end
it 'configure limit default params' do
is_expected.to contain_oslo__limit('nova_config').with(
:endpoint_id => nil,
:endpoint_service_name => nil,
:endpoint_service_type => 'compute',
:endpoint_region_name => '<SERVICE DEFAULT>',
:endpoint_interface => '<SERVICE DEFAULT>',
:username => 'nova',
:password => 'nova_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