Merge "Refactorise Keystone resources management"
This commit is contained in:
@@ -53,51 +53,38 @@ class swift::keystone::auth(
|
|||||||
$real_internal_address = $internal_address
|
$real_internal_address = $internal_address
|
||||||
}
|
}
|
||||||
|
|
||||||
keystone_user { $auth_name:
|
keystone::resource::service_identity { $auth_name:
|
||||||
ensure => present,
|
configure_endpoint => $configure_endpoint,
|
||||||
|
service_type => 'object-store',
|
||||||
|
service_description => 'Openstack Object-Store Service',
|
||||||
|
region => $region,
|
||||||
password => $password,
|
password => $password,
|
||||||
email => $email,
|
email => $email,
|
||||||
tenant => $tenant,
|
tenant => $tenant,
|
||||||
}
|
|
||||||
keystone_user_role { "${auth_name}@${tenant}":
|
|
||||||
ensure => present,
|
|
||||||
roles => 'admin',
|
|
||||||
require => Keystone_user[$auth_name]
|
|
||||||
}
|
|
||||||
|
|
||||||
keystone_service { $auth_name:
|
|
||||||
ensure => present,
|
|
||||||
type => 'object-store',
|
|
||||||
description => 'Openstack Object-Store Service',
|
|
||||||
}
|
|
||||||
|
|
||||||
if $configure_endpoint {
|
|
||||||
keystone_endpoint { "${region}/${auth_name}":
|
|
||||||
ensure => present,
|
|
||||||
public_url => "${public_protocol}://${public_address}:${real_public_port}/v1/${endpoint_prefix}_%(tenant_id)s",
|
public_url => "${public_protocol}://${public_address}:${real_public_port}/v1/${endpoint_prefix}_%(tenant_id)s",
|
||||||
admin_url => "${admin_protocol}://${real_admin_address}:${port}/",
|
admin_url => "${admin_protocol}://${real_admin_address}:${port}/",
|
||||||
internal_url => "${internal_protocol}://${real_internal_address}:${port}/v1/${endpoint_prefix}_%(tenant_id)s",
|
internal_url => "${internal_protocol}://${real_internal_address}:${port}/v1/${endpoint_prefix}_%(tenant_id)s",
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if $configure_s3_endpoint {
|
keystone::resource::service_identity { "${auth_name}_s3":
|
||||||
keystone_service { "${auth_name}_s3":
|
configure_user => false,
|
||||||
ensure => present,
|
configure_user_role => false,
|
||||||
type => 's3',
|
configure_endpoint => $configure_s3_endpoint,
|
||||||
description => 'Openstack S3 Service',
|
configure_service => $configure_s3_endpoint,
|
||||||
}
|
service_type => 's3',
|
||||||
|
service_description => 'Openstack S3 Service',
|
||||||
keystone_endpoint { "${region}/${auth_name}_s3":
|
region => $region,
|
||||||
ensure => present,
|
|
||||||
public_url => "${public_protocol}://${public_address}:${real_public_port}",
|
public_url => "${public_protocol}://${public_address}:${real_public_port}",
|
||||||
admin_url => "${admin_protocol}://${real_admin_address}:${port}",
|
admin_url => "${admin_protocol}://${real_admin_address}:${port}",
|
||||||
internal_url => "${internal_protocol}://${real_internal_address}:${port}",
|
internal_url => "${internal_protocol}://${real_internal_address}:${port}",
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if $operator_roles {
|
if $operator_roles {
|
||||||
#Roles like "admin" may be defined elsewhere, so use ensure_resource
|
#Roles like "admin" may be defined elsewhere, so use ensure_resource
|
||||||
ensure_resource('keystone_role', $operator_roles, { 'ensure' => 'present' })
|
ensure_resource('keystone_role', $operator_roles, { 'ensure' => 'present' })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Backward compatibility
|
||||||
|
Keystone_user["$auth_name"] -> Keystone_user_role["${auth_name}@${tenant}"]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,7 +94,6 @@ describe 'swift::keystone::auth' do
|
|||||||
it { should contain_keystone_user_role("#{p[:auth_name]}@#{p[:tenant]}").with(
|
it { should contain_keystone_user_role("#{p[:auth_name]}@#{p[:tenant]}").with(
|
||||||
:ensure => 'present',
|
:ensure => 'present',
|
||||||
:roles => 'admin',
|
:roles => 'admin',
|
||||||
:require => "Keystone_user[#{p[:auth_name]}]"
|
|
||||||
)}
|
)}
|
||||||
|
|
||||||
it { should contain_keystone_service(p[:auth_name]).with(
|
it { should contain_keystone_service(p[:auth_name]).with(
|
||||||
|
|||||||
Reference in New Issue
Block a user