- }
- return notification_content
-
-
-def prepare_pnfd_notification(pnfd_info_id, pnfd_id, notification_type, failure_details=None):
- logger.info('Start to prepare notification')
- notification_content = {
- 'id': str(uuid.uuid4()), # shall be the same if sent multiple times due to multiple subscriptions.
- 'notificationType': notification_type,
- # set 'subscriptionId' after filtering for subscribers
- 'timeStamp': catalog.pub.utils.timeutil.now_time(),
- 'pnfdInfoIds': pnfd_info_id,
- 'pnfdId': pnfd_id,
- 'onboardingFailureDetails': failure_details,
- '_links': {
- 'pnfdInfo': {
- 'href': 'http://%s:%s/%s/pnf_descriptors/%s' % (pub_config.MSB_SERVICE_IP,
- pub_config.MSB_SERVICE_PORT,
- const.NSD_URL_PREFIX,
- pnfd_info_id)
+ if self.notification_type == "NsdOnboardingFailureNotification":
+ notification_content['onboardingFailureDetails'] = self.failure_details
+ if self.notification_type == "NsdChangeNotification":
+ notification_content['nsdOperationalState'] = self.operational_state
+ return notification_content
+
+
+class PnfNotifications(NotificationsUtil):
+ def __init__(self, notification_type, pnfd_info_id, pnfd_id, failure_details=None):
+ super(PnfNotifications, self).__init__(notification_type)
+ self.filter = {
+ 'pnfdId': 'pnfdId',
+ 'pnfdInfoIds': 'pnfdInfoIds',
+ }
+ self.SubscriptionModel = NsdmSubscriptionModel
+ self.subscription_root_uri = const.NSDM_SUBSCRIPTION_ROOT_URI
+ self.pnfd_info_id = pnfd_info_id
+ self.pnfd_id = pnfd_id
+ self.failure_details = failure_details
+ # todo
+ # if self.notification_type == "VnfPackageChangeNotification":
+ # self.notifyserializer = PkgChangeNotificationSerializer
+ # else:
+ # self.notifyserializer = PkgOnboardingNotificationSerializer
+
+ def prepare_notification(self, *args, **kwargs):
+ logger.info('Start to prepare Pnfnotification')
+ notification_content = {
+ 'id': str(uuid.uuid4()), # shall be the same if sent multiple times due to multiple subscriptions.
+ 'notificationType': self.notification_type,
+ # set 'subscriptionId' after filtering for subscribers
+ 'timeStamp': catalog.pub.utils.timeutil.now_time(),
+ 'pnfdInfoIds': self.pnfd_info_id,
+ 'pnfdId': self.pnfd_id,
+ '_links': {
+ 'pnfdInfo': {
+ 'href': 'http://%s:%s/%s/pnf_descriptors/%s' % (pub_config.MSB_SERVICE_IP,
+ pub_config.MSB_SERVICE_PORT,
+ const.NSD_URL_PREFIX,
+ self.pnfd_info_id)
+ }