
This commit refactors the cinder manifests to make them more consistent with other manifests: * removed default value for keystone_password * removed the prefix cinder_ from class parameters (it is redundant) * set package_ensure defaults to present * removed extra package_ensure parameter * changed $iscsi_enabled to $volume_driver (this change is being done in anticipation of needing additional volume drivers) * add test coverage * simple updates to .gitignore * refactor sql_connection to be composed of multiple class paramters for consistency. It also delete the openstack::cinder class b/c I could not seem to declare ::cinder while it existed. Change-Id: I4a7b49d95957675be82c3b77958ae9d0c47eb4fa
74 lines
2.6 KiB
Puppet
74 lines
2.6 KiB
Puppet
class openstack::cinder::controller(
|
|
$rabbit_password,
|
|
$keystone_password,
|
|
$rpc_backend = 'cinder.openstack.common.rpc.impl_kombu',
|
|
$keystone_tenant = 'services',
|
|
$keystone_enabled = true,
|
|
$keystone_user = 'cinder',
|
|
$keystone_auth_host = 'localhost',
|
|
$keystone_auth_port = '35357',
|
|
$keystone_auth_protocol = 'http',
|
|
$keystone_service_port = '5000',
|
|
$rabbit_userid = 'guest',
|
|
$rabbit_host = '127.0.0.1',
|
|
$rabbit_hosts = undef,
|
|
$rabbit_port = '5672',
|
|
$rabbit_virtual_host = '/',
|
|
# Database. Currently mysql is the only option.
|
|
$db_type = 'mysql',
|
|
$db_user = 'cinder',
|
|
$db_password = 'cinder_pass',
|
|
$db_host = '127.0.0.1',
|
|
$db_dbname = 'cinder',
|
|
$package_ensure = present,
|
|
$api_package_ensure = present,
|
|
$scheduler_package_ensure = present,
|
|
$bind_host = '0.0.0.0',
|
|
$api_paste_config = '/etc/cinder/api-paste.ini',
|
|
$scheduler_driver = 'cinder.scheduler.simple.SimpleScheduler',
|
|
$api_enabled = true,
|
|
$scheduler_enabled = true,
|
|
$verbose = false
|
|
) {
|
|
|
|
####### DATABASE SETUP ######
|
|
# set up mysql server
|
|
if ($db_type == 'mysql') {
|
|
$sql_connection = "mysql://${db_user}:${db_password}@${db_host}/${db_dbname}?charset=utf8"
|
|
}
|
|
|
|
class {'::cinder':
|
|
sql_connection => $sql_connection,
|
|
rpc_backend => $rpc_backend,
|
|
rabbit_userid => $rabbit_userid,
|
|
rabbit_password => $rabbit_password,
|
|
rabbit_host => $rabbit_host,
|
|
rabbit_port => $rabbit_port,
|
|
rabbit_hosts => $rabbit_hosts,
|
|
rabbit_virtual_host => $cinder_rabbit_virtual_host,
|
|
package_ensure => $package_ensure,
|
|
api_paste_config => $api_paste_config,
|
|
verbose => $verbose,
|
|
}
|
|
|
|
class {'::cinder::api':
|
|
keystone_password => $keystone_password,
|
|
keystone_enabled => $keystone_enabled,
|
|
keystone_user => $keystone_user,
|
|
keystone_auth_host => $keystone_auth_host,
|
|
keystone_auth_port => $keystone_auth_port,
|
|
keystone_auth_protocol => $keystone_auth_protocol,
|
|
service_port => $keystone_service_port,
|
|
package_ensure => $api_package_ensure,
|
|
bind_host => $bind_host,
|
|
enabled => $api_enabled,
|
|
}
|
|
|
|
class {'::cinder::scheduler':
|
|
scheduler_driver => $scheduler_driver,
|
|
package_ensure => $scheduler_package_ensure,
|
|
enabled => $scheduler_enabled,
|
|
}
|
|
|
|
}
|