X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=a1%2Fcontroller.py;h=19b8a26b4ee27e08a4de90964fa9f4d16ca66587;hb=refs%2Fchanges%2F47%2F7547%2F1;hp=9de9c00dfc3cbf64919ef2ffcf8cf5ef49c333b0;hpb=c91a4a172446229f4b11e76547ffdf454528b30d;p=ric-plt%2Fa1.git diff --git a/a1/controller.py b/a1/controller.py index 9de9c00..19b8a26 100644 --- a/a1/controller.py +++ b/a1/controller.py @@ -27,7 +27,9 @@ from a1 import a1rmr, exceptions, data mdc_logger = Logger(name=__name__) -request_counter = Counter('policy_requests', 'Policy type and instance requests', ['action', 'target']) +mdc_logger.mdclog_format_init(configmap_monitor=True) + +a1_counters = Counter('A1Policy', 'Policy type and instance counters', ['counter']) def _log_build_http_resp(exception, http_resp_code): @@ -75,10 +77,10 @@ def get_healthcheck(): 3. checks that our SDL connection is healthy """ if not a1rmr.healthcheck_rmr_thread(): - mdc_logger.debug("A1 is not healthy due to the rmr thread") + mdc_logger.error("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") + mdc_logger.error("A1 is not healthy because it does not have a connection to SDL") return "sdl connection is unhealthy", 500 return "", 200 @@ -97,7 +99,7 @@ def create_policy_type(policy_type_id): """ Handles PUT /a1-p/policytypes/policy_type_id """ - request_counter.labels(action='create', target='policy_type').inc() + a1_counters.labels(counter='CreatePolicyTypeReqs').inc() def put_type_handler(): data.store_policy_type(policy_type_id, body) @@ -119,7 +121,7 @@ def delete_policy_type(policy_type_id): """ Handles DELETE /a1-p/policytypes/policy_type_id """ - request_counter.labels(action='delete', target='policy_type').inc() + a1_counters.labels(counter='DeletePolicyTypeReqs').inc() def delete_policy_type_handler(): data.delete_policy_type(policy_type_id) @@ -162,7 +164,7 @@ def create_or_replace_policy_instance(policy_type_id, policy_instance_id): """ Handles PUT /a1-p/policytypes/polidyid/policies/policy_instance_id """ - request_counter.labels(action='create', target='policy_inst').inc() + a1_counters.labels(counter='CreatePolicyInstanceReqs').inc() instance = connexion.request.json def put_instance_handler(): @@ -176,10 +178,10 @@ def create_or_replace_policy_instance(policy_type_id, policy_instance_id): validate(instance=instance, schema=schema) # store the instance - data.store_policy_instance(policy_type_id, policy_instance_id, instance) + operation = data.store_policy_instance(policy_type_id, policy_instance_id, instance) # queue rmr send (best effort) - a1rmr.queue_instance_send(("CREATE", policy_type_id, policy_instance_id, instance)) + a1rmr.queue_instance_send((operation, policy_type_id, policy_instance_id, instance)) return "", 202 @@ -190,7 +192,7 @@ def delete_policy_instance(policy_type_id, policy_instance_id): """ Handles DELETE /a1-p/policytypes/polidyid/policies/policy_instance_id """ - request_counter.labels(action='delete', target='policy_inst').inc() + a1_counters.labels(counter='DeletePolicyInstanceReqs').inc() def delete_instance_handler(): data.delete_policy_instance(policy_type_id, policy_instance_id) @@ -201,3 +203,21 @@ def delete_policy_instance(policy_type_id, policy_instance_id): return "", 202 return _try_func_return(delete_instance_handler) + + +# data delivery + + +def data_delivery(): + """ + Handle data delivery /data-delivery + """ + + def data_delivery_handler(): + mdc_logger.debug("data: {}".format(connexion.request.json)) + ei_job_result_json = connexion.request.json + mdc_logger.debug("jobid: {}".format(ei_job_result_json.get("job"))) + a1rmr.queue_ei_job_result((ei_job_result_json.get("job"), ei_job_result_json)) + return "", 200 + + return _try_func_return(data_delivery_handler)