]>
Commit | Line | Data |
---|---|---|
d207195d ER |
1 | # TODO |
2 | # - see and adopt: http://gist.github.com/359890 | |
33a1c413 | 3 | %define plugin check_raid |
b58f13f9 | 4 | %include /usr/lib/rpm/macros.perl |
33a1c413 ER |
5 | Summary: Nagios plugin to check current server's RAID status |
6 | Name: nagios-plugin-%{plugin} | |
da0d8b58 | 7 | Version: 4.0.8 |
46ad8dd8 | 8 | Release: 3 |
81a52836 | 9 | License: GPL v2 |
77a58f21 | 10 | Group: Applications |
d170d566 | 11 | Source0: https://github.com/glensc/nagios-plugin-check_raid/archive/%{version}/%{name}-%{version}.tar.gz |
da0d8b58 | 12 | # Source0-md5: 14165253cd734a1c0bf031b18c4e0794 |
f189a9e6 | 13 | Patch0: maxcache.patch |
5fe36881 | 14 | Patch1: bbu.patch |
eb3c08b9 | 15 | URL: https://github.com/glensc/nagios-plugin-check_raid |
5c7c0008 | 16 | BuildRequires: perl-ExtUtils-MakeMaker-CPANfile |
f95c3387 | 17 | BuildRequires: perl-Module-Pluggable >= 5.1 |
b58f13f9 ER |
18 | BuildRequires: perl-Monitoring-Plugin >= 0.37 |
19 | BuildRequires: rpm-perlprov >= 4.1-13 | |
3745f267 ER |
20 | BuildRequires: rpmbuild(macros) >= 1.685 |
21 | Requires: grep | |
b6d14fcc | 22 | Requires: nagios-common |
7c0f1466 | 23 | Requires: perl-base >= 1:5.8.0 |
3745f267 | 24 | Requires: sed >= 4.0 |
59ac65dd | 25 | Requires: sudo >= 1:1.8.7-2 |
d0bfad7a | 26 | Suggests: CmdTool2 |
81a52836 | 27 | Suggests: arcconf |
bba37da2 | 28 | Suggests: areca-cli |
c28807f0 | 29 | Suggests: cciss_vol_status |
047af81a | 30 | Suggests: hpacucli |
59ac65dd | 31 | Suggests: lsscsi |
6aac77a0 | 32 | Suggests: megacli-sas |
d0bfad7a | 33 | Suggests: megarc-scsi |
81a52836 | 34 | Suggests: mpt-status |
21a9ecca | 35 | Suggests: mvcli |
a0df8e50 | 36 | Suggests: smartmontools |
81a52836 | 37 | Suggests: tw_cli-9xxx |
59ac65dd ER |
38 | # cciss_vol_status 1.10 can process /dev/sdX instead of only /dev/sgX |
39 | Conflicts: cciss_vol_status < 1.10 | |
a4cec8c3 | 40 | Conflicts: nagios-nrpe < 2.15-5 |
33a1c413 ER |
41 | BuildArch: noarch |
42 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
43 | ||
44 | %define _sysconfdir /etc/nagios/plugins | |
3745f267 | 45 | %define nrpeddir /etc/nagios/nrpe.d |
33a1c413 ER |
46 | %define plugindir %{_prefix}/lib/nagios/plugins |
47 | ||
48 | %description | |
1d167ca8 ER |
49 | This plugin chekcs Check all RAID volumes (hardware and software) that |
50 | can be identified. | |
33a1c413 | 51 | |
67c765ab | 52 | Supports: |
94679d3f | 53 | - AIX software RAID via lsvg |
bba37da2 ER |
54 | - Adaptec AAC RAID via aaccli or afacli or arcconf |
55 | - Areca SATA RAID Support | |
56 | - HP Smart Array (MSA1500) via serial line | |
94679d3f ER |
57 | - HP Smart Array Controllers and MSA Controllers via hpacucli (see |
58 | hapacucli readme) | |
bba37da2 ER |
59 | - HP/Compaq Smart Array via cciss_vol_status (hpsa supported too) |
60 | - LSI Logic MegaRAID SAS series via MegaCli | |
61 | - LSI MegaRaid via lsraid | |
94679d3f ER |
62 | - Linux 3ware SATA RAID via tw_cli |
63 | - Linux DPT/I2O hardware RAID controllers via /proc/scsi/dpt_i2o | |
64 | - Linux GDTH hardware RAID controllers via /proc/scsi/gdth | |
bba37da2 | 65 | - Linux LSI MegaRaid hardware RAID via /proc/megaraid |
94679d3f ER |
66 | - Linux LSI MegaRaid hardware RAID via CmdTool2 |
67 | - Linux LSI MegaRaid hardware RAID via megarc | |
94679d3f | 68 | - Linux MPT hardware RAID via mpt-status |
5de6f208 | 69 | - Linux Device Mapper |
bba37da2 | 70 | - Linux MegaIDE hardware RAID controllers via /proc/megaide |
94679d3f | 71 | - Linux software RAID (md) via /proc/mdstat |
bba37da2 | 72 | - SAS2IRCU support |
94679d3f ER |
73 | - Serveraid IPS via ipssend |
74 | - Solaris software RAID via metastat | |
67c765ab | 75 | |
33a1c413 | 76 | %prep |
59ac65dd ER |
77 | %setup -qc |
78 | mv nagios-plugin-check_raid-*/* . | |
f189a9e6 | 79 | %patch0 -p1 |
5fe36881 | 80 | %patch1 -p1 |
c1a6298c | 81 | |
04e7eccc | 82 | %build |
b58f13f9 ER |
83 | # version check exits with "3", here's explanation: |
84 | # https://github.com/monitoring-plugins/monitoring-plugins/pull/1363 | |
85 | ver=$(./%{plugin}.sh -V || :) | |
5dfc7eef | 86 | test "$(echo "$ver" | awk '{print $NF}')" = %{version}-dev |
c1a6298c | 87 | |
a9655cbc | 88 | LC_ALL=en_US.utf8 \ |
b58f13f9 ER |
89 | %{__perl} Makefile.PL \ |
90 | INSTALLVENDORSCRIPT=%{plugindir} \ | |
91 | INSTALLDIRS=vendor | |
92 | %{__make} | |
93 | ||
33a1c413 ER |
94 | %install |
95 | rm -rf $RPM_BUILD_ROOT | |
bd50b177 | 96 | install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{nrpeddir},%{plugindir},/etc/sudoers.d} |
b58f13f9 ER |
97 | %{__make} install \ |
98 | DESTDIR=$RPM_BUILD_ROOT | |
99 | ||
100 | cp -p %{plugin}.cfg $RPM_BUILD_ROOT%{_sysconfdir} | |
46ad8dd8 AM |
101 | cp -p %{plugin}_bbu.cfg $RPM_BUILD_ROOT%{_sysconfdir} |
102 | touch $RPM_BUILD_ROOT%{nrpeddir}/%{plugin}{,_bbu}.cfg | |
bd50b177 | 103 | touch $RPM_BUILD_ROOT/etc/sudoers.d/check_raid |
33a1c413 | 104 | |
bd50b177 | 105 | # remove .pl extension |
b58f13f9 ER |
106 | mv $RPM_BUILD_ROOT%{plugindir}/%{plugin}{.pl,} |
107 | ||
108 | # cleanup | |
109 | %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod | |
110 | %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/App/Monitoring/Plugin/CheckRaid/.packlist | |
111 | ||
33a1c413 ER |
112 | %clean |
113 | rm -rf $RPM_BUILD_ROOT | |
114 | ||
70176926 | 115 | %post |
59ac65dd ER |
116 | # setup sudo rules: |
117 | # - on first install | |
118 | # - if separate config file is used | |
119 | grep -q '^#includedir /etc/sudoers\.d' /etc/sudoers && confd=1 | |
120 | ||
46a85d79 | 121 | if [ "$1" = 1 ] || [ "$1" = "configure" ] || [ "$confd" = 1 ]; then |
70176926 ER |
122 | %{plugindir}/%{plugin} -S || : |
123 | fi | |
124 | ||
125 | %postun | |
46a85d79 | 126 | if [ "$1" = "0" ] || [ "$1" = "remove" ]; then |
70176926 ER |
127 | # remove all sudo rules related to us |
128 | %{__sed} -i -e '/CHECK_RAID/d' /etc/sudoers | |
129 | fi | |
130 | ||
59ac65dd ER |
131 | %triggerpostun -- %{name} < 3.1.1-0.2, sudo < 1:1.8.7-2 |
132 | if grep -q '^#includedir /etc/sudoers\.d' /etc/sudoers; then | |
59ac65dd ER |
133 | %{plugindir}/%{plugin} -S || : |
134 | fi | |
135 | # remove CHECK_RAID rules from /etc/sudoers if separate config is in place | |
136 | if [ -e /etc/sudoers.d/check_raid ]; then | |
137 | %{__sed} -i -e '/CHECK_RAID/d' /etc/sudoers | |
138 | fi | |
139 | ||
3745f267 ER |
140 | %triggerin -- nagios-nrpe |
141 | %nagios_nrpe -a %{plugin} -f %{_sysconfdir}/%{plugin}.cfg | |
46ad8dd8 | 142 | %nagios_nrpe -a %{plugin}_bbu -f %{_sysconfdir}/%{plugin}_bbu.cfg |
3745f267 ER |
143 | |
144 | %triggerun -- nagios-nrpe | |
145 | %nagios_nrpe -d %{plugin} -f %{_sysconfdir}/%{plugin}.cfg | |
46ad8dd8 | 146 | %nagios_nrpe -a %{plugin}_bbu -f %{_sysconfdir}/%{plugin}_bbu.cfg |
3745f267 | 147 | |
33a1c413 ER |
148 | %files |
149 | %defattr(644,root,root,755) | |
34952916 | 150 | %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{plugin}.cfg |
46ad8dd8 | 151 | %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{plugin}_bbu.cfg |
33a1c413 | 152 | %attr(755,root,root) %{plugindir}/%{plugin} |
3745f267 | 153 | %ghost %{nrpeddir}/%{plugin}.cfg |
46ad8dd8 | 154 | %ghost %{nrpeddir}/%{plugin}_bbu.cfg |
bd50b177 | 155 | %ghost /etc/sudoers.d/check_raid |
b58f13f9 ER |
156 | %dir %{perl_vendorlib}/App/Monitoring |
157 | %dir %{perl_vendorlib}/App/Monitoring/Plugin | |
158 | %{perl_vendorlib}/App/Monitoring/Plugin/CheckRaid.pm | |
159 | %{perl_vendorlib}/App/Monitoring/Plugin/CheckRaid |