From 929171fa90d9c6f757bba002df1508fe5369c7eb Mon Sep 17 00:00:00 2001 From: Hemanth Nakkina Date: Fri, 23 Sep 2022 15:53:28 +0530 Subject: [PATCH] Add healthchecks to cinder services Add healthchecks to all the cinder services Change-Id: I6beac06bb3ac12ffd7418cc8338a1fa4d1b34d58 --- charms/cinder-k8s/src/charm.py | 41 ++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/charms/cinder-k8s/src/charm.py b/charms/cinder-k8s/src/charm.py index d164df22..8441fd5f 100755 --- a/charms/cinder-k8s/src/charm.py +++ b/charms/cinder-k8s/src/charm.py @@ -57,6 +57,25 @@ class CinderWSGIPebbleHandler(sunbeam_chandlers.WSGIPebbleHandler): self.start_wsgi() self._state.service_ready = True + def get_healthcheck_layer(self) -> dict: + """Health check pebble layer. + + :returns: pebble health check layer configuration for cinder-api + service + :rtype: dict + """ + return { + "checks": { + "online": { + "override": "replace", + "level": "ready", + "exec": { + "command": "service apache2 status" + } + }, + } + } + class CinderSchedulerPebbleHandler(sunbeam_chandlers.PebbleHandler): def start_service(self): @@ -73,8 +92,8 @@ class CinderSchedulerPebbleHandler(sunbeam_chandlers.PebbleHandler): container.start(self.service_name) - def get_layer(self): - """Apache service + def get_layer(self) -> dict: + """Cinder Scheduler service :returns: pebble layer configuration for wsgi services :rtype: dict @@ -92,6 +111,24 @@ class CinderSchedulerPebbleHandler(sunbeam_chandlers.PebbleHandler): }, } + def get_healthcheck_layer(self) -> dict: + """Health check pebble layer. + + :returns: pebble health check layer configuration for scheduler service + :rtype: dict + """ + return { + "checks": { + "online": { + "override": "replace", + "level": "ready", + "exec": { + "command": "service cinder-scheduler status" + } + }, + } + } + def init_service(self, context): self.write_config(context) self.start_service()