Skip to content
Snippets Groups Projects
controller.pp 5.79 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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', 
     }
    
    
    
    Quentin Machu's avatar
    Quentin Machu committed
      class { 'iaas::profile::base': } ->
    
      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': }
    
    Quentin Machu's avatar
    Quentin Machu committed
    }