first stab at plugins-in-modules style
[mirror/dsa-puppet.git] / modules / debian-org / lib / facter / 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("ThreeWarecontroller") do
9         confine :kernel => :linux
10         setcode do
11                 is3w = "false"
12                 if FileTest.exist?("/proc/scsi/scsi")
13                         IO.foreach("/proc/scsi/scsi") { |x|
14                                 is3w = "true" if x =~ /Vendor: 3ware/
15                         }
16                 end
17                 is3w == "true"
18         end
19 end
20
21 Facter.add("megaraid") do
22         confine :kernel => :linux
23         setcode do
24                 FileTest.exist?("/dev/megadev0")
25         end
26 end
27
28 Facter.add("mptraid") do
29         setcode do
30                 FileTest.exist?("/dev/mptctl") or FileTest.exist?("/dev/mpt0") or FileTest.exist?("/proc/mpt/summary")
31         end
32 end
33
34 Facter.add("aacraid") do
35         confine :kernel => :linux
36         setcode do
37                 FileTest.exist?("/dev/aac0")
38         end
39 end
40
41 Facter.add("swraid") do
42         confine :kernel => :linux
43         setcode do
44                 swraid = "false"
45                 if FileTest.exist?("/proc/mdstat") && FileTest.exist?("/sbin/mdadm")
46                         IO.foreach("/proc/mdstat") { |x|
47                                 swraid = "true" if x =~ /md[0-9]+ : active/
48                         }
49                 end
50                 swraid == "true"
51         end
52 end
53