[Pulp-dev] #2186 (pulp-manage-db) options

Michael Hrivnak mhrivnak at redhat.com
Thu Dec 8 22:25:17 UTC 2016

On Thu, Dec 8, 2016 at 1:49 PM, Bihan Zhang <bizhang at redhat.com> wrote:

> The changes made for #2186 [0] was pulled from the 2.11.0 release
> yesterday, and we should talk about how to implement it for 2.12
> From what I can see there are 2 ways to move forward with #2186
> *1.* We can fix the pulp worker db record cleanup so that pulp_celerybeat
> exits cleanly (aka put this back: [1]) and make new changes to clean up
> pulp_workers with a SIGTERM handler in a 2.11.z release.
> We can then re-revert the commit and put the feature back in 2.12 with
> little effort.

We would also need a way for pulp-manage-db to know if a record in the
Worker collection was created by a version of pulp that does not do full
cleanup. As described in a previous email, one way would be to add some
kind of new field to the Worker model, such as the version of pulp the
worker was running.

> The original reason #2186 was implemented using the db records was so we
> can support a clustered pulp installation.
> But this approach would make migration to 2.12 more difficult, since users
> now have to upgrade to the 2.11.z release first before going to 2.12
Perhaps the original intent was lost. This feature was motivated primarily
by katello deployments (all of which are single-system), where users either
forgot to stop pulp services or didn't know that was a requirement before
running pulp-manage-db. The normal upgrade process for them handles it
automatically, but when manual intervention is required, that's where we've
seen people running pulp-manage-db while pulp services are running.

> *2. *We can rethinking our approach to #2186 and perform the check
> against the process list
> Upgrade-wise implementing it this way is a lot easier for users, since
> they can do a straight upgrade to 2.12 without going through an
> intermediary release.
> The downside is that in clustered environments this would not catch every
> potential error. But #2186 is a best effort story, and if this is the best
> effort I am ok with it.

This is easy and effective. I think we should do it, and augment/replace it
in the future with the worker checking.

> Regardless of which option we go with I think we should get the pulp
> worker db cleanup in.
> We should also have a --ignore-running-worker flag [2] to prevent
> automated upgrade problems.
> [0] https://pulp.plan.io/issues/2186
> [1] https://github.com/werwty/pulp/commit/4f43a85dd568f4a0b5
> 0ae9b07bbec7138861e92b#diff-80e8b96df1f5da9a551bb6ff18dea352
> [2] https://pulp.plan.io/issues/2469
> _______________________________________________
> Pulp-dev mailing list
> Pulp-dev at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20161208/1a856859/attachment.htm>

More information about the Pulp-dev mailing list