Create a /healthcheck_api and /healthcheck_registrty endpoints

Registered by Yanis Guenane on 2014-01-13

Objective: implement a healtcheck endpoint similar at the one implemented on Swift

As a cloud operator, in a HA environment I would like to know the status of my glance services via health checks

1. Create a /healthcheck_api end point that would made it possible to be monitored via HAProxy or alike

  It should verify two things :

    * healthcheck_registry returns 200
    * api can communicate with all stores listed in known_stores

2. Create a /healthcheck_registry end point that would made it possible to be monitored by HAProxy or alike

  It should verify :

    * communication with database is possible

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Yanis Guenane
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Currently I can think there is a key different between swift and Glance is that Glance has some dedicated backends but swift. So when swift 'healthcheck' return "ok" status means it is full operational, but I think it will be very hard (or say impossible) to implement your "healthcheck" for current Glance, since you need to make sure backend which Glance configured under "ok" status. Current Glance store driver has only some interfaces on "data-plane" but "control-plane", so hard to do "healthcheck" with backend. -- zhiyan

I'm still getting comfortable with this idea. Would it make sense to include something like this in an admin-only api (so we don't have to document it for customer-users) ?

Also, how is this approach better than the ad-hoc ways you can do this now? (Fetch a small image, get image details)

Thanks
markwash more-info 2014-03-14

I think the recommended way to do this is to just create a dummy tenant with some dummy images in it, and for your healthcheck perform typical user actions on those. Perhaps if there are problems with that approach we can resurrect this bp?
markwash rejected 2014-04-04

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.