X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=lcm%2Flcm%2Fnf%2Fbiz%2Fcreate_subscription.py;h=5f981d0ac1f60e26de70fdd3424344978ebdf4af;hb=5464ccb452d84a89ed70e056439c73cd7da0e31d;hp=8c6d4528e99f7c08c7d507f3bb4841d5640538c8;hpb=4cd87bf3928d2f89c4f09da8c2f2a8ab503e5f7c;p=vfc%2Fgvnfm%2Fvnflcm.git diff --git a/lcm/lcm/nf/biz/create_subscription.py b/lcm/lcm/nf/biz/create_subscription.py index 8c6d4528..5f981d0a 100644 --- a/lcm/lcm/nf/biz/create_subscription.py +++ b/lcm/lcm/nf/biz/create_subscription.py @@ -40,6 +40,8 @@ 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", []) @@ -51,18 +53,19 @@ class CreateSubscription: def check_callbackuri_connection(self): logger.debug("SubscribeNotification-post::> Sending GET request " "to %s" % self.callback_uri) - try: - response = requests.get(self.callback_uri, timeout=2) - if response.status_code != status.HTTP_204_NO_CONTENT: - raise NFLCMException("callbackUri %s returns %s status " - "code." % (self.callback_uri, response.status_code)) - except Exception: - raise NFLCMException("callbackUri %s didn't return 204 status" - "code." % self.callback_uri) + retry_count = 3 + while retry_count > 0: + response = requests.get(self.callback_uri, timeout=10) + if response.status_code == status.HTTP_204_NO_CONTENT: + return + logger.debug("callbackUri %s returns %s status code." % (self.callback_uri, response.status_code)) + retry_count = - 1 + + raise NFLCMException("callbackUri %s didn't return 204 status." % self.callback_uri) 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() @@ -132,7 +135,7 @@ class CreateSubscription: } SubscriptionModel.objects.create(subscription_id=self.subscription_id, callback_uri=self.callback_uri, - auth_info=self.authentication, + auth_info=json.dumps(self.authentication), notification_types=json.dumps(self.notification_types), operation_types=json.dumps(self.operation_types), operation_states=json.dumps(self.operation_states),