Add swift_public_address

Previously, there was no way to specify
a separate public address for swift's endpoint
in keystone's service catalog.

This means that there was no way to support
installing swift proxy on a node besides the controller.

This commit adds a config param swift_public_address
that can be used to configure swift on a separate node.

Change-Id: Iafc415f69b85a97c45f6410be1d4888c61c39bba
This commit is contained in:
Dan Bode
2013-06-25 17:49:43 -07:00
parent 5108cb3a75
commit 3c0fd00fe9
2 changed files with 17 additions and 5 deletions

View File

@@ -71,6 +71,10 @@
# Auth password for swift. # Auth password for swift.
# (Optional) Defaults to false. Required if swift is set to true. # (Optional) Defaults to false. Required if swift is set to true.
# #
# [swift_public_address]
# The swift address used to populate the keystone service catalog.
# (optional). Defaults to false.
#
# === Examples # === Examples
# #
# class { 'openstack::controller': # class { 'openstack::controller':
@@ -188,6 +192,7 @@ class openstack::controller (
$ovs_local_ip = false, $ovs_local_ip = false,
# swift # swift
$swift = false, $swift = false,
$swift_public_address = false,
$enabled = true $enabled = true
) { ) {
@@ -276,6 +281,7 @@ class openstack::controller (
quantum_user_password => $quantum_user_password, quantum_user_password => $quantum_user_password,
swift => $swift, swift => $swift,
swift_user_password => $swift_user_password, swift_user_password => $swift_user_password,
swift_public_address => $swift_public_address,
enabled => $enabled, enabled => $enabled,
bind_host => $keystone_bind_address, bind_host => $keystone_bind_address,
} }

View File

@@ -178,8 +178,9 @@ describe 'openstack::controller' do
it 'should configure default keystone configuration' do it 'should configure default keystone configuration' do
should contain_class('openstack::keystone').with( should contain_class('openstack::keystone').with(
:swift => false, :swift => false,
:swift_user_password => false :swift_user_password => false,
:swift_public_address => false
) )
should contain_class('keystone').with( should contain_class('keystone').with(
@@ -219,12 +220,17 @@ describe 'openstack::controller' do
end end
context 'when configuring swift' do context 'when configuring swift' do
before :each do before :each do
params.merge!(:swift => true, :swift_user_password => 'foo') params.merge!(
:swift => true,
:swift_user_password => 'foo',
:swift_public_address => '10.0.0.2'
)
end end
it 'should configure swift auth in keystone' do it 'should configure swift auth in keystone' do
should contain_class('openstack::keystone').with( should contain_class('openstack::keystone').with(
:swift => true, :swift => true,
:swift_user_password => 'foo' :swift_user_password => 'foo',
:swift_public_address => '10.0.0.2'
) )
end end
end end