Puppet Class: scaleio::mdm::resources

Inherits:
scaleio
Defined in:
manifests/mdm/resources.pp

Overview

create the scaleio resources a primary mdm

Parameters:

  • purge_protection_domains (Any) (defaults to: $scaleio::purge)
  • purge_storage_pools (Any) (defaults to: $scaleio::purge)
  • purge_sds (Any) (defaults to: $scaleio::purge)
  • purge_sdcs (Any) (defaults to: $scaleio::purge)
  • purge_volumes (Any) (defaults to: $scaleio::purge)


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;
  }
}