summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormaopengzhang <zhang.maopeng1@zte.com.cn>2018-11-09 20:51:58 +0800
committermaopengzhang <zhang.maopeng1@zte.com.cn>2018-11-09 20:51:58 +0800
commita08a6c722d73b7fe81db8b9b22f9de8ac6e8e8f9 (patch)
tree43878290c77eb63fb3f52a0b16030458ee769077
parent5af031ffdae62624b56a317dfd5aed54e465707f (diff)
fix subscription error
fix subscription error Change-Id: Ibc3844a3979b86a63da6df9f7fce7fccfda8f354 Issue-ID: VFC-1158 Signed-off-by: maopengzhang <zhang.maopeng1@zte.com.cn>
-rw-r--r--lcm/ns_vnfs/biz/create_vnfs.py12
-rw-r--r--lcm/ns_vnfs/biz/subscribe.py24
2 files changed, 26 insertions, 10 deletions
diff --git a/lcm/ns_vnfs/biz/create_vnfs.py b/lcm/ns_vnfs/biz/create_vnfs.py
index 5b7cfde9..b1caa393 100644
--- a/lcm/ns_vnfs/biz/create_vnfs.py
+++ b/lcm/ns_vnfs/biz/create_vnfs.py
@@ -171,10 +171,20 @@ class CreateVnfs(Thread):
# SOL 003 align
"id": vl_instance_id,
"vimConnectionId": vl_instance.vimid,
- "extCps": [{"cpdId": self.get_cpd_id_of_vl(network_info['key_name']), "cpConfig":[]}]
+ "extCps": self.get_cpds_of_vl(network_info['key_name'])
})
return virtual_link_list, ext_virtual_link
+ def get_cpds_of_vl(self, vl_key):
+ extCps = []
+ logger.debug("vl_keya; %s" % vl_key)
+ for cpd in self.vnfd_model["vnf_exposed"]["external_cps"]:
+ logger.debug("exposed_cpd; %s" % cpd)
+ if vl_key == cpd["key_name"]:
+ cp = {"cpdId": cpd["cpd_id"], "cpConfig": []}
+ extCps.append(cp)
+ return extCps
+
def get_cpd_id_of_vl(self, vl_key):
for cpd in self.vnfd_model["vnf_exposed"]["external_cps"]:
if vl_key == cpd["key_name"]:
diff --git a/lcm/ns_vnfs/biz/subscribe.py b/lcm/ns_vnfs/biz/subscribe.py
index 2a4a8173..21d410e0 100644
--- a/lcm/ns_vnfs/biz/subscribe.py
+++ b/lcm/ns_vnfs/biz/subscribe.py
@@ -20,6 +20,7 @@ from lcm.pub.exceptions import NSLCMException
from lcm.pub.msapi.extsys import get_vnfm_by_id
from lcm.pub.utils.restcall import req_by_msb
from lcm.pub.utils.values import ignore_case_get
+from lcm.pub.config import config as pub_config
logger = logging.getLogger(__name__)
@@ -35,13 +36,14 @@ class SubscriptionCreation(object):
def do_biz(self):
logger.debug('Start subscribing...')
- self.prepare_subscription_request_data()
+ self.prepare_lccn_subscription_request_data()
self.send_subscription_request()
self.save_subscription_response_data()
logger.debug('Subscribing has completed.')
def prepare_lccn_subscription_request_data(self):
vnfm_info = get_vnfm_by_id(self.vnfm_id)
+ call_back = "http://%s:%s/api/gvnfmdriver/v1/vnfs/lifecyclechangesnotification" % (pub_config.MSB_SERVICE_IP, pub_config.MSB_SERVICE_PORT)
self.subscription_request_data = {
"filter": {
"notificationTypes": ["VnfLcmOperationOccurrenceNotification"],
@@ -66,24 +68,28 @@ class SubscriptionCreation(object):
"ROLLED_BACK"
],
"vnfInstanceSubscriptionFilter": {
- "vnfdIds": [],
+ # "vnfdIds": [],
"vnfInstanceIds": [self.vnf_instance_id],
- "vnfInstanceNames": [],
- "vnfProductsFromProviders": {}
+ # "vnfInstanceNames": [],
+ # "vnfProductsFromProviders": {}
}
},
- "callbackUri": "api/gvnfmdriver/v1/vnfs/lifecyclechangesnotification", # TODO: need reconfirming
+ "callbackUri": call_back, # TODO: need reconfirming
"authentication": {
"authType": ["BASIC"],
"paramsBasic": {
- "userName": vnfm_info['userName'],
- "password": vnfm_info['password']
+ # "userName": vnfm_info['userName'],
+ # "password": vnfm_info['password']
}
}
}
+ if vnfm_info['userName']:
+ self.subscription_request_data["authentication"]["paramsBasic"]["userName"] = vnfm_info['userName']
+ if vnfm_info['password']:
+ self.subscription_request_data["authentication"]["paramsBasic"]["password"] = vnfm_info['password']
def send_subscription_request(self):
- ret = req_by_msb('api/gvnfmdrvier/v1/%s/subscriptions' % self.vnfm_id, 'POST', self.subscription_request_data)
+ ret = req_by_msb('api/gvnfmdriver/v1/%s/subscriptions' % self.vnfm_id, 'POST', json.JSONEncoder().encode(self.subscription_request_data))
if ret[0] != 0:
logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
raise NSLCMException("Failed to subscribe from vnfm(%s)." % self.vnfm_id)
@@ -125,7 +131,7 @@ class SubscriptionDeletion(object):
def send_subscription_deletion_request(self):
if self.subscription:
self.subscription_id = ignore_case_get(self.subscription, 'id')
- ret = req_by_msb('api/gvnfmdrvier/v1/%s/subscriptions/%s' % (self.vnfm_id, self.subscription_id), 'DELETE')
+ ret = req_by_msb('api/gvnfmdriver/v1/%s/subscriptions/%s' % (self.vnfm_id, self.subscription_id), 'DELETE')
if ret[0] != 0:
logger.error('Status code is %s, detail is %s.', ret[2], ret[1])
raise NSLCMException("Failed to subscribe from vnfm(%s)." % self.vnfm_id)