summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryunlong ying <ying.yunlong@zte.com.cn>2017-02-09 12:47:14 +0000
committerGerrit Code Review <gerrit@open-o.org>2017-02-09 12:47:14 +0000
commitb283f9406d9c041365833f6fccfc12ae150a4200 (patch)
tree567cddcdf89366c27772876fe1cc6ef077e1cbdd
parent8eed1554598431ce85e0f85fc4a12af371f660d4 (diff)
parentce2dc9c377712c7e97c78fec1563c60101839bd2 (diff)
Merge "Add instantiation state check"
-rw-r--r--lcm/lcm/nf/vnfs/tests/test_vnf_create.py15
-rw-r--r--lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py5
2 files changed, 20 insertions, 0 deletions
diff --git a/lcm/lcm/nf/vnfs/tests/test_vnf_create.py b/lcm/lcm/nf/vnfs/tests/test_vnf_create.py
index cefb86d6..5537f191 100644
--- a/lcm/lcm/nf/vnfs/tests/test_vnf_create.py
+++ b/lcm/lcm/nf/vnfs/tests/test_vnf_create.py
@@ -115,6 +115,21 @@ class TestNsInstantiate(TestCase):
self.assert_job_result(self.job_id, 255, "VNF nf_inst_id is not exist.")
+ @mock.patch.object(restcall, 'call_req')
+ def test_instantiate_vnf_success(self, mock_call_req):
+ r1 = [0, json.JSONEncoder().encode(vnfd_model_dict), '200']
+ mock_call_req.side_effect = [r1]
+ create_data = {
+ "vnfdId": "111",
+ "vnfInstanceName": "vFW_01",
+ "vnfInstanceDescription": " vFW in Nanjing TIC Edge"}
+ self.nf_inst_id = CreateVnf(create_data).do_biz()
+ self.job_id = JobUtil.create_job('NF', 'CREATE', self.nf_inst_id)
+ JobUtil.add_job_status(self.job_id, 0, "INST_VNF_READY")
+ data = inst_req_data
+ InstVnf(data, nf_inst_id=self.nf_inst_id, job_id=self.job_id).run()
+ self.assert_job_result(self.job_id, 100, "Instantiate Vnf success.")
+
vnfd_model_dict = {
'local_storages': [],
'vdus': [
diff --git a/lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py b/lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py
index db45fd62..cf67fad8 100644
--- a/lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py
+++ b/lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py
@@ -57,6 +57,11 @@ class InstVnf(Thread):
JobUtil.add_job_status(self.job_id, 255, "VNF nf_inst_id is not exist.")
raise NFLCMException('VNF nf_inst_id is not exist.')
+ vnf_inst = NfInstModel.objects.get(nfinstid=self.nf_inst_id)
+ if vnf_inst.instantiationState != 'NOT_INSTANTIATED':
+ JobUtil.add_job_status(self.job_id, 255, "VNF instantiationState is not NOT_INSTANTIATED.")
+ raise NFLCMException('VNF instantiationState is not NOT_INSTANTIATED.')
+
JobUtil.add_job_status(self.job_id, 100, "Instantiate Vnf success.")
is_exist = JobStatusModel.objects.filter(jobid=self.job_id).exists()
logger.debug("check_ns_inst_name_exist::is_exist=%s" % is_exist)