##
import logging
+import os
import uuid
+import json
from peewee import CharField, TextField, FloatField, Model, AutoField, Proxy
+from peewee_migrate import Router
from playhouse.db_url import connect
+from osm_mon import migrations
from osm_mon.core.config import Config
log = logging.getLogger(__name__)
user = CharField()
password = CharField()
tenant_name = CharField()
- config = TextField(default='{}')
+ config = TextField()
class Alarm(BaseModel):
def create_tables(self) -> None:
with db.atomic():
- db.create_tables([VimCredentials, Alarm])
+ router = Router(db, os.path.dirname(migrations.__file__))
+ router.run()
def get_credentials(self, vim_uuid: str = None) -> VimCredentials:
with db.atomic():
def get_vim_type(self, vim_account_id) -> str:
"""Get the vim type that is required by the message."""
+ vim_type = None
credentials = self.get_credentials(vim_account_id)
- return str(credentials.type)
+ config = json.loads(credentials.config)
+ if 'vim_type' in config:
+ vim_type = config['vim_type']
+ return str(vim_type.lower())
+ else:
+ return str(credentials.type)