Defined Type: netapp::iscsi

Defined in:
manifests/iscsi.pp

Overview

Define: netapp:iscsi

Utility for provisioning a LUN

Parameters:

size

The size of the LUN to be created

initiator

An array of initiators

ostype

A host OS to which LUN is attached

lunid

LUN id of the mapping

vol_name

The FlexVol for the LUN

==Sample usage:

Make sure that there is a SVM  'vserver01' which allows iscsi data protocol

node "vserver01.localdomain" {
  netapp::iscsi {'host_lun':
    size => "500mb",
    lunid => "1",
    initiator => ["iqn.1991-05.com.microsoft:cis-jump85.cis.netapp.com"],
    ostype => "windows"
  }
}

Parameters:

  • size (Any)
  • lunid (Any)
  • initiator (Any)
  • ostype (Any)
  • svm (Any) (defaults to: "vserver01")
  • aggr (Any) (defaults to: "aggr02_node01")
  • vol_name (Any) (defaults to: 'vol1_iscsi')
  • vol_size (Any) (defaults to: "1g")
  • grouptype (Any) (defaults to: "iscsi")
  • ensure (Any) (defaults to: "present")
  • spaceres (Any) (defaults to: "volume")
  • spacereserve (Any) (defaults to: "0")
  • spaceresenabled (Any) (defaults to: "false")
  • state (Any) (defaults to: "on")
  • igroup (Any) (defaults to: "iscsi_igroup_$name")


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
79
80
81
82
83
84
85
86
87
88
89
# File 'manifests/iscsi.pp', line 37

define netapp::iscsi  (
    $size,
    $lunid,
    $initiator,
    $ostype,
    $svm = "vserver01",
    $aggr = "aggr02_node01",
    $vol_name = 'vol1_iscsi',
    $vol_size = "1g",
    $grouptype = "iscsi",
    $ensure = "present",
    $spaceres = "volume",
    $spacereserve = "0",
    $spaceresenabled = "false",
    $state = "on",
    $igroup = "iscsi_igroup_$name"
   ) {



  netapp_volume { "${vol_name}":
    ensure      => $ensure,
    aggregate   => $aggr,
    initsize    => $vol_size,
    spaceres    => $spaceres,
    snapreserve => $snapreserve
  }->
  
  netapp_lun {"/vol/${vol_name}/${name}":
    ensure          => $ensure,
    ostype          => $ostype,
    size            => $size,
    spaceresenabled => $spaceresenabled
  }->

  netapp_iscsi { "${svm}":
    ensure => $ensure,
  }->

  netapp_igroup { '${igroup}':
    ensure     => $ensure,
    group_type => $grouptype,
    members    => $initiator,
    os_type    => $ostype,
    name       => $igroup
 }->

 netapp_lun_map {"/vol/${vol_name}/${name}:${lunid}":
    ensure => $ensure,
    initiatorgroup => $igroup
    
  }
}