]> git.donarmstrong.com Git - dsa-puppet.git/blob - facts/raidarray.rb
add fact for megaraid controllers
[dsa-puppet.git] / facts / raidarray.rb
1 Facter.add("smartarraycontroller") do
2         confine :kernel => :linux
3         setcode do
4                 FileTest.exist?("/dev/cciss/")
5         end
6 end
7
8 Facter.add("mptcontroller") do
9         confine :kernel => :linux
10         setcode do
11                 FileTest.exist?("/proc/mpt/summary")
12         end
13 end
14
15 Facter.add("ThreeWarecontroller") do
16         confine :kernel => :linux
17         setcode do
18                 is3w = "false"
19                 if FileTest.exist?("/proc/scsi/scsi")
20                         IO.foreach("/proc/scsi/scsi") { |x|
21                                 is3w = "true" if x =~ /Vendor: 3ware/
22                         }
23                 end
24                 is3w == "true"
25         end
26 end
27
28 Facter.add("megaraid") do
29         confine :kernel => :linux
30         setcode do
31                 FileTest.exist?("/dev/megadev0")
32         end
33 end
34
35 Facter.add("aacraid") do
36         confine :kernel => :linux
37         setcode do
38                 FileTest.exist?("/dev/aac0")
39         end
40 end
41
42 Facter.add("swraid") do
43         confine :kernel => :linux
44         setcode do
45                 swraid = "false"
46                 if FileTest.exist?("/proc/mdstat") && FileTest.exist?("/sbin/mdadm")
47                         IO.foreach("/proc/mdstat") { |x|
48                                 swraid = "true" if x =~ /md[0-9]+ : active/
49                         }
50                 end
51                 swraid == "true"
52         end
53 end
54