Updates:
[ric-plt/a1.git] / a1 / controller.py
index b4d85df..2de69b8 100644 (file)
@@ -60,12 +60,15 @@ def get_healthcheck():
     Currently, this checks:
     1. whether the a1 webserver is up (if it isn't, this won't even be called, so even entering this function confirms it is)
     2. checks whether the rmr thread is running and has completed a loop recently
-    TODO: make "seconds" to pass in a configurable parameter?
-    TODO: I've requested that SDL provide a "I'm connected to the backend" healthcheck that can be integrated here
+    3. checks that our SDL connection is healthy
     """
-    if a1rmr.healthcheck_rmr_thread():
-        return "", 200
-    return "rmr thread is unhealthy", 500
+    if not a1rmr.healthcheck_rmr_thread():
+        mdc_logger.debug("A1 is not healthy due to the rmr thread")
+        return "rmr thread is unhealthy", 500
+    if not data.SDL.healthcheck():
+        mdc_logger.debug("A1 is not healthy because it does not have a connection to SDL")
+        return "sdl connection is unhealthy", 500
+    return "", 200
 
 
 # Policy types
@@ -85,6 +88,7 @@ def create_policy_type(policy_type_id):
 
     def put_type_handler():
         data.store_policy_type(policy_type_id, body)
+        mdc_logger.debug("Policy type {} created.".format(policy_type_id))
         return "", 201
 
     body = connexion.request.json
@@ -105,6 +109,7 @@ def delete_policy_type(policy_type_id):
 
     def delete_policy_type_handler():
         data.delete_policy_type(policy_type_id)
+        mdc_logger.debug("Policy type {} deleted.".format(policy_type_id))
         return "", 204
 
     return _try_func_return(delete_policy_type_handler)