X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcore%2Fdatabase.py;h=61bd18060122f759a22c625064e7a1b98b1db84e;hb=628df021896fa8775f9743af62a4267b617cc35c;hp=07d92cf3355a1dcb863bd83ef840cf3343550bec;hpb=c2a005ed542b4bc3bdb7bd47bf3b34b1110e1e0d;p=osm%2FMON.git diff --git a/osm_mon/core/database.py b/osm_mon/core/database.py index 07d92cf..61bd180 100644 --- a/osm_mon/core/database.py +++ b/osm_mon/core/database.py @@ -26,7 +26,7 @@ import logging import os from typing import Iterable -from peewee import CharField, FloatField, Model, AutoField, Proxy +from peewee import CharField, FloatField, Model, AutoField, Proxy, ForeignKeyField from peewee_migrate import Router from playhouse.db_url import connect @@ -52,10 +52,13 @@ class Alarm(BaseModel): threshold = FloatField() operation = CharField() statistic = CharField() - monitoring_param = CharField() - vdur_name = CharField() - vnf_member_index = CharField() - nsr_id = CharField() + metric = CharField() + + +class AlarmTag(BaseModel): + name = CharField() + value = CharField() + alarm = ForeignKeyField(Alarm, related_name='tags', on_delete='CASCADE') class DatabaseManager: @@ -70,6 +73,12 @@ class DatabaseManager: db.close() +class AlarmTagRepository: + @staticmethod + def create(**query) -> Alarm: + return AlarmTag.create(**query) + + class AlarmRepository: @staticmethod def create(**query) -> Alarm: