- alarm = Alarm(name, severity, threshold, operation, statistic, metric_name, tags)
- self.common_db.create_alarm(alarm)
- return alarm
+ database.db.connect()
+ try:
+ with database.db.atomic():
+ alarm = AlarmRepository.create(
+ uuid=str(uuid.uuid4()),
+ name=name,
+ threshold=threshold,
+ operation=operation.lower(),
+ severity=severity.lower(),
+ statistic=statistic.lower(),
+ metric=metric_name
+ )
+ for k, v in tags.items():
+ AlarmTagRepository.create(
+ name=k,
+ value=v,
+ alarm=alarm
+ )
+ return alarm
+
+ finally:
+ database.db.close()