-
Alessandro Costantini authoredAlessandro Costantini authored
storage.pp 3.99 KiB
class iaas::role::storage (
##CEPH Secrets - override
$secret_client_admin = 'AQDgL/hUSC2kLBAAnWJaSiqJG+YMk+XV9sapnw==',
$secret_client_bootstraposd = 'AQDlL/hUUCpdFBAAZeo6mKj4yeKPmVKfUY5awA==',
$secret_client_glance = 'AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==',
$secret_client_cinder = 'AQAvxQpVKJ03KxAADFv78tedrAWZx1SoRdsQUA==',
$secret_client_cinderbackup = 'AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==',
$bootstrap_mds_key = 'AQBxkvVU4F+VDBAArxUf+8s0LbxIxNrbyEC1kw==',
$mon_key = 'AQApksZUIJhXJxAAEHVW/dbL1OeLA7Om++zdVw==',
##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,
#CEPH - override
$ceph_pool = {'images' => { pg_num => '128'},
'volumes' => { pg_num => '128'},
'vms' => { pg_num => '128'},
'backups' => { pg_num => '128'}},
$ceph_osd = {'/dev/vdb'=> { journal => '/osd1'},
'/dev/vdc'=> { journal => '/osd2'}},
) {
# Ceph
##OSD
create_resources( ceph::osd, $ceph_osd )
##POOL
create_resources( ceph::pool, $ceph_pool )
##KEY
ceph::key {
'client.admin':
secret => $secret_client_admin,
cap_mon => 'allow *',
cap_osd => 'allow *',
cap_mds => 'allow',
inject => 'true',
inject_as_id => 'mon.',
inject_keyring => "/var/lib/ceph/mon/ceph-$::hostname/keyring";
'client.bootstrap-osd':
secret => $secret_client_bootstraposd,
cap_mon => 'allow profile bootstrap-osd',
keyring_path => '/var/lib/ceph/bootstrap-osd/ceph.keyring',
inject => 'true',
inject_as_id => 'mon.',
inject_keyring => "/var/lib/ceph/mon/ceph-$::hostname/keyring";
'client.glance':
secret => $secret_client_glance,
cap_mon => 'allow r',
cap_osd => 'allow class-read object_prefix rbd_children, allow rwx pool=images',
inject => 'true',
inject_as_id => 'mon.',
inject_keyring => "/var/lib/ceph/mon/ceph-$::hostname/keyring";
'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',
inject => 'true',
inject_as_id => 'mon.',
inject_keyring => "/var/lib/ceph/mon/ceph-$::hostname/keyring";
'client.cinder-backup':
secret => $secret_client_cinderbackup,
cap_mon => 'allow r',
cap_osd => 'allow class-read object_prefix rbd_children, allow rwx pool=backups',
inject => 'true',
inject_as_id => 'mon.',
inject_keyring => "/var/lib/ceph/mon/ceph-$::hostname/keyring",
}
# Base
class { 'iaas::profile::base': } ->
# 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::mon': } ->
class { 'ceph::keys': } ->
class { 'ceph::osds': }
}