from rest_framework.response import Response
from driver.pub.utils import restcall
-from driver.pub.utils.restcall import req_by_msb, call_aai
+from driver.pub.utils.restcall import req_by_msb
from driver.pub.config.config import VNF_FTP
logger = logging.getLogger(__name__)
return ret
-# Query vnfm_info from esr
-def vnfm_get(vnfmid):
- ret = call_aai("api/aai-esr-server/v1/vnfms/%s" % vnfmid, "GET")
- return ret
-
-
# Query vnfd_info from nslcm
def vnfd_get(vnfpackageid):
ret = req_by_msb("api/nslcm/v1/vnfpackage/%s" % vnfpackageid, "GET")
return ret
-# ==================================================
create_vnf_url = "v1/vnfs"
create_vnf_param_mapping = {
"packageUrl": "",
return Response(data=resp_data, status=ret[2])
-# ==================================================
vnf_delete_url = "v1/vnfs/%s"
vnf_delete_param_mapping = {
"terminationType": "terminationType",
return Response(data=resp_data, status=ret[2])
-# ==================================================
-
-
vnf_detail_url = "v1/vnfs/%s"
vnf_detail_resp_mapping = {
"VNFInstanseStatus": "status"
openo_notification = ignorcase_get(extension, "openo_notification")
if openo_notification:
affectedvnfcs = ignorcase_get(openo_notification, "affectedVnfc")
+ affectedvls = ignorcase_get(openo_notification, "affectedvirtuallink")
+ affectedcps = ignorcase_get(openo_notification, "affectedCp")
+ vnfdmodule = ignorcase_get(openo_notification, "vnfdmodule")
else:
affectedvnfcs = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedvnfc")
-
- affectedvls = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedvl")
- affectedcps = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedcp")
- vnfdmodule = ignorcase_get(ignorcase_get(request.data, "extension"), "vnfdmodule")
+ affectedvls = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedvl")
+ affectedcps = ignorcase_get(ignorcase_get(request.data, "extension"), "affectedcp")
+ vnfdmodule = ignorcase_get(ignorcase_get(request.data, "extension"), "vnfdmodule")
data["vnfdmodule"] = vnfdmodule
for affectedcp in affectedcps:
data["affectedCp"].append(affectedcp)
- # {
- # "virtualLinkInstanceId": ignorcase_get(affectedcp, "virtuallinkinstanceid"),
- # "ownerId": ignorcase_get(affectedcp, "ownerId"),
- # "ownerType": ignorcase_get(affectedcp, "ownerType")
- # }
+
ret = req_by_msb(notify_url.format(vnfmid=ignorcase_get(data, 'VNFMID'),
vnfInstanceId=ignorcase_get(data, 'vnfinstanceid')),
"POST", content=json.JSONEncoder().encode(data))
if ret[0] != 0:
return Response(data={'error': 'scale error'}, status=ret[2])
resp_data = json.JSONDecoder().decode(ret[1])
- # jobId = resp_data["jobid"]
logger.info("resp_data=%s", resp_data)
except Exception as e:
logger.error("Error occurred when scaling VNF,error:%s", e.message)
if ret[0] != 0:
return Response(data={'error': ret[1]}, status=ret[2])
vnfm_info = json.JSONDecoder().decode(ret[1])
- data = request.data
+ data = {}
+ data['action'] = ignorcase_get(request.data, 'action')
+ affectedvm = ignorcase_get(request.data, 'affectedvm')
+ data['affectedvm'] = []
+ if isinstance(affectedvm, list):
+ data['affectedvm'] = affectedvm
+ else:
+ data['affectedvm'].append(affectedvm)
data['lifecycleoperation'] = 'operate'
data['isgrace'] = 'force'
passwd=ignorcase_get(vnfm_info, "password"),
auth_type=restcall.rest_no_auth,
resource=nf_healing_url.format(vnfInstanceID=nf_instance_id),
- method='put', # POST
+ method='post',
content=json.JSONEncoder().encode(data))
logger.info("ret=%s", ret)
if ret[0] != 0:
return Response(data={'error': 'heal error'}, status=ret[2])
resp_data = json.JSONDecoder().decode(ret[1])
- # jobId = resp_data["jobid"]
logger.info("resp_data=%s", resp_data)
except Exception as e:
logger.error("Error occurred when healing VNF,error:%s", e.message)