ceph: fix ceph-crash failed with /var/lib/ceph/crash/posted not found

root@intelx86-64: journalctl -xe
ceph-crash[854]: ERROR:_main_:directory /var/lib/ceph/crash/posted does
not exist; please create

Create the directory for both of systemd and sysvinit

Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
Hongzhi.Song 2019-09-10 20:26:11 -07:00 committed by Bruce Ashfield
parent 624c5a0621
commit 85f7376fa4

View File

@ -81,12 +81,36 @@ do_install_append () {
rm ${D}${systemd_unitdir}/system/ceph-fuse.target ${D}${systemd_unitdir}/system/ceph-fuse@.service
}
do_install_append_class-target () {
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /var/lib/ceph/crash/posted 0755 root root - -" > ${D}${sysconfdir}/tmpfiles.d/ceph-placeholder.conf
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/default/volatiles
echo "d root root 0755 /var/lib/ceph/crash/posted none" > ${D}${sysconfdir}/default/volatiles/99_ceph-placeholder
fi
}
pkg_postinst_${PN}() {
if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
${sysconfdir}/init.d/populate-volatile.sh update
fi
}
FILES_${PN} += "\
${libdir}/rados-classes/*.so.* \
${libdir}/ceph/compressor/*.so \
${libdir}/rados-classes/*.so \
${libdir}/ceph/*.so \
"
FILES_${PN} += " \
/etc/tmpfiles.d/ceph-placeholder.conf \
/etc/default/volatiles/99_ceph-placeholder \
"
FILES_${PN}-python = "\
${PYTHON_SITEPACKAGES_DIR}/* \
"