Kubernetes event monitoring

The Helm Deployer has been set up to continuously monitor kubernetes (k8s) events in the processing namespace, especially focusing on the deployments it is responsible for. This feature uses the kubernetes python API and runs using threading.

It updates (or creates if it does not exist) the deployment state entry in the configuration database, and adds information about the status of each pod that belongs to the specific deployment. The pod statuses it provides are:

PENDING
RUNNING
FINISHED
CANCELLED
FAILED
UNSET

The values directly depend on the pod phase and its condition event values. A pod is set to RUNNING only if its phase is RUNNING and if at least one of its conditions has type READY and status True.