# For those usages not covered by the Apache License, Version 2.0 please
# contact: bdiaz@whitestack.com or glavado@whitestack.com
##
-import asyncio
import json
import logging
import operator
class AlarmingService:
- def __init__(self, config: Config, loop=None):
+ def __init__(self, config: Config):
self.conf = config
- if not loop:
- loop = asyncio.get_event_loop()
- self.loop = loop
self.db_client = CommonDbClient(config)
- self.mon_client = MonClient(config, loop=self.loop)
- self.lcm_client = LcmClient(config, loop=self.loop)
+ self.mon_client = MonClient(config)
+ self.lcm_client = LcmClient(config)
async def configure_vnf_alarms(self, nsr_id: str, vnf_member_index=None):
log.info("Configuring vnf alarms for network service %s", nsr_id)
threshold=alarm_descriptor["value"],
operation=alarm_descriptor["operation"],
action=str(alarm_action),
+ vnfr=vnfr,
+ vnfd=vnfd,
)
alarm = VnfAlarmRepository.create(
alarm_id=alarm_descriptor["alarm-id"],
status,
)
try:
- if status == "alarm" and alarm.last_action == "ok":
+ if (
+ status == "alarm"
+ and alarm.last_action == "ok"
+ or (
+ status == "alarm"
+ and alarm.last_action == "insufficient-data"
+ )
+ ):
alarm.id_suffix += 1
alarm.ok_ack = False
if status == "ok" and alarm.last_action == "alarm":
url=action.url,
data=json.dumps(payload),
headers=headers,
- verify=False,
timeout=alert_timeout,
)
log.info("Response %s", resp)