[pve-devel] applied: [PATCH manager] fix ceph.service for Ceph Jewel >= 10.2.6
Wolfgang Bumiller
w.bumiller at proxmox.com
Mon Mar 13 14:29:58 CET 2017
applied
On Thu, Mar 09, 2017 at 10:34:57AM +0100, Fabian Grünbichler wrote:
> 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 at proxmox.com>
> ---
> Tested using 10.2.5 -> 10.2.6 upgrade, subsequent reboots also work as expected.
>
> Unfortunately this update needs to happen before upgrading the Ceph packages, or
> the hanging upgrade needs to be manually interrupted by killing the hanging
> systemctl process.
>
> bin/init.d/ceph.service | 2 +-
> debian/postinst | 11 +++++++++++
> 2 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/bin/init.d/ceph.service b/bin/init.d/ceph.service
> index 623becd..450856e 100644
> --- a/bin/init.d/ceph.service
> +++ b/bin/init.d/ceph.service
> @@ -8,4 +8,4 @@ ExecStart=/usr/sbin/ceph-disk --log-stdout activate-all
> Type=oneshot
>
> [Install]
> -WantedBy=ceph.target
> +WantedBy=multi-user.target
> diff --git a/debian/postinst b/debian/postinst
> index 13fda4c..a3dd583 100755
> --- a/debian/postinst
> +++ b/debian/postinst
> @@ -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
>
> --
> 2.1.4
More information about the pve-devel
mailing list