Merge "Allow to have a different internal address and public address"

This commit is contained in:
Jenkins 2013-04-10 21:57:33 +00:00 committed by Gerrit Code Review
commit 78b1bf9af4
2 changed files with 15 additions and 6 deletions
manifests/keystone
spec/classes

@ -7,6 +7,7 @@ class swift::keystone::auth(
$email = 'swift@localhost',
$region = 'RegionOne',
$public_protocol = 'http',
$public_address = undef,
$public_port = undef
) {
@ -15,6 +16,13 @@ class swift::keystone::auth(
} 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,
@ -34,7 +42,7 @@ class swift::keystone::auth(
}
keystone_endpoint { "${region}/${auth_name}":
ensure => present,
public_url => "${public_protocol}://${address}:${real_public_port}/v1/AUTH_%(tenant_id)s",
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",
}
@ -46,7 +54,7 @@ class swift::keystone::auth(
}
keystone_endpoint { "${region}/${auth_name}_s3":
ensure => present,
public_url => "${public_protocol}://${address}:${real_public_port}",
public_url => "${public_protocol}://${real_public_address}:${real_public_port}",
admin_url => "http://${address}:${port}",
internal_url => "http://${address}:${port}",
}

@ -42,24 +42,25 @@ describe 'swift::keystone::auth' do
) }
end
describe 'when overriding public_port' do
describe 'when overriding public_port and public address' do
let :params do
{
:public_port => '80'
:public_port => '80',
:public_address => '10.10.10.10'
}
end
it { should contain_keystone_endpoint('RegionOne/swift').with(
:ensure => 'present',
:public_url => "http://127.0.0.1:80/v1/AUTH_%(tenant_id)s",
:public_url => "http://10.10.10.10:80/v1/AUTH_%(tenant_id)s",
:admin_url => "http://127.0.0.1:8080/",
:internal_url => "http://127.0.0.1:8080/v1/AUTH_%(tenant_id)s"
) }
it { should contain_keystone_endpoint('RegionOne/swift_s3').with(
:ensure => 'present',
:public_url => 'http://127.0.0.1:80',
:public_url => 'http://10.10.10.10:80',
:admin_url => 'http://127.0.0.1:8080',
:internal_url => 'http://127.0.0.1:8080'
) }