On Mon, Jul 27, 2020 at 1:18 PM Dan Smith <dms@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@gmail.com)