Merge "Refactorise Keystone resources management"

This commit is contained in:
Jenkins
2014-12-03 22:27:06 +00:00
committed by Gerrit Code Review
2 changed files with 25 additions and 39 deletions

View File

@@ -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}"]
} }

View File

@@ -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(