def tearDown(self):
pass
- @mock.patch.object(restcall, 'call_req_aai')
+ # @mock.patch.object(restcall, 'call_req_aai')
@mock.patch.object(restcall, 'call_req')
- def test_instantiate_vnf(self, mock_call_req, mock_call_req_aai):
+ def test_instantiate_vnf(self, mock_call_req):
vnfm_info = {
'userName': 'admin',
'vendor': 'ZTE',
r1 = [0, json.JSONEncoder().encode(vnfm_info), "200"]
ret = [0, json.JSONEncoder().encode(job_info), '200']
ret2 = [0, json.JSONEncoder().encode(vnflcm_info), '200']
- mock_call_req_aai.side_effect = [r1, r1]
- mock_call_req.side_effect = [ret, ret2]
+ # mock_call_req_aai.side_effect = [r1, r1]
+ mock_call_req.side_effect = [r1, ret, r1, ret2]
req_data = {
'vnfInstanceName': 'VFW_f88c0cb7-512a-44c4-bd09-891663f19367',
'vnfPackageId': 'd852e1be-0aac-48f1-b1a4-cd825f6cdf9a',
self.assertEqual(job_info, response.data)
- @mock.patch.object(restcall, 'call_req_aai')
+ # @mock.patch.object(restcall, 'call_req_aai')
@mock.patch.object(restcall, 'call_req')
- def test_terminate_vnf(self, mock_call_req, mock_call_req_aai):
+ def test_terminate_vnf(self, mock_call_req):
vnfm_info = {
"vnfmId": "19ecbb3a-3242-4fa3-9926-8dfb7ddc29ee",
"name": "g_vnfm",
r1 = [0, json.JSONEncoder().encode(vnfm_info), "200"]
r2 = [0, json.JSONEncoder().encode(job_info), "200"]
job_ret = [0, json.JSONEncoder().encode(job_status_info), "200"]
- mock_call_req_aai.side_effect = [r1, r1, r1]
- mock_call_req.side_effect = [r2, job_ret, r2]
+ # mock_call_req_aai.side_effect = [r1, r1, r1]
+ mock_call_req.side_effect = [r1, r2, r1, job_ret, r1, r2]
response = self.client.post("/api/gvnfmdriver/v1/ztevnfmid/vnfs/2/terminate")
self.assertEqual(status.HTTP_204_NO_CONTENT, response.status_code)
self.assertEqual(job_info, response.data)
- @mock.patch.object(restcall, 'call_req_aai')
+ # @mock.patch.object(restcall, 'call_req_aai')
@mock.patch.object(restcall, 'call_req')
- def test_query_vnf(self, mock_call_req, mock_call_req_aai):
+ def test_query_vnf(self, mock_call_req):
vnfm_info = {
"vnfmId": "19ecbb3a-3242-4fa3-9926-8dfb7ddc29ee",
"name": "g_vnfm",
job_info = {"ResponseInfo": {"vnfInstanceId":"88","instantiationState":"INSTANTIATED","vnfSoftwareVersion":"v1.2.3"}}
r1 = [0, json.JSONEncoder().encode(vnfm_info), "200"]
r2 = [0, json.JSONEncoder().encode(job_info), "200"]
- mock_call_req_aai.side_effect = [r1]
- mock_call_req.side_effect = [r2]
+ # mock_call_req_aai.side_effect = [r1]
+ mock_call_req.side_effect = [r1, r2]
response = self.client.get("/api/gvnfmdriver/v1/19ecbb3a-3242-4fa3-9926-8dfb7ddc29ee/vnfs/88")
self.assertEqual(status.HTTP_200_OK, response.status_code)
expect_resp_data = {"vnfInfo": {"vnfInstanceId": "88", "vnfStatus": "ACTIVE","version":"v1.2.3"}}
self.assertEqual(expect_resp_data, response.data)
- @mock.patch.object(restcall, 'call_req_aai')
+ # @mock.patch.object(restcall, 'call_req_aai')
@mock.patch.object(restcall, 'call_req')
- def test_operation_status(self, mock_call_req, mock_call_req_aai):
+ def test_operation_status(self, mock_call_req):
vnfm_info = {
'userName': 'admin',
'vendor': 'ZTE',
}
r1 = [0, json.JSONEncoder().encode(vnfm_info), '200']
r2 = [0, json.JSONEncoder().encode(resp_body), '200']
- mock_call_req_aai.side_effect = [r1]
- mock_call_req.side_effect = [r2]
+ # mock_call_req_aai.side_effect = [r1]
+ mock_call_req.side_effect = [r1, r2]
response = self.client.get("/api/gvnfmdriver/v1/{vnfmid}/jobs/{jobid}?responseId={responseId}".
format(vnfmid=vnfm_info["vnfmId"],jobid=resp_body["ResponseInfo"]["vnfLcOpId"],
responseId=resp_body["ResponseInfo"]["responseDescriptor"]["responseId"]))
return inst_levelId
+# Query vnfm info from nslcm
+def get_vnfminfo_from_nslcm(vnfm_id):
+ ret = req_by_msb((EXTSYS_GET_VNFM) % vnfm_id, "GET")
+ if ret[0] != 0:
+ return 255, Response(data={'error': ret[1]}, status=ret[2])
+ vnfm_info = json.JSONDecoder().decode(ret[1])
+ logger.debug("[%s] vnfm_info=%s", fun_name(), vnfm_info)
+ return 0, vnfm_info
+
+# Query vnfm info from esr
def get_vnfm_info(vnfm_id):
ret = call_aai((EXTSYS_GET_VNFM) % vnfm_id, "GET")
if ret[0] != 0:
logger.debug("[%s] vnfm_info=%s", fun_name(), vnfm_info)
return 0, vnfm_info
+
+
def call_vnfm_rest(vnfm_info, input_data, res_url, call_method = "post"):
ret = restcall.call_req(
base_url=ignorcase_get(vnfm_info, "url"),
begin_time = time.time()
try:
- ret, vnfm_info = get_vnfm_info(vnfm_id)
+ ret, vnfm_info = get_vnfminfo_from_nslcm(vnfm_id)
if ret != 0:
return 255, Response(data={"error":"Fail to get VNFM!"}, status=status.HTTP_412_PRECONDITION_FAILED)
logger.debug("[%s] request.data=%s", fun_name(), request.data)
try:
- ret, vnfm_info = get_vnfm_info(vnfm_id)
+ ret, vnfm_info = get_vnfminfo_from_nslcm(vnfm_id)
if ret != 0:
return ret, vnfm_info
logger.debug("[%s] request.data=%s", fun_name(), request.data)
try:
- ret, vnfm_info = get_vnfm_info(vnfm_id)
+ ret, vnfm_info = get_vnfminfo_from_nslcm(vnfm_id)
if ret != 0:
return ret, vnfm_info
def do_terminatevnf(request, data, vnfm_id, vnfInstanceId):
logger.debug("[%s] request.data=%s", fun_name(), request.data)
try:
- ret, vnfm_info = get_vnfm_info(vnfm_id)
+ ret, vnfm_info = get_vnfminfo_from_nslcm(vnfm_id)
if ret != 0:
return ret,vnfm_info
logger.debug("[%s] request.data=%s", fun_name(), request.data)
input_data = set_deletevnf_params(request.data)
try:
- ret, vnfm_info = get_vnfm_info(vnfm_id)
+ ret, vnfm_info = get_vnfminfo_from_nslcm(vnfm_id)
if ret != 0:
return ret, vnfm_info
def do_queryvnf(request, vnfm_id, vnfInstanceId):
logger.debug("[%s] request.data=%s", fun_name(), request.data)
try:
- ret, vnfm_info = get_vnfm_info(vnfm_id)
+ ret, vnfm_info = get_vnfminfo_from_nslcm(vnfm_id)
if ret != 0:
return ret, vnfm_info
jobId = ignorcase_get(kwargs, "jobId")
responseId = ignorcase_get(kwargs, "responseId")
- ret, vnfm_info = get_vnfm_info(vnfm_id)
+ ret, vnfm_info = get_vnfminfo_from_nslcm(vnfm_id)
if ret != 0:
return Response(data={'error': ret[1]}, status=ret[2])
logger.debug("[%s] vnfm_info=%s", fun_name(), vnfm_info)
# ==================================================
-grant_vnf_url = 'api/nslcm/v1/ns/grantvnf'
+grant_vnf_url = 'api/nslcm/v1/grantvnf'
@api_view(http_method_names=['PUT'])
def grantvnf(request, *args, **kwargs):