trove: manage keystone resources

Manage endpoint, tenant, user and password for Trove service.
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
This commit is contained in:
Emilien Macchi
2014-07-03 00:10:22 +02:00
parent 530f7f1f90
commit 3bf68c7237
2 changed files with 74 additions and 0 deletions

View File

@@ -110,6 +110,18 @@
# (optional) Public Hostname or IP to connect to Cinder API
# Defaults to '127.0.0.1'
#
# [*ks_trove_internal_host*]
# (optional) Internal Hostname or IP to connect to Trove API
# Defaults to '127.0.0.1'
#
# [*ks_trove_admin_host*]
# (optional) Admin Hostname or IP to connect to Trove API
# Defaults to '127.0.0.1'
#
# [*ks_trove_public_host*]
# (optional) Public Hostname or IP to connect to Trove API
# Defaults to '127.0.0.1'
#
# [*ks_neutron_internal_host*]
# (optional) Internal Hostname or IP to connect to Neutron API
# Defaults to '127.0.0.1'
@@ -146,6 +158,10 @@
# (optional) Public Hostname or IP to connect to Swift API
# Defaults to '127.0.0.1'
#
# [*ks_trove_password*]
# (optional) Password used by Trove to connect to Keystone API
# Defaults to 'trovepassword'
#
# [*ks_ceilometer_password*]
# (optional) Password used by Ceilometer to connect to Keystone API
# Defaults to 'ceilometerpassword'
@@ -194,6 +210,10 @@
# (optional) Protocol used to connect to API. Could be 'http' or 'https'.
# Defaults to 'http'
#
# [*ks_trove_public_proto*]
# (optional) Protocol used to connect to API. Could be 'http' or 'https'.
# Defaults to 'http'
#
# [*ks_glance_public_proto*]
# (optional) Protocol used to connect to API. Could be 'http' or 'https'.
# Defaults to 'http'
@@ -234,6 +254,18 @@
# (optional) TCP port to connect to Nova API from internal network
# Defaults to '8774'
#
# [*ks_trove_internal_port*]
# (optional) TCP port to connect to Trove API from internal network
# Defaults to '8779'
#
# [*ks_trove_public_port*]
# (optional) TCP port to connect to Trove API from public network
# Defaults to '8779'
#
# [*ks_trove_admin_port*]
# (optional) TCP port to connect to Trove API from admin network
# Defaults to '8779'
#
# [*ks_nova_public_port*]
# (optional) TCP port to connect to Nova API from public network
# Defaults to '8774'
@@ -398,6 +430,14 @@ class cloud::identity (
$ks_swift_public_proto = 'http',
$ks_swift_admin_proto = 'http',
$ks_swift_internal_proto = 'http',
$ks_trove_admin_host = '127.0.0.1',
$ks_trove_internal_host = '127.0.0.1',
$ks_trove_password = 'trovepassword',
$ks_trove_public_host = '127.0.0.1',
$ks_trove_public_port = 8779,
$ks_trove_public_proto = 'http',
$ks_trove_admin_proto = 'http',
$ks_trove_internal_proto = 'http',
$api_eth = '127.0.0.1',
$region = 'RegionOne',
$verbose = true,
@@ -577,6 +617,18 @@ class cloud::identity (
password => $ks_heat_password
}
class {'trove::keystone::auth':
admin_address => $ks_trove_admin_host,
internal_address => $ks_trove_internal_host,
public_address => $ks_trove_public_host,
public_protocol => $ks_trove_public_proto,
admin_protocol => $ks_trove_admin_proto,
internal_protocol => $ks_trove_internal_proto,
port => $ks_trove_public_port,
region => $region,
password => $ks_trove_password
}
# Purge expored tokens every days at midnight
class { 'keystone::cron::token_flush': }

View File

@@ -98,6 +98,14 @@ describe 'cloud::identity' do
:ks_swift_admin_proto => 'https',
:ks_swift_internal_proto => 'https',
:ks_swift_admin_host => '10.0.0.1',
:ks_trove_admin_host => '10.0.0.1',
:ks_trove_internal_host => '10.0.0.1',
:ks_trove_password => 'secrete',
:ks_trove_public_host => '10.0.0.1',
:ks_trove_public_port => '8779',
:ks_trove_public_proto => 'https',
:ks_trove_admin_proto => 'https',
:ks_trove_internal_proto => 'https',
:region => 'BigCloud',
:verbose => true,
:debug => true,
@@ -203,6 +211,20 @@ describe 'cloud::identity' do
)
end
it 'configure trove endpoints' do
should contain_class('trove::keystone::auth').with(
:admin_address => '10.0.0.1',
:internal_address => '10.0.0.1',
:password => 'secrete',
:port => '8779',
:public_address => '10.0.0.1',
:public_protocol => 'https',
:admin_protocol => 'https',
:internal_protocol => 'https',
:region => 'BigCloud'
)
end
it 'configure nova endpoints' do
should contain_class('nova::keystone::auth').with(
:admin_address => '10.0.0.1',