Puppet Class: scaleio::mdm::resources
- Inherits:
 - scaleio
 
- Defined in:
 - manifests/mdm/resources.pp
 
Overview
create the scaleio resources a primary mdm
        2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78  | 
      
        # File 'manifests/mdm/resources.pp', line 2
class scaleio::mdm::resources(
  $purge_protection_domains = $scaleio::purge,
  $purge_storage_pools = $scaleio::purge,
  $purge_sds = $scaleio::purge,
  $purge_sdcs = $scaleio::purge,
  $purge_volumes = $scaleio::purge,
) inherits scaleio {
  create_resources('scaleio_user',
    $scaleio::users,
    { ensure => present }
  )
  scaleio_protection_domain{
    $scaleio::protection_domains:
      ensure => present,
  }
  create_resources('scaleio_storage_pool',
    $scaleio::storage_pools,
    { ensure => present }
  )
  scaleio_fault_set{
    $scaleio::fault_sets:
      ensure => present,
  }
  create_resources('scaleio_sds',
    $scaleio::sds,
    merge(
      {ramcache_size => 128 + 0},
      $scaleio::sds_defaults,
      {
        ensure        => present,
        useconsul     => $scaleio::use_consul,
      }
    )
  )
  create_resources('scaleio_sdc',
    $scaleio::sdcs,
    { ensure => present }
  )
  create_resources('scaleio_volume',
    $scaleio::volumes,
    { ensure => present }
  )
  # Set value when all volumes have been created
  if $scaleio::use_consul {
    Scaleio_volume<| |> ->
    consul_kv{ "scaleio/${::scaleio::system_name}/cluster_setup/primary":
      value => 'ready',
    }
  }
  # Make sure that the sdc are named before trying to map the volumes to those names
  # This cannot be done with autorequire in the provider as the unique name of the resource 'scaleio_sdc' must be the IP and not the name
  Scaleio_sds<| |> -> Scaleio_sdc<| |>
  Scaleio_sdc<| |> -> Scaleio_volume<| |>
  # enable/disable the purging for certain resources
  resources {
    'scaleio_protection_domain':
      purge   => $purge_protection_domains;
    'scaleio_storage_pool':
      purge   => $purge_storage_pools;
    'scaleio_sds':
      purge   => $purge_sds;
    'scaleio_sdc':
      purge   => $purge_sdcs;
    'scaleio_volume':
      purge   => $purge_volumes;
  }
}
       |