Exemplo n.º 1
0
    def NewTargetRequest(self, request, context):
        try:
            target_file = File(self._target_file)
            target_file_content = target_file.open_file()
            fild_sd = FileSD(target_file_content)

            alert_file = File(self._alert_file)
            alert_file_content = alert_file.open_file()
            alerts = Alert(alert_file_content)

            for vdu in request.vdus:
                fild_sd.add_new_target(vdu, request.vnf_id)
                alerts.add_new_rule(alerts=vdu.alerts,
                                    vnf_id=request.vnf_id,
                                    vdu_name=vdu.vdu_name)

            target_file.write_to_file(str(fild_sd))
            alert_file.write_to_file(str(alerts))

            # Reload prometheus configuration
            r = requests.post("http://127.0.0.1:9090/-/reload")
            print("New target created")
            response = service_pb2.MonitorReply(message="", status=1)
            return response
        except:
            traceback.print_exc(file=sys.stdout)
            response = service_pb2.MonitorReply(message="Unexpected error:",
                                                status=1)
            return response