mtce.inc: cleanup the commented lines and align with stx3.0
[pti/rtp.git] / meta-stx / recipes-core / stx-metal / mtce.inc
1 #
2 ## Copyright (C) 2019 Wind River Systems, Inc.
3 #
4 #  Licensed under the Apache License, Version 2.0 (the "License");
5 #  you may not use this file except in compliance with the License.
6 #  You may obtain a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #  Unless required by applicable law or agreed to in writing, software
11 #  distributed under the License is distributed on an "AS IS" BASIS,
12 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #  See the License for the specific language governing permissions and
14 #  limitations under the License.
15
16 MAJOR = "${@d.getVar('PV').split('.')[0]}"
17 MINOR = "${@d.getVar('PV').split('.')[1]}"
18
19 PACKAGES += " mtce"
20 PACKAGES += " mtce-pmon"
21 PACKAGES += " mtce-hwmon"
22 PACKAGES += " mtce-hostw"
23 PACKAGES += " mtce-lmon"
24
25 RDEPENDS_mtce-pmon_append = " \
26         bash \
27         systemd \
28         dpkg \
29         fm-common \
30         libevent \
31         json-c \
32         python-rtslib-fb \
33         expect \
34         util-linux \
35         ipmitool \
36         "
37
38 RDEPENDS_mtce_append = " \
39         mtce-pmon \
40         python-redfishtool \
41         "
42
43 do_configure_prepend () {
44         :
45
46
47 do_compile_prepend () {
48         # use sed to correct the path of systemctl
49         sed -i -e 's|${bindir}/systemctl|${base_bindir}/systemctl|' ${S}/mtce/src/pmon/pmonHdlr.cpp
50         cd ${S}/mtce/src/
51         oe_runmake -e VER=1 VER_MJR=1 INCLUDES=" -I. -I../alarm -I../heartbeat -I../maintenance \
52                                 -I../hostw -I../public -I../smash -I../common -I../hwmon \
53                                 -I${S}/mtce-common/src/common \
54                                 -I${S}/mtce-common/src/daemon " \
55                 CCFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS} -L${S}/mtce-common/src/common \
56                 -L${S}/mtce-common/src/daemon " build
57 }
58
59 do_install_prepend () {
60         cd ${S}/mtce/src/
61         install -m 755 -d ${D}/${bindir}
62         install -m 755 -d ${D}/${sbindir}
63         install -m 755 -d ${D}/${libdir}
64         install -m 755 -d ${D}/${libdir}/ocf/resource.d/platform
65         install -m 755 -d ${D}/${systemd_system_unitdir}
66         
67         install -m 755 -d ${D}/${sysconfdir}
68         install -m 755 -d ${D}/${sysconfdir}/mtc/tmp
69         install -m 755 -d ${D}/${sysconfdir}/bmc/server_profiles.d
70         install -m 755 -d ${D}/${sysconfdir}/init.d
71         install -m 755 -d ${D}/${sysconfdir}/pmon.d
72         install -m 755 -d ${D}/${sysconfdir}/logrotate.d
73         
74         install -m 755 -d ${D}/${sysconfdir}/services.d
75         install -m 750 -d ${D}/${sysconfdir}/services.d/controller
76         install -m 750 -d ${D}/${sysconfdir}/services.d/worker
77         install -m 750 -d ${D}/${sysconfdir}/services.d/storage
78         
79         cd ${S}/mtce/src/
80         install -m 755 -p -D scripts/mtcAgent ${D}/${libdir}/ocf/resource.d/platform
81         install -m 755 -p -D hwmon/scripts/ocf/hwmon ${D}/${libdir}/ocf/resource.d/platform
82         
83         # Config files
84         install -m 644 -p -D scripts/mtc.ini ${D}/${sysconfdir}/mtc.ini
85         install -m 644 -p -D scripts/mtc.conf ${D}/${sysconfdir}/mtc.conf
86         install -m 644 -p -D fsmon/scripts/fsmond.conf ${D}/${sysconfdir}/mtc/fsmond.conf
87         install -m 644 -p -D hwmon/scripts/hwmond.conf ${D}/${sysconfdir}/mtc/hwmond.conf
88         install -m 644 -p -D pmon/scripts/pmond.conf ${D}/${sysconfdir}/mtc/pmond.conf
89         install -m 644 -p -D lmon/scripts/lmond.conf ${D}/${sysconfdir}/mtc/lmond.conf
90         install -m 644 -p -D hostw/scripts/hostwd.conf ${D}/${sysconfdir}/mtc/hostwd.conf
91         
92         install -m 644 -p -D scripts/sensor_hp360_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
93         install -m 644 -p -D scripts/sensor_hp380_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
94         install -m 644 -p -D scripts/sensor_quanta_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
95         
96         
97         # binaries
98         install -m 755 -p -D maintenance/mtcAgent ${D}/${bindir}/mtcAgent
99         install -m 755 -p -D maintenance/mtcClient ${D}/${bindir}/mtcClient
100         install -m 755 -p -D heartbeat/hbsAgent ${D}/${bindir}/hbsAgent
101         install -m 755 -p -D heartbeat/hbsClient ${D}/${bindir}/hbsClient
102         install -m 755 -p -D pmon/pmond ${D}/${bindir}/pmond
103         install -m 755 -p -D lmon/lmond ${D}/${bindir}/lmond
104         install -m 755 -p -D pmon/pmond ${D}/${bindir}/pmond
105         install -m 755 -p -D lmon/lmond ${D}/${bindir}/lmond
106         install -m 755 -p -D hostw/hostwd ${D}/${bindir}/hostwd
107         install -m 755 -p -D fsmon/fsmond ${D}/${bindir}/fsmond
108         install -m 755 -p -D hwmon/hwmond ${D}/${bindir}/hwmond
109         install -m 755 -p -D mtclog/mtclogd ${D}/${bindir}/mtclogd
110         install -m 755 -p -D alarm/mtcalarmd ${D}/${bindir}/mtcalarmd
111         install -m 755 -p -D scripts/wipedisk ${D}/${bindir}/wipedisk
112         install -m 755 -p -D fsync/fsync ${D}/${sbindir}/fsync
113         install -m 700 -p -D pmon/scripts/pmon-restart ${D}/${sbindir}/pmon-restart
114         install -m 700 -p -D pmon/scripts/pmon-start ${D}/${sbindir}/pmon-start
115         install -m 700 -p -D pmon/scripts/pmon-stop ${D}/${sbindir}/pmon-stop
116         
117         # init script files
118         install -m 755 -p -D scripts/mtcClient ${D}/${sysconfdir}/init.d/mtcClient
119         install -m 755 -p -D scripts/hbsClient ${D}/${sysconfdir}/init.d/hbsClient
120         install -m 755 -p -D hwmon/scripts/lsb/hwmon ${D}/${sysconfdir}/init.d/hwmon
121         install -m 755 -p -D fsmon/scripts/fsmon ${D}/${sysconfdir}/init.d/fsmon
122         install -m 755 -p -D scripts/mtclog ${D}/${sysconfdir}/init.d/mtclog
123         install -m 755 -p -D pmon/scripts/pmon ${D}/${sysconfdir}/init.d/pmon
124         install -m 755 -p -D lmon/scripts/lmon ${D}/${sysconfdir}/init.d/lmon
125         install -m 755 -p -D hostw/scripts/hostw ${D}/${sysconfdir}/init.d/hostw
126         install -m 755 -p -D alarm/scripts/mtcalarm.init ${D}/${sysconfdir}/init.d/mtcalarm
127         # install -m 755 -p -D scripts/config ${D}/${sysconfdir}/init.d/config
128         
129         # TODO: Init hack. Should move to proper module
130         install -m 755 -p -D scripts/hwclock.sh ${D}/${sysconfdir}/init.d/hwclock.sh
131         install -m 644 -p -D scripts/hwclock.service ${D}/${systemd_system_unitdir}/hwclock.service
132         
133         
134         # systemd service files
135         install -m 644 -p -D fsmon/scripts/fsmon.service ${D}/${systemd_system_unitdir}/fsmon.service
136         install -m 644 -p -D hwmon/scripts/hwmon.service ${D}/${systemd_system_unitdir}/hwmon.service
137         install -m 644 -p -D pmon/scripts/pmon.service ${D}/${systemd_system_unitdir}/pmon.service
138         install -m 644 -p -D hostw/scripts/hostw.service ${D}/${systemd_system_unitdir}/hostw.service
139         install -m 644 -p -D scripts/mtcClient.service ${D}/${systemd_system_unitdir}/mtcClient.service
140         install -m 644 -p -D scripts/hbsClient.service ${D}/${systemd_system_unitdir}/hbsClient.service
141         install -m 644 -p -D scripts/mtclog.service ${D}/${systemd_system_unitdir}/mtclog.service
142         install -m 644 -p -D scripts/hbsClient.service ${D}/${systemd_system_unitdir}/hbsClient.service
143         install -m 644 -p -D scripts/mtclog.service ${D}/${systemd_system_unitdir}/mtclog.service
144         install -m 644 -p -D scripts/goenabled.service ${D}/${systemd_system_unitdir}/goenabled.service
145         install -m 644 -p -D scripts/runservices.service ${D}/${systemd_system_unitdir}/runservices.service
146         install -m 644 -p -D alarm/scripts/mtcalarm.service ${D}/${systemd_system_unitdir}/mtcalarm.service
147         install -m 644 -p -D lmon/scripts/lmon.service ${D}/${systemd_system_unitdir}/lmon.service
148         
149         # fix the path for init scripts
150         sed -i -e 's|rc.d/||' ${D}/${systemd_system_unitdir}/*.service
151         
152         # go enabled stuff
153         install -m 755 -p -D scripts/goenabled ${D}/${sysconfdir}/init.d/goenabled
154         
155         # start or stop services test script
156         install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/worker
157         install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/controller
158         install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/storage
159         install -m 755 -p -D scripts/runservices ${D}/${sysconfdir}/init.d/runservices
160         
161         
162         # test tools
163         install -m 755 -p -D scripts/dmemchk.sh ${D}/${sbindir}
164         
165         # process monitor config files
166         install -m 644 -p -D scripts/mtcClient.conf ${D}/${sysconfdir}/pmon.d/mtcClient.conf
167         install -m 644 -p -D scripts/hbsClient.conf ${D}/${sysconfdir}/pmon.d/hbsClient.conf
168         install -m 644 -p -D pmon/scripts/acpid.conf ${D}/${sysconfdir}/pmon.d/acpid.conf
169         install -m 644 -p -D pmon/scripts/sshd.conf ${D}/${sysconfdir}/pmon.d/sshd.conf
170         install -m 644 -p -D pmon/scripts/syslog-ng.conf ${D}/${sysconfdir}/pmon.d/syslog-ng.conf
171         install -m 644 -p -D pmon/scripts/nslcd.conf ${D}/${sysconfdir}/pmon.d/nslcd.conf
172         install -m 644 -p -D pmon/scripts/syslog-ng.conf ${D}/${sysconfdir}/pmon.d/syslog-ng.conf
173         install -m 644 -p -D pmon/scripts/nslcd.conf ${D}/${sysconfdir}/pmon.d/nslcd.conf
174         install -m 644 -p -D fsmon/scripts/fsmon.conf ${D}/${sysconfdir}/pmon.d/fsmon.conf
175         install -m 644 -p -D scripts/mtclogd.conf ${D}/${sysconfdir}/pmon.d/mtclogd.conf
176         install -m 644 -p -D alarm/scripts/mtcalarm.pmon.conf ${D}/${sysconfdir}/pmon.d/mtcalarm.conf
177         install -m 644 -p -D lmon/scripts/lmon.pmon.conf ${D}/${sysconfdir}/pmon.d/lmon.conf
178         
179         # log rotation
180         install -m 644 -p -D scripts/mtce.logrotate ${D}/${sysconfdir}/logrotate.d/mtce.logrotate
181         install -m 644 -p -D hostw/scripts/hostw.logrotate ${D}/${sysconfdir}/logrotate.d/hostw.logrotate
182         install -m 644 -p -D pmon/scripts/pmon.logrotate ${D}/${sysconfdir}/logrotate.d/pmon.logrotate
183         install -m 644 -p -D lmon/scripts/lmon.logrotate ${D}/${sysconfdir}/logrotate.d/lmon.logrotate
184         install -m 644 -p -D fsmon/scripts/fsmon.logrotate ${D}/${sysconfdir}/logrotate.d/fsmon.logrotate
185         install -m 644 -p -D hwmon/scripts/hwmon.logrotate ${D}/${sysconfdir}/logrotate.d/hwmon.logrotate
186         install -m 644 -p -D alarm/scripts/mtcalarm.logrotate ${D}/${sysconfdir}/logrotate.d/mtcalarm.logrotate
187         
188         # software development files
189         install -m 644 -p -D heartbeat/mtceHbsCluster.h ${D}/${includedir}/mtceHbsCluster.h
190         install -m 755 -p -D public/libamon.so.${MAJOR} ${D}/${libdir}/
191         cd ${D}/${libdir} ; ln -s libamon.so.${MAJOR} libamon.so.${MAJOR}.${MINOR}
192         cd ${D}/${libdir} ; ln -s libamon.so.${MAJOR} libamon.so
193 }
194
195 SYSTEMD_PACKAGES += " \
196         mtce \
197         mtce-hostw \
198         mtce-lmon \
199         mtce-pmon \
200         "
201
202 SYSTEMD_SERVICE_mtce = " \
203         fsmon.service \
204         goenabled.service \
205         hbsClient.service \
206         mtcClient.service \
207         mtcalarm.service \
208         mtclog.service \
209         "
210 SYSTEMD_SERVICE_mtce-hostw = "hostw.service"
211 SYSTEMD_SERVICE_mtce-lmon = "lmon.service"
212 SYSTEMD_SERVICE_mtce-pmon = "pmon.service"
213
214 SYSTEMD_AUTO_ENABLE_mtce = "enable"
215 SYSTEMD_AUTO_ENABLE_mtce-hostw = "enable"
216 SYSTEMD_AUTO_ENABLE_mtce-lmon = "enable"
217 SYSTEMD_AUTO_ENABLE_mtce-pmon = "enable"
218
219 FILES_mtce-pmon = " \
220         ${sbindir}/pmon-restart \
221         ${sbindir}/pmon-start \
222         ${sbindir}/pmon-stop \
223         ${bindir}/pmond \
224         ${systemd_system_unitdir}/pmon.service \
225         ${sysconfdir}/mtc/pmond.conf \
226         ${sysconfdir}/init.d/pmon \
227         ${sysconfdir}/logrotate.d/pmon.logrotate \
228         "
229
230 FILES_mtce-hwmon = " \
231         ${bindir}/hwmond \
232         ${sysconfdir}/init.d/hwmon \
233         ${libdir}/ocf/resource.d/platform/hwmon \
234         ${sysconfdir}/logrotate.d/hwmon.logrotate \
235         ${systemd_system_unitdir}/hwmon.service \
236         ${sysconfdir}/mtc/hwmond.conf \
237         "
238
239 FILES_mtce-hostw = " \
240         ${sysconfdir}/mtc/hostwd.conf \
241         ${sysconfdir}/logrotate.d/hostw.logrotate \
242         ${systemd_system_unitdir}/hostw.service \
243         ${sysconfdir}/init.d/hostw \
244         ${bindir}/hostwd \
245         "
246
247 FILES_mtce-lmon= " \
248         ${bindir}/lmond \
249         ${sysconfdir}/mtc/lmond.conf \
250         ${sysconfdir}/logrotate.d/lmon.logrotate \
251         ${sysconfdir}/pmon.d/lmon.conf \
252         ${sysconfdir}/init.d/lmon \
253         ${systemd_system_unitdir}/lmon.service \
254         "
255
256 FILES_mtce = " \
257         ${bindir}/mtcAgent \
258         ${bindir}/mtcClient \
259         ${bindir}/fsmond \
260         ${bindir}/hbsAgent \
261         ${bindir}/wipedisk \
262         ${bindir}/hbsClient \
263         ${bindir}/mtcalarmd \
264         ${bindir}/mtclogd \
265         ${sbindir}/fsync \
266         ${sbindir}/dmemchk.sh \
267         ${libdir}/ocf/resource.d/platform/mtcAgent \
268         ${libdir}/libamon${SOLIBS} \
269         ${systemd_system_unitdir}/mtcalarm.service \
270         ${systemd_system_unitdir}/goenabled.service \
271         ${systemd_system_unitdir}/mtclog.service \
272         ${systemd_system_unitdir}/mtcClient.service \
273         ${systemd_system_unitdir}/fsmon.service \
274         ${systemd_system_unitdir}/hbsClient.service \
275         ${systemd_system_unitdir}/hwclock.service \
276         ${systemd_system_unitdir}/runservices.service \
277         ${sysconfdir}/pmon.d/nslcd.conf \
278         ${sysconfdir}/pmon.d/mtclogd.conf \
279         ${sysconfdir}/pmon.d/mtcalarm.conf \
280         ${sysconfdir}/pmon.d/syslog-ng.conf \
281         ${sysconfdir}/pmon.d/acpid.conf \
282         ${sysconfdir}/pmon.d/sshd.conf \
283         ${sysconfdir}/pmon.d/fsmon.conf \
284         ${sysconfdir}/pmon.d/hbsClient.conf \
285         ${sysconfdir}/pmon.d/mtcClient.conf \
286         ${sysconfdir}/init.d/runservices \
287         ${sysconfdir}/init.d/goenabled \
288         ${sysconfdir}/init.d/mtcClient \
289         ${sysconfdir}/init.d/hwclock.sh \
290         ${sysconfdir}/init.d/mtclog \
291         ${sysconfdir}/init.d/mtcalarm \
292         ${sysconfdir}/init.d/hbsClient \
293         ${sysconfdir}/init.d/fsmon \
294         ${sysconfdir}/mtc.conf \
295         ${sysconfdir}/bmc/server_profiles.d/sensor_hp380_v1_ilo_v4.profile \
296         ${sysconfdir}/bmc/server_profiles.d/sensor_hp360_v1_ilo_v4.profile \
297         ${sysconfdir}/bmc/server_profiles.d/sensor_quanta_v1_ilo_v4.profile \
298         ${sysconfdir}/services.d/worker/mtcTest \
299         ${sysconfdir}/services.d/controller/mtcTest \
300         ${sysconfdir}/services.d/storage/mtcTest \
301         ${sysconfdir}/mtc/fsmond.conf \
302         ${sysconfdir}/mtc/tmp/ \
303         ${sysconfdir}/mtc.ini \
304         ${sysconfdir}/logrotate.d/fsmon.logrotate \
305         ${sysconfdir}/logrotate.d/mtcalarm.logrotate \
306         ${sysconfdir}/logrotate.d/mtce.logrotate \
307         "