]> git.donarmstrong.com Git - dsa-puppet.git/blob - facts/raidarray.rb
mptraid fact
[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("mptraid") do
36         setcode do
37                 FileTest.exist?("/dev/mptctl") or FileTest.exist?("/dev/mpt9")
38         end
39 end
40
41 Facter.add("aacraid") do
42         confine :kernel => :linux
43         setcode do
44                 FileTest.exist?("/dev/aac0")
45         end
46 end
47
48 Facter.add("swraid") do
49         confine :kernel => :linux
50         setcode do
51                 swraid = "false"
52                 if FileTest.exist?("/proc/mdstat") && FileTest.exist?("/sbin/mdadm")
53                         IO.foreach("/proc/mdstat") { |x|
54                                 swraid = "true" if x =~ /md[0-9]+ : active/
55                         }
56                 end
57                 swraid == "true"
58         end
59 end
60