Files
puppet-swift/manifests/keystone/auth.pp
Mehdi Abaakouk e437b44d44 Allow to have a different internal address and public address
Change-Id: Id87323393a3bfd0ac3c9bc80fa2f46775e102eea
2013-04-10 10:03:41 +02:00

63 lines
1.6 KiB
Puppet

class swift::keystone::auth(
$auth_name = 'swift',
$password = 'swift_password',
$address = '127.0.0.1',
$port = '8080',
$tenant = 'services',
$email = 'swift@localhost',
$region = 'RegionOne',
$public_protocol = 'http',
$public_address = undef,
$public_port = undef
) {
if ! $public_port {
$real_public_port = $port
} else {
$real_public_port = $public_port
}
if ! $public_address {
$real_public_address = $address
} else {
$real_public_address = $public_address
}
keystone_user { $auth_name:
ensure => present,
password => $password,
email => $email,
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',
}
keystone_endpoint { "${region}/${auth_name}":
ensure => present,
public_url => "${public_protocol}://${real_public_address}:${real_public_port}/v1/AUTH_%(tenant_id)s",
admin_url => "http://${address}:${port}/",
internal_url => "http://${address}:${port}/v1/AUTH_%(tenant_id)s",
}
keystone_service { "${auth_name}_s3":
ensure => present,
type => 's3',
description => 'Openstack S3 Service',
}
keystone_endpoint { "${region}/${auth_name}_s3":
ensure => present,
public_url => "${public_protocol}://${real_public_address}:${real_public_port}",
admin_url => "http://${address}:${port}",
internal_url => "http://${address}:${port}",
}
}