[RFE] support healthcheck middleware

Bug #1748515 reported by Jim Rollenhagen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
Wishlist
Jim Rollenhagen

Bug Description

Oslo provides a health check middleware that can give details about the server's status: https://docs.openstack.org/oslo.middleware/latest/reference/healthcheck_plugins.html

This is useful for load balancers to determine if a service is up (and add or remove it from rotation), or for monitoring tools to see the health of the server.

Adding this will involve adding the middleware to the wsgi application, and adding the config options into our sample config. We'll also need to
add our own option to enable the middleware, as we don't use paste for enabling and disabling middlewares.

The healthcheck will be unauthenticated, as authenticated healthchecks aren't terribly useful.

Tags: rfe-approved
tags: added: rfe
summary: - RFE: support healthcheck middleware
+ [RFE] support healthcheck middleware
Changed in ironic:
status: New → Triaged
importance: Undecided → Wishlist
description: updated
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic (master)

Fix proposed to branch: master
Review: https://review.openstack.org/542992

Changed in ironic:
assignee: nobody → Jim Rollenhagen (jim-rollenhagen)
status: Triaged → In Progress
Revision history for this message
Jim Rollenhagen (jim-rollenhagen) wrote :

Chatted with nova about this and they tend to think the whole community should decide how we do this.

I was also pointed at the "new" healthcheck middleware spec: https://review.openstack.org/#/c/531456/

So probably some thinking to do here.

Revision history for this message
Ruby Loo (rloo) wrote :

17:31 jroll: rloo: I imagine it doesn't need a spec. I also imagine some folks will want to have a larger openstack-wide consensus on it first, based on my conversation with the nova folks this morning. apparently that happened once: https://review.openstack.org/#/c/531456/

17:32 jroll: rloo: I'm just trying to make that middleware available in services that don't use paste, not make a healthcheck that solves all the world's problems :)

Revision history for this message
Ruby Loo (rloo) wrote :

Here's my concern. I'm happy to have the coding done to support this middleware. However, the new proposal/spec for a middleware healthcheck will have a different API from the existing one (if I understand it). So what I'd like to know is:

1. is there an easy/simple plan to deprecate the existing/old, and use the new one
2. when do we think, realistically, the new one will be available for use?

I think I could make a better informed decision if I had some idea of the answers for the above two.

So to be clear:
1. this doesn't need a spec
2. I question whether we want to hook in https://docs.openstack.org/oslo.middleware/latest/reference/healthcheck_plugins.html, in light of a new one that has more bells and whistles...

Revision history for this message
Ruby Loo (rloo) wrote :

It isn't clear when the new proposal [1] will ever see the light of day (I asked, but didn't get any response. yet.). However, according to them-that-know (see [1]), it should be possible to have both middlewares in ironic. Their APIs are different, so we can support both sets of API at the same time.

Given this information*, I am OK with approving this.

[1] https://review.openstack.org/#/c/531456/

* if the information changes, I reserve the right to change my vote/approval :)

Revision history for this message
Julia Kreger (juliaashleykreger) wrote :

Given the tentative language of the spec, and the possible co-existence on the discovery document page defined in it, I suspect these can indeed live together. As such, I'm good with this.

Ruby Loo (rloo)
tags: added: rfe-approved
tags: removed: rfe
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

Reviewed: https://review.openstack.org/542992
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=6f439414bdcef9fc02f844f475ec798d48d42558
Submitter: Zuul
Branch: master

commit 6f439414bdcef9fc02f844f475ec798d48d42558
Author: Jim Rollenhagen <email address hidden>
Date: Fri Feb 9 11:30:24 2018 -0800

    Add optional healthcheck middleware

    This adds the healthcheck middleware from oslo, configurable via the
    [healthcheck]/enabled option. This middleware adds a status check at
    `/healthcheck`.

    This is useful for load balancers to determine if a service is up (and
    add or remove it from rotation), or for monitoring tools to see the
    health of the server.

    This endpoint is unauthenticated, as not all load balancers or
    monitoring tools support authenticating with a health check endpoint.

    Change-Id: I7929d5f4502c3f84b1cf30526c94a458081a6a29
    Closes-Bug: #1748515

Changed in ironic:
status: In Progress → Fix Released
Revision history for this message
Ruby Loo (rloo) wrote :

NOTE, this is only to add the healthcheck endpoint. We don't want to add a CLI for it [1].

[1] http://eavesdrop.openstack.org/irclogs/%23openstack-ironic/%23openstack-ironic.2018-03-19.log.html#t2018-03-19T14:26:29

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/ironic 11.0.0

This issue was fixed in the openstack/ironic 11.0.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.