from o2ims.domain import commands as imscmd
from o2common.helper import o2logging
-from o2ims.domain.subscription_obj import Message2SMO
+from o2ims.domain.subscription_obj import Message2SMO, NotificationEventEnum,\
+ RegistrationMessage
logger = o2logging.get_logger(__name__)
r = redis.Redis(**config.get_redis_host_and_port())
pubsub = r.pubsub(ignore_subscribe_messages=True)
pubsub.subscribe("NfDeploymentStateChanged")
pubsub.subscribe('ResourceChanged')
+ pubsub.subscribe('ConfigurationChanged')
+ pubsub.subscribe('OcloudChanged')
for m in pubsub.listen():
try:
ToState=data['ToState']
)
bus.handle(cmd)
- if channel == 'ResourceChanged':
+ elif channel == 'ResourceChanged':
datastr = m['data']
data = json.loads(datastr)
logger.info('ResourceChanged with cmd:{}'.format(data))
eventtype=data['notificationEventType'],
updatetime=data['updatetime']))
bus.handle(cmd)
+ elif channel == 'ConfigurationChanged':
+ datastr = m['data']
+ data = json.loads(datastr)
+ logger.info('ConfigurationChanged with cmd:{}'.format(data))
+ cmd = imscmd.Register2SMO(data=RegistrationMessage(id=data['id']))
+ bus.handle(cmd)
+ elif channel == 'OcloudChanged':
+ datastr = m['data']
+ data = json.loads(datastr)
+ logger.info('OcloudChanged with cmd:{}'.format(data))
+ if data['notificationEventType'] == NotificationEventEnum.CREATE:
+ cmd = imscmd.Register2SMO(data=RegistrationMessage(is_all=True))
+ bus.handle(cmd)
else:
logger.info("unhandled:{}".format(channel))