Puppet Class: scaleio::mdm::primary
- Defined in:
 - manifests/mdm/primary.pp
 
Overview
setup 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  | 
      
        # File 'manifests/mdm/primary.pp', line 2
class scaleio::mdm::primary {
  $scli_wrap = $scaleio::mdm::scli_wrap
  include scaleio::mdm::cluster_setup
  include scaleio::mdm::resources
  # First do the cluster setup, then create the SIO resources
  Class['scaleio::mdm::cluster_setup'] -> Class['scaleio::mdm::resources']
  # Set SIO system name
  if $scaleio::system_name {
    validate_re($scaleio::system_name, '^[a-z0-9-]+$', 'ScaleIO system name must be alphanumeric')
    exec{ 'scaleio::mdm::primary::rename_system':
      command => "${scli_wrap} --rename_system --new_name ${scaleio::system_name}",
      unless  => "${scli_wrap} --query_cluster | grep -qE '^\\s*Name: ${scaleio::system_name},?\\s*Mode'",
      require => Class['scaleio::mdm::cluster_setup'],
    }
  }
  # manage SDC restriction mode
  if $::scaleio::restricted_sdc_mode{
    $restricted_sdc_mode_text = 'enabled'
  } else{
    $restricted_sdc_mode_text = 'disabled'
  }
  exec{ 'scaleio::mdm::primary::manage_sdc_access_restriction':
    command => "${scli_wrap} --set_restricted_sdc_mode --restricted_sdc_mode ${restricted_sdc_mode_text}",
    unless  => "${scli_wrap} --query_all |grep -q 'MDM restricted SDC mode: ${restricted_sdc_mode_text}'",
    require => Class['scaleio::mdm::cluster_setup'],
    before  => Class['scaleio::mdm::resources'],
  }
  # manage component authentication mode
  if $::scaleio::component_authentication_mode{
    $component_authentication_mode_text = '--use_authentication'
    $component_authentication_mode_result = 'Enabled'
  } else{
    $component_authentication_mode_text = '--dont_use_authentication'
    $component_authentication_mode_result = 'Disabled'
  }
  exec{ 'scaleio::mdm::primary::manage_component_authentication':
    command => "${scli_wrap} --set_component_authentication_properties ${component_authentication_mode_text} --i_am_sure",
    unless  => "${scli_wrap} --query_all |grep -q 'SDS connection authentication: ${component_authentication_mode_result}'",
    require => Class['scaleio::mdm::cluster_setup'],
    before  => Class['scaleio::mdm::resources'],
  }
  # Create a monitoring user
  if $scaleio::monitoring_user {
    scaleio_user{ $scaleio::monitoring_user:
      role     => 'Monitor',
      password => $scaleio::monitoring_passwd,
      require  => Class['scaleio::mdm::cluster_setup'],
    }
  }
  # Setup Syslog
  if $scaleio::syslog_ip_port {
    validate_re($scaleio::syslog_ip_port, '^[\w\-\.]+:[0-9]+$', 'ScaleIO syslog_ip_port must be formatted as: IP:port or hostname:port')
    $splitted_ip_port = split($scaleio::syslog_ip_port,':')
    scaleio_syslog{ $splitted_ip_port[0]:
      port    => $splitted_ip_port[1],
      require => Class['scaleio::mdm::cluster_setup'],
    }
  }
}
       |