On Fri, Sep 15, 2017 at 3:34 PM David Turner <drakonst...@gmail.com> wrote:

> I don't understand a single use case where I want updating my packages
> using yum, apt, etc to restart a ceph daemon.  ESPECIALLY when there are so
> many clusters out there with multiple types of daemons running on the same
> server.
>
> My home setup is 3 nodes each running 3 OSDs, a MON, and an MDS server.
> If upgrading the packages restarts all of those daemons at once, then I'm
> mixing MON versions, OSD versions and MDS versions every time I upgrade my
> cluster.  It removes my ability to methodically upgrade my MONs, OSDs, and
> then clients.
>
> Now let's take the Luminous upgrade which REQUIRES you to upgrade all of
> your MONs before anything else... I'm screwed.  I literally can't perform
> the upgrade if it's going to restart all of my daemons because it is
> impossible for me to achieve a paxos quorum of MONs running the Luminous
> binaries BEFORE I upgrade any other daemon in the cluster.  The only way to
> achieve that is to stop the entire cluster and every daemon, upgrade all of
> the packages, then start the mons, then start the rest of the cluster
> again... There is no way that is a desired behavior.
>
> All of this is ignoring large clusters using something like Puppet to
> manage their package versions.  I want to just be able to update the ceph
> version and push that out to the cluster.  It will install the new packages
> to the entire cluster and then my automated scripts can perform a rolling
> restart of the cluster upgrading all of the daemons while ensuring that the
> cluster is healthy every step of the way.  I don't want to add in the time
> of installing the packages on every node DURING the upgrade.  I want that
> done before I initiate my script to be in a mixed version state as little
> as possible.
>
> Claiming that having anything other than an issued command to specifically
> restart a Ceph daemon is anything but a bug and undesirable sounds crazy to
> me.  I don't ever want anything restarting my Ceph daemons that is not
> explicitly called to do so.  That just sounds like it's begging to put my
> entire cluster into a world of hurt by accidentally restarting too many
> daemons at the same time making the data in my cluster inaccessible.
>
> I'm used to the Ubuntu side of things.  I've never seen upgrading the Ceph
> packages to ever affect a daemon before.  If that's actually a thing that
> is done on purpose in RHEL and CentOS... good riddance! That's ridiculous!
>

I don't know what the settings are right now, or what the latest argument
was to get them there.

But we *have* had distributions require us to make changes to come into
compliance with their packaging policies.
Some users *do* want their daemons to automatically reboot on upgrade,
because if you have segregated nodes that you're managing by hand, it's a
lot easier to issue one command than two.
And on and on and on.

Personally, I tend closer to your position. But this is a thing that some
people get very vocal about; we don't have a lot of upstream people
interested in maintaining packaging or fighting with other interest groups
who say we're doing it wrong; and it's just not a lot of fun to deal with.

Looking through the git logs, I think CEPH_AUTO_RESTART_ON_UPGRADE was
probably added so distros could easily make that distinction. And it would
not surprise me if the use of selinux required restarts — upgrading
packages tends to change what the daemon's selinux policy allows it to do,
and if they have different behavior I presume selinux is going to complain
wildly...
-Greg
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to