Newer
Older
class iaas::role::controller (
##CEPH Secrets
$secret_client_glance = 'AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==',
$secret_client_cinder = 'AQAvxQpVKJ03KxAADFv78tedrAWZx1SoRdsQUA==',
$secret_client_cinderbackup = 'AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==',
##Tenants&Users
$tenants = {'test'=> { description => 'OCP in HA'}},
$users = {'guest' => {password => 'pippo', tenant => 'test', email => 'alessandro.costantini@cnaf.infn.it' }},
# Glance
$glance_password = 'glance',
#Cinder
$cinder_password = 'cinder',
$cinder_volume_size = '8G',
$cinder_secret = '5e899071-df68-40d3-b0ea-6ec22b7c12a0',
#Nova
$nova_password = 'nova',
$nova_default_flotting_pool = 'ext-net',
#Neutron
$neutron_password = 'neutron',
$neutron_secret = 'neutron',
$neutron_core_plugin = 'ml2',
$neutron_service_plugins = ['router', 'lbaas', 'vpnaas', 'firewall', 'metering'],
#Ceilometer
$ceilometer_password = 'ceilometer',
#Zookeeper
$zookeeper_coordination = ['131.154.100.118:2181', '131.154.100.120:2181', '131.154.100.121:2181'],
ceph::key {
'client.glance':
secret => $secret_client_glance,
cap_mon => 'allow r',
cap_osd => 'allow class-read object_prefix rbd_children, allow rwx pool=images',
user => 'glance',
group => 'glance',
mode => '0550';
'client.cinder':
secret => $secret_client_cinder,
cap_mon => 'allow r',
cap_osd => 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images',
user => 'cinder',
group => 'cinder',
mode => '0550';
'client.cinder-backup':
secret => $secret_client_cinder,
cap_mon => 'allow r',
cap_osd => 'allow class-read object_prefix rbd_children, allow rwx pool=backups',
user => 'cinder',
group => 'cinder',
mode => '0550',
}
class { 'iaas::profile::database-client': } ->
class { 'iaas::profile::keystone':
tenants => $tenants,
users => $users,
} ~>
class { 'iaas::profile::glance':
password => $glance_password,
} ->
class { 'iaas::profile::cinder':
password => $cinder_password,
volume_size => $cinder_volume_size,
secret => $cinder_secret,
} ->
class { 'iaas::profile::nova::controller':
password => $nova_password,
neutron_password => $neutron_password,
neutron_secret => $neutron_secret,
} ->
class { 'iaas::profile::neutron::server':
neutron_password => $neutron_password,
nova_password => $nova_password,
} ->
class { 'iaas::profile::ceilometer::controller':
password => $ceilometer_password,
coordination_ip => $zookeeper_coordination,
class { 'iaas::profile::horizon': } ->
class { 'iaas::setup::sharednetwork': } ->
class { 'iaas::profile::auth_file': }