Add liveness and readiness probes to the Kuryr controller

Registered by Antoni Segura Puimedon

In order for the Kuryr controller to run well as a Pod, it is important that we add both readiness and liveness probes so that:

- Kubernetes can restart the controller if it gets to a broken state
- Kubernetes and its users know when the Kuryr Controller is ready to do its networking tasks

This blueprint calls for the addition of some REST endpoints to the kuryr-controller:
- /health/keystone: Able to authenticate with keystone
- /health/neutron: Able to talk to Neutron
- /health/k8s: Able to watch Kubernetes API

Then it is about creating a sample pod definition for the controller that includes both readiness probes[0] and liveness probes[1] for the endpoints above.

[0] https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#defining-readiness-probes
[1] https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#defining-a-liveness-http-request

Blueprint information

Status:
Complete
Approver:
Irena Berezovsky
Priority:
Medium
Drafter:
Antoni Segura Puimedon
Direction:
Needs approval
Assignee:
Maysa de Macedo Souza
Definition:
Approved
Series goal:
Accepted for queens
Implementation:
Implemented
Milestone target:
None
Started by
Antoni Segura Puimedon
Completed by
Antoni Segura Puimedon

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/controller-readiness-liveness-probes,n,z

Addressed by: https://review.openstack.org/529335
    [WIP] Add readiness checks for Kuryr Controller

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.