X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=lcm%2Flcm%2Fnf%2Fbiz%2Fcreate_subscription.py;h=fe06272932df124aa28c56199e9ca5d695380c76;hb=46ad7c172411214c5432ed93fda4271288077447;hp=b8aa847f6f55f7ef4c3dd7601411d9a2f9b36303;hpb=8f75d6276d4f1a8c5e9da1c77f2def362db11596;p=vfc%2Fgvnfm%2Fvnflcm.git diff --git a/lcm/lcm/nf/biz/create_subscription.py b/lcm/lcm/nf/biz/create_subscription.py index b8aa847f..fe062729 100644 --- a/lcm/lcm/nf/biz/create_subscription.py +++ b/lcm/lcm/nf/biz/create_subscription.py @@ -25,7 +25,9 @@ from rest_framework import status from lcm.nf import const from lcm.pub.database.models import SubscriptionModel from lcm.pub.exceptions import NFLCMException +from lcm.pub.exceptions import NFLCMExceptionSeeOther from lcm.pub.utils.values import ignore_case_get +from lcm.pub.config.config import MSB_SERVICE_IP, MSB_SERVICE_PORT logger = logging.getLogger(__name__) @@ -38,11 +40,13 @@ class CreateSubscription: def __init__(self, data): self.data = data self.filter = ignore_case_get(self.data, "filter", {}) + logger.debug("self.data:%s" % self.data) + logger.debug("self.filter:%s" % self.filter) self.callback_uri = ignore_case_get(self.data, "callbackUri") self.authentication = ignore_case_get(self.data, "authentication", {}) self.notification_types = ignore_case_get(self.filter, "notificationTypes", []) self.operation_types = ignore_case_get(self.filter, "operationTypes", []) - self.operation_states = ignore_case_get(self.filter, "notificationStates", []) + self.operation_states = ignore_case_get(self.filter, "operationStates", []) self.vnf_filter = \ ignore_case_get(self.filter, "vnfInstanceSubscriptionFilter", {}) @@ -60,7 +64,7 @@ class CreateSubscription: def do_biz(self): self.subscription_id = str(uuid.uuid4()) - # self.check_callbackuri_connection() + self.check_callbackuri_connection() self.check_valid_auth_info() self.check_filter_types() self.check_valid() @@ -116,15 +120,17 @@ class CreateSubscription: return True for subscription in subscriptions: if self.check_filter_exists(subscription): - raise NFLCMException("Already Subscription exists with the " - "same callbackUri and filter") + links = json.loads(subscription.links) + raise NFLCMExceptionSeeOther("http://%s:%s/%s" % (MSB_SERVICE_IP, MSB_SERVICE_PORT, links["self"]["href"])) return False def save_db(self): logger.debug("SubscribeNotification--post::> Saving the subscription " "%s to the database" % self.subscription_id) links = { - "self": const.ROOT_URI + self.subscription_id + "self": { + "href": const.ROOT_URI + self.subscription_id + } } SubscriptionModel.objects.create(subscription_id=self.subscription_id, callback_uri=self.callback_uri,