[largescale-sig][nova][neutron][oslo] RPC ping

Ken Giusti kgiusti at gmail.com
Tue Jul 28 14:25:20 UTC 2020


On Mon, Jul 27, 2020 at 1:18 PM Dan Smith <dms at danplanet.com> wrote:

> > Tagging with Nova and Neutron as they are mentioned and I thought some
> > people from those teams had opinions on this.
>
> Nova already implements ping() on the compute RPC interface, which we
> use to make sure compute waits to start up until conductor is available
> to do its bidding. So if a new obligatory RPC server method is actually
> added called ping(), it will break us.
>
> > Can you refresh my memory on why we dropped this before? I recall
> > talking about it in Denver, but I can't for the life of me remember
> > what the conclusion was. Did we intend to use something else for this
> > that has since fallen through?
>
> The prior conversation I recall was about helm sitting on our bus to
> (ab)use our ping method for health checks:
>
>
> https://opendev.org/openstack/openstack-helm/commit/baf5356a4fb61590a95f64a63c0dcabfebb3baaa
>
> I believe that has since been reverted.
>
> The primary concern was about something other than nova sitting on our
> bus making calls to our internal services. I imagine that the proposal
> to bake it into oslo.messaging is for the same purpose, and I'd probably
> have the same concern. At the time I think we agreed that if we were
> going to support direct-to-service health checks, they should be teensy
> HTTP servers with oslo healthchecks middleware. Further loading down
> rabbit with those pings doesn't seem like the best plan to
> me. Especially since Nova (compute) services already check in over RPC
> periodically and the success of that is discoverable en masse through
> the API.
>
> --Dan
>
>
While initially in favor of this feature Dan's concern has me reconsidering
this.

Now I believe that if the purpose of this feature is to check the
operational health of a service _using_ oslo.messaging, then I'm against
it.   A naked ping to a generic service point in an application doesn't
prove the operating health of that application beyond its connection to
rabbit.  Connectivity monitoring between an application and rabbit is done
using the keepalive connection heartbeat mechanism built into the rabbit
protocol, which O.M. supports today.



-- 
Ken Giusti  (kgiusti at gmail.com)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20200728/6d0e59e5/attachment.html>


More information about the openstack-discuss mailing list