diff options
author | 2019-12-05 16:32:27 +0800 | |
---|---|---|
committer | 2019-12-05 17:09:31 +0800 | |
commit | 2ae44b787c0795e60276c35aeb13e104ca17bfa7 (patch) | |
tree | bdcdd84ae7a96d78abfcd7cd18e3219259c0fb9a /catalog/packages/biz/notificationsutil.py | |
parent | f96008008bcbefd4142611c9ecca45899c5bb7d6 (diff) |
Notify about NSD and PNFD changes
Change-Id: I49eb61990766f6e54c43702e0235a9aa633ad938
Issue-ID: MODELING-269
Signed-off-by: hongyu zhao <zhao.hongyu@zte.com.cn>
Diffstat (limited to 'catalog/packages/biz/notificationsutil.py')
-rw-r--r-- | catalog/packages/biz/notificationsutil.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/catalog/packages/biz/notificationsutil.py b/catalog/packages/biz/notificationsutil.py index 04bad47..4fa8e79 100644 --- a/catalog/packages/biz/notificationsutil.py +++ b/catalog/packages/biz/notificationsutil.py @@ -23,6 +23,7 @@ import catalog.pub.utils.timeutil from catalog.pub.utils.values import remove_none_key from catalog.pub.config import config as pub_config import traceback +from django.db.models import Q logger = logging.getLogger(__name__) @@ -32,16 +33,20 @@ class NotificationsUtil(object): pass def send_notification(self, notification, filters, isvnfpkg): - logger.info("Send Notifications to the callbackUri") subscriptions_filter = {v + "__contains": notification[k] for k, v in filters.items()} - logger.debug('send_notification subscriptions_filter = %s' % subscriptions_filter) subscriptions_filter = remove_none_key(subscriptions_filter) + logger.debug('send_notification subscriptions_filter = %s' % subscriptions_filter) + q1 = Q() + q1.connector = 'OR' + for k, v in subscriptions_filter.items(): + q1.children.append((k, v)) if isvnfpkg: - subscriptions = VnfPkgSubscriptionModel.objects.filter(**subscriptions_filter) + subscriptions = VnfPkgSubscriptionModel.objects.filter(q1) subscription_root_uri = const.VNFPKG_SUBSCRIPTION_ROOT_URI else: - subscriptions = NsdmSubscriptionModel.objects.filter(**subscriptions_filter) + subscriptions = NsdmSubscriptionModel.objects.filter(q1) subscription_root_uri = const.NSDM_SUBSCRIPTION_ROOT_URI + if not subscriptions.exists(): logger.info("No subscriptions created for the filters %s" % notification) return @@ -82,7 +87,7 @@ class NotificationsUtil(object): try: resp = requests.post(callbackuri, data=notification, headers={'Connection': 'close'}) if resp.status_code != status.HTTP_204_NO_CONTENT: - logger.error("Sendingnotification to %s failed: %s" % (callbackuri, resp.text)) + logger.error("Sending notification to %s failed: %s" % (callbackuri, resp.text)) else: logger.info("Sending notification to %s successfully.", callbackuri) except: |