import logging
from peewee import *
-from playhouse.sqlite_ext import SqliteExtDatabase
+from playhouse.db_url import connect
-from osm_mon.plugins.OpenStack.settings import Config
+from osm_mon.core.settings import Config
log = logging.getLogger(__name__)
cfg = Config.instance()
+cfg.read_environ()
-db = SqliteExtDatabase('mon.db')
+db = connect(cfg.DATABASE)
class BaseModel(Model):
user = CharField()
password = CharField()
tenant_name = CharField()
- config = TextField()
+ config = TextField(default='{}')
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')
.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)