fix ceph.service for Ceph Jewel >= 10.2.6

having our ceph.service pulled in by ceph.target does not
work anymore, because "systemctl start ceph.target" hangs
forever on ceph-common upgrades. multi-user.target seems to
work as well, and we are ordered after pve-cluster anyway.

only replace the old ceph.service if it is an exact match.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
Fabian Grünbichler 2017-03-09 10:34:57 +01:00 committed by Wolfgang Bumiller
parent ea82d08cfa
commit 2bde88fb3f
2 changed files with 12 additions and 1 deletions

View File

@ -8,4 +8,4 @@ ExecStart=/usr/sbin/ceph-disk --log-stdout activate-all
Type=oneshot
[Install]
WantedBy=ceph.target
WantedBy=multi-user.target

11
debian/postinst vendored
View File

@ -79,6 +79,17 @@ EOF
# disable fancy init messages (bad with bootlogd)
test -f /etc/lsb-base-logging.sh || echo "FANCYTTY=0" >/etc/lsb-base-logging.sh
if [ -f /etc/systemd/system/ceph.service ]; then
md5=$(md5sum /etc/systemd/system/ceph.service)
if [[ "$md5" == "21b2e7a7c4ffcf92ad0ec2c905e88e5b /etc/systemd/system/ceph.service" ]]; then
echo "Updating PVE ceph.service to correct install target.."
cp /usr/share/doc/pve-manager/examples/ceph.service /etc/systemd/system/ceph.service
systemctl --system daemon-reload >/dev/null || true
systemctl --system disable ceph.service
systemctl --system enable ceph.service
echo " done"
fi
fi
systemctl --system daemon-reload >/dev/null || true