[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