class iaas::profile::cinder ( $password = undef, $public_interface = hiera('iaas::public_interface', undef), $admin_interface = hiera('iaas::admin_interface', undef), $secret = undef, $volume_size = undef, ##verbose, debug $verbose = hiera('iaas::verbose', undef), $debug = hiera('iaas::debug', undef), $region = hiera('iaas::region', undef), #VIP1 $endpoint_main = hiera('iaas::main_address', undef), #VIP2 $endpoint_admin = hiera('iaas::admin_address', undef), ##rmqhosts # $endpoint = hiera('iaas::main_address', undef), $rhosts = hiera('iaas::profile::rabbitmq::rhosts', undef), $rabbitmq_user = hiera('iaas::profile::rabbitmq::user', undef), $rabbitmq_password = hiera('iaas::profile::rabbitmq::password', undef), ) { include iaas::resources::connectors if $endpoint_admin == '' { $real_endpoint_admin = $endpoint_main }else{ $real_endpoint_admin = $endpoint_admin } ##Leave commented if database is different from controller # iaas::resources::database { 'cinder': } class { '::cinder': ##Verbose, debug verbose => $verbose, debug => $debug, database_connection => $iaas::resources::connectors::cinder, ##Added rabbit_hosts - uncomment as needed # rabbit_host => $endpoint, rabbit_hosts => $rhosts, rabbit_userid => $rabbitmq_user, rabbit_password => $rabbitmq_password, mysql_module => '2.3', database_idle_timeout => 3600, } class { '::cinder::glance': glance_api_servers => [ "${real_endpoint_admin}:9292" ], } class { '::cinder::keystone::auth': password => $password, public_address => $endpoint_main, admin_address => $real_endpoint_admin, internal_address => $real_endpoint_admin, region => $region, } class { '::cinder::api': #Identity_uri - planed to be implemented in Kilo # keystone_identity_uri => "http://${real_endpoint_admin}:35357", keystone_auth_host => $real_endpoint_admin, keystone_password => $password, keystone_auth_uri => "http://${endpoint_main}:5000/v2.0", bind_host => $::facts["ipaddress_${admin_interface}"], } class { '::cinder::scheduler': # scheduler_driver => 'cinder.scheduler.simple.SimpleScheduler', scheduler_driver => 'cinder.scheduler.filter_scheduler.FilterScheduler', } # class { '::cinder::setup_test_volume': # volume_name => 'cinder-volumes', # size => $volume_size # } -> class { '::cinder::volume': } class { '::cinder::volume::rbd': rbd_pool => 'volumes', rbd_user => 'cinder', rbd_secret_uuid => $secret, } class { '::cinder::backup': } class { '::cinder::backup::ceph': backup_ceph_user => 'cinder-backup', } cinder_config { 'keystone_authtoken/identity_uri' :value => "http://${real_endpoint_admin}:35357"; } }