remove some class param default chains

It is not clear if puppet supports the ability to
use class param values as the defaults for other
class params.

I am refactoring my code to assume this does not work.
This commit is contained in:
Dan Bode
2012-10-09 22:36:44 -07:00
parent f06d4d9f29
commit eaf3d80f0f
3 changed files with 72 additions and 36 deletions

View File

@@ -82,8 +82,9 @@ class openstack::controller (
$nova_user_password = 'nova_pass', $nova_user_password = 'nova_pass',
# Required Horizon # Required Horizon
$secret_key = 'dummy_secret_key', $secret_key = 'dummy_secret_key',
# not sure if this works correctly
$internal_address = $public_address, $internal_address = $public_address,
$admin_address = $internal_address, $admin_address = $public_address,
$network_manager = 'nova.network.manager.FlatDHCPManager', $network_manager = 'nova.network.manager.FlatDHCPManager',
$fixed_range = '10.0.0.0/24', $fixed_range = '10.0.0.0/24',
$floating_range = false, $floating_range = false,

View File

@@ -35,7 +35,7 @@ class openstack::glance (
$glance_user_password, $glance_user_password,
$glance_db_password, $glance_db_password,
$keystone_host = '127.0.0.1', $keystone_host = '127.0.0.1',
$auth_uri = "http://${keystone_host}:5000/", $auth_uri = "http://127.0.0.1:5000/",
$db_type = 'mysql', $db_type = 'mysql',
$glance_db_user = 'glance', $glance_db_user = 'glance',
$glance_db_dbname = 'glance', $glance_db_dbname = 'glance',
@@ -61,6 +61,7 @@ class openstack::glance (
keystone_tenant => 'services', keystone_tenant => 'services',
keystone_user => 'glance', keystone_user => 'glance',
keystone_password => $glance_user_password, keystone_password => $glance_user_password,
sql_connection => $sql_connection,
enabled => $enabled, enabled => $enabled,
} }

View File

@@ -46,26 +46,72 @@ class openstack::keystone (
$glance_user_password, $glance_user_password,
$nova_user_password, $nova_user_password,
$public_address, $public_address,
$keystone_admin_tenant = 'admin',
$verbose = 'False',
$bind_host = '0.0.0.0',
$internal_address = $public_address,
$admin_address = $internal_address,
$glance = true,
$nova = true,
$enabled = true,
$db_type = 'mysql', $db_type = 'mysql',
$db_user = 'keystone', $db_user = 'keystone',
$db_name = 'keystone', $db_name = 'keystone',
$admin_tenant = 'admin',
$verbose = 'False',
$bind_host = '0.0.0.0',
$internal_address = $public_address,
$admin_address = false,
$glance_public_address = $public_address,
$glance_internal_address = false,
$glance_admin_address = false,
$nova_public_address = $public_address,
$nova_internal_address = false,
$nova_admin_address = false,
$glance = true,
$nova = true,
$enabled = true,
) { ) {
# Install and configure Keystone # Install and configure Keystone
if $db_type == 'mysql' {
$sql_conn = "mysql://${$db_user}:${db_password}@${db_host}/${db_name}"
} else {
fail("db_type ${db_type} is not supported")
}
# I have to do all of this crazy munging b/c parameters are not
# set procedurally in Pupet
if($internal_address) {
$internal_real = $internal_address
} else {
$internal_real = $public_address
}
if($admin_address) {
$admin_real = $admin_address
} else {
$admin_real = $internal_real
}
if($glance_internal_address) {
$glance_internal_real = $glance_internal_address
} else {
$glance_internal_real = $glance_public_address
}
if($glance_admin_address) {
$glance_admin_real = $glance_admin_address
} else {
$glance_admin_real = $glance_internal_real
}
if($nova_internal_address) {
$nova_internal_real = $nova_internal_address
} else {
$nova_internal_real = $nova_public_address
}
if($nova_admin_address) {
$nova_admin_real = $nova_admin_address
} else {
$nova_admin_real = $nova_internal_real
}
class { '::keystone': class { '::keystone':
log_verbose => $verbose, log_verbose => $verbose,
log_debug => $verbose, log_debug => $verbose,
catalog_type => 'sql', catalog_type => 'sql',
admin_token => $keystone_admin_token, admin_token => $admin_token,
enabled => $enabled, enabled => $enabled,
sql_connection => $sql_conn,
} }
if ($enabled) { if ($enabled) {
@@ -73,23 +119,23 @@ class openstack::keystone (
class { 'keystone::roles::admin': class { 'keystone::roles::admin':
email => $admin_email, email => $admin_email,
password => $admin_password, password => $admin_password,
admin_tenant => $keystone_admin_tenant, admin_tenant => $admin_tenant,
} }
# Setup the Keystone Identity Endpoint # Setup the Keystone Identity Endpoint
class { 'keystone::endpoint': class { 'keystone::endpoint':
public_address => $public_address, public_address => $public_address,
admin_address => $admin_address, admin_address => $admin_real,
internal_address => $internal_address, internal_address => $internal_real,
} }
# Configure Glance endpoint in Keystone # Configure Glance endpoint in Keystone
if $glance { if $glance {
class { 'glance::keystone::auth': class { 'glance::keystone::auth':
password => $glance_user_password, password => $glance_user_password,
public_address => $public_address, public_address => $glance_public_address,
admin_address => $admin_address, admin_address => $glance_admin_real,
internal_address => $internal_address, internal_address => $glance_internal_real,
} }
} }
@@ -97,21 +143,9 @@ class openstack::keystone (
if $nova { if $nova {
class { 'nova::keystone::auth': class { 'nova::keystone::auth':
password => $nova_user_password, password => $nova_user_password,
public_address => $public_address, public_address => $nova_public_address,
admin_address => $admin_address, admin_address => $nova_admin_real,
internal_address => $internal_address, internal_address => $nova_internal_real,
}
}
}
# Configure the Keystone database
case $db_type {
'mysql': {
class { 'keystone::config::mysql':
user => $keystone_db_user,
password => $keystone_db_password,
host => $db_host,
dbname => $keystone_db_dbname,
} }
} }
} }