diff --git a/raid/manifests/init.pp b/raid/manifests/init.pp index c5e09b0..30c621f 100644 --- a/raid/manifests/init.pp +++ b/raid/manifests/init.pp @@ -6,7 +6,10 @@ class raid::tools { $controllers = split($::raid, ',') if "smartarray" in $controllers { - include raid::tools::smartarray + include raid::tools::hpacucli + } + if "megaraid" in $controllers { + include raid::tools::megacli } } @@ -15,7 +18,7 @@ class raid::tools { # Install HP SmartArray tools. # -class raid::tools::smartarray { +class raid::tools::hpacucli { case $::operatingsystem { "centos","redhat": { @@ -31,3 +34,40 @@ class raid::tools::smartarray { } } + + +# Install MegaCli. +# +# Download MegaCli RPM from: +# http://www.lsi.com/support/Pages/Download-Results.aspx?keyword=MegaCli +# +# === Global variables +# +# $raid_megacli_package: +# Name of MegaCli package. +# +class raid::tools::megacli { + + if ! $raid_megacli_package { + fail("Must define \$raid_megacli_package") + } + + if ! $::operatingsystem in ["CentOS", "RedHat"] { + fail("raid::tools::megacli not supported in ${::operatingsystem}") + } + + file { "/usr/local/src/${raid_megacli_package}": + ensure => present, + mode => "0644", + owner => "root", + group => "root", + source => "puppet:///files/packages/${raid_megacli_package}", + before => Package["MegaCli"], + } + package { "MegaCli": + ensure => installed, + provider => "rpm", + source => "/usr/local/src/${raid_megacli_package}", + } + +}