X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcore%2Fdatabase.py;fp=osm_mon%2Fcore%2Fdatabase.py;h=e763a5b73f18dbab830d6422be05549ea088daab;hb=ffe5a8e4e35d3fc7860eb9231618dc0e84e448b7;hp=857e8e53a8436c86689219c9fc235081ad91320a;hpb=2f1be6ba8722211068fb678bc1048283f275f0af;p=osm%2FMON.git diff --git a/osm_mon/core/database.py b/osm_mon/core/database.py index 857e8e5..e763a5b 100644 --- a/osm_mon/core/database.py +++ b/osm_mon/core/database.py @@ -54,6 +54,12 @@ class VimCredentials(BaseModel): class Alarm(BaseModel): alarm_id = CharField() + threshold = FloatField() + operation = CharField() + metric_name = CharField() + vdu_name = CharField() + vnf_member_index = CharField() + ns_id = CharField() credentials = ForeignKeyField(VimCredentials, backref='alarms') @@ -83,12 +89,26 @@ class DatabaseManager: .where(VimCredentials.type == vim_type).get() return alarm.credentials - def save_alarm(self, alarm_id, vim_uuid): + def get_alarm(self, alarm_id, vim_type): + alarm = Alarm.select() \ + .where(Alarm.alarm_id == alarm_id) \ + .join(VimCredentials) \ + .where(VimCredentials.type == vim_type).get() + return alarm + + def save_alarm(self, alarm_id, vim_uuid, threshold=None, operation=None, metric_name=None, vdu_name=None, + vnf_member_index=None, ns_id=None): """Saves alarm. If a record with same id and vim_uuid exists, overwrite it.""" alarm = Alarm() alarm.alarm_id = alarm_id creds = VimCredentials.get(VimCredentials.uuid == vim_uuid) alarm.credentials = creds + alarm.threshold = threshold + alarm.operation = operation + alarm.metric_name = metric_name + alarm.vdu_name = vdu_name + alarm.vnf_member_index = vnf_member_index + alarm.ns_id = ns_id exists = Alarm.select(Alarm.alarm_id == alarm.alarm_id) \ .join(VimCredentials) \ .where(VimCredentials.uuid == vim_uuid)