diff options
author | yunlong ying <ying.yunlong@zte.com.cn> | 2017-02-09 12:47:14 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@open-o.org> | 2017-02-09 12:47:14 +0000 |
commit | b283f9406d9c041365833f6fccfc12ae150a4200 (patch) | |
tree | 567cddcdf89366c27772876fe1cc6ef077e1cbdd /lcm | |
parent | 8eed1554598431ce85e0f85fc4a12af371f660d4 (diff) | |
parent | ce2dc9c377712c7e97c78fec1563c60101839bd2 (diff) |
Merge "Add instantiation state check"
Diffstat (limited to 'lcm')
-rw-r--r-- | lcm/lcm/nf/vnfs/tests/test_vnf_create.py | 15 | ||||
-rw-r--r-- | lcm/lcm/nf/vnfs/vnf_create/inst_vnf.py | 5 |
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) |