-# Copyright (C) 2021 Wind River Systems, Inc.
+# Copyright (C) 2021-2024 Wind River Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
import json
from o2app import bootstrap
from o2common.config import config
+from o2common.adapter.notifications import SmoNotifications
from o2dms.domain import commands
from o2ims.domain import commands as imscmd
from o2ims.domain.subscription_obj import Message2SMO, RegistrationMessage
def main():
logger.info("Redis pubsub starting")
- bus = bootstrap.bootstrap()
+
+ notifications = SmoNotifications()
+ bus = bootstrap.bootstrap(notifications=notifications)
+
pubsub = r.pubsub(ignore_subscribe_messages=True)
pubsub.subscribe("NfDeploymentStateChanged")
pubsub.subscribe('OcloudChanged')
pubsub.subscribe('DmsChanged')
pubsub.subscribe('ResourceChanged')
pubsub.subscribe('AlarmEventChanged')
+ pubsub.subscribe('AlarmEventPurged')
for m in pubsub.listen():
try:
eventtype=data['notificationEventType'],
updatetime=data['updatetime']))
bus.handle(cmd)
+ elif channel == 'AlarmEventPurged':
+ datastr = m['data']
+ data = json.loads(datastr)
+ logger.info('AlarmEventPurged with cmd:{}'.format(data))
+ ref = api_monitoring_base + \
+ monitor_api_version + '/alarms/' + data['id']
+ cmd = imscmd.PurgeAlarmEvent(data=AlarmEvent2SMO(
+ id=data['id'], ref=ref,
+ eventtype=data['notificationEventType'],
+ updatetime=data['updatetime']))
+ bus.handle(cmd)
else:
logger.info("unhandled:{}".format(channel))