Newer
Older
class iaas::role::controller (
##CEPH Secrets override
$ceph_secret_client_glance = 'AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==',
$ceph_secret_client_cinder = 'AQAvxQpVKJ03KxAADFv78tedrAWZx1SoRdsQUA==',
$ceph_secret_client_cinderbackup = 'AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==',
##CEPH - no override
$fsid = $iaas::params::ceph_fsid,
# Uncomment if auth_type is different from 'cephx'
#authentication_type = $iaas::params::ceph_authentication_type,
$mon_initial_members = $iaas::params::ceph_mon_initial_members,
$mon_host = $iaas::params::ceph_on_host,
$osd_pool_default_pg_num = $iaas::params::ceph_osd_pool_default_pg_num,
$osd_pool_default_pgp_num = $iaas::params::ceph_osd_pool_default_pgp_num,
$osd_pool_default_size = $iaas::params::ceph_osd_pool_default_size,
$osd_pool_default_min_size = $iaas::params::ceph_osd_pool_default_min_size,
$cluster_network = $iaas::params::ceph_cluster_network,
$public_network = $iaas::params::ceph_public_network,
$osd_journal_size = $iaas::params::ceph_osd_journal_size,
##Tenants&Users - override
$tenants = {'test'=> { description => 'OCP in HA'}},
$users = {'guest' => {password => 'pippo', tenant => 'test', email => 'alessandro.costantini@cnaf.infn.it' }},
## Glance
#$glance_password = 'glance',
#Cinder - override
#$cinder_password = 'cinder',
#$cinder_secret = '5e899071-df68-40d3-b0ea-6ec22b7c12a0',
$cinder_volume_size = '8G',
##Nova
#$nova_password = 'nova',
#$nova_default_flotting_pool = 'ext-net',
#Neutron - override
#$neutron_password = 'neutron',
#$neutron_secret = 'neutron',
##Network1 - external
$neutron_external_network1 = '10.10.98.0/24',
$neutron_external_gateway1 = '10.10.98.1',
$neutron_network_external1_ippool_start = '10.10.98.121',
$neutron_network_external1_ippool_end = '10.10.98.125',
$neutron_network_neutron_private1 = '10.0.1.0/24',
##Network2 - external
$neutron_external_network2 = '131.154.100.0/24',
$neutron_external_gateway2 = '131.154.100.1',
$neutron_network_external2_ippool_start = '131.154.100.81',
$neutron_network_external2_ippool_end = '131.154.100.83',
$neutron_network_neutron_private2 = '10.0.2.0/24',
##Ceilometer
#$ceilometer_password = 'ceilometer',
#$ceilometer_secret = 'ceilometer',
##Heat
#$heat_password = 'heat',
## https://bugs.launchpad.net/heat/+bug/1415887: "AES key must be either 16, 24, or 32 bytes long"
#$heat_encryption_key = '12345678912345678912345678912345',
##Horizon
#$horizon_secret = 'horizon',
#Zookeeper - override
$zookeeper_coordination = ['131.154.100.118:2181', '131.154.100.120:2181', '131.154.100.121:2181'],
ceph::key {
'client.glance':
secret => $ceph_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 => $ceph_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 => $ceph_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,
# secret => $cinder_secret,
volume_size => $cinder_volume_size,
} ->
#NEW-CEPH
class {'ceph::profile::params':
fsid => $fsid,
# Uncomment if auth_type is different from 'cephx'
#authentication_type => 'cephx',
mon_initial_members => $mon_initial_members,
mon_host => $mon_host,
osd_pool_default_pg_num => $osd_pool_default_pg_num,
osd_pool_default_pgp_num => $osd_pool_default_pgp_num,
osd_pool_default_size => $osd_pool_default_size,
osd_pool_default_min_size => $osd_pool_default_min_size,
cluster_network => $cluster_network,
public_network => $public_network,
mon_key => $mon_key,
osd_journal_size => $osd_journal_size,
} ->
class { 'ceph::profile::base': } ->
class { 'ceph::profile::client': } ->
class { 'ceph::keys': } ->
#
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::heat':
# password => $heat_password,
# encryption_key => $heat_encryption_key ,
} ->
class { 'iaas::profile::horizon':
# secret => $horizon_secret,
} ->
class { 'iaas::setup::sharednetwork':
external_network1 => $neutron_external_network1,
gateway1 => $neutron_external_gateway1,
start_ip1 => $neutron_network_external1_ippool_start,
end_ip1 => $neutron_network_external1_ippool_end,
private_network1 => $neutron_network_neutron_private1,
external_network2 => $neutron_external_network2,
gateway2 => $neutron_external_gateway2,
start_ip2 => $neutron_network_external2_ippool_start,
end_ip2 => $neutron_network_external2_ippool_end,
private_network2 => $neutron_network_neutron_private2,
} ->
class { 'iaas::profile::auth_file': }