コード例 #1
0
 def test_ns_update_asynchronous_tasks_when_operatevnfdata_does_not_exist(self):
     request_data = {"updateType": "OPERATE_VNF"}
     ns_heal_service = NSUpdateService(self.ns_inst_id, request_data, self.job_id)
     ns_heal_service.run()
     self.assertEqual(NSInstModel.objects.filter(id=self.ns_inst_id).first().status, NS_INST_STATUS.UPDATING)
     self.assertEqual(JobModel.objects.filter(jobid=self.job_id).first().progress, JOB_PROGRESS.ERROR)
     self.assertEqual(NSLcmOpOccModel.objects.filter(id=ns_heal_service.occ_id).first().operation_state, 'FAILED')
コード例 #2
0
 def test_ns_update_asynchronous_tasks_when_updatetype_parameter_does_not_exist(self):
     request_data = {"updateType": ""}
     ns_heal_service = NSUpdateService(self.ns_inst_id, request_data, self.job_id)
     ns_heal_service.run()
     self.assertEqual(NSInstModel.objects.filter(id=self.ns_inst_id).first().status, None)
     self.assertEqual(JobModel.objects.filter(jobid=self.job_id).first().progress, JOB_PROGRESS.ERROR)
     self.assertEqual(NSLcmOpOccModel.objects.filter(id=ns_heal_service.occ_id).first().operation_state, 'FAILED')
コード例 #3
0
 def test_ns_update_asynchronous_tasks_when_ns_does_not_exist(self):
     ns_instance_id = 'test_ns_update_002'
     job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.UPDATE, ns_instance_id)
     ns_heal_service = NSUpdateService(ns_instance_id, UPDATE_NS_DICT, job_id)
     ns_heal_service.run()
     self.assertEqual(JobModel.objects.filter(jobid=job_id).first().progress, JOB_PROGRESS.ERROR)
     self.assertEqual(NSLcmOpOccModel.objects.filter(id=ns_heal_service.occ_id).first().operation_state, 'FAILED')
コード例 #4
0
 def test_ns_update_asynchronous_tasks_when_nf_update_error(self, mock_get, mock_run, mock_sleep):
     mock_sleep.return_value = None
     mock_run.return_value = None
     mock_get.return_value = JobModel(progress=JOB_PROGRESS.ERROR)
     ns_heal_service = NSUpdateService(self.ns_inst_id, UPDATE_NS_DICT, self.job_id)
     ns_heal_service.run()
     self.assertEqual(NSInstModel.objects.filter(id=self.ns_inst_id).first().status, NS_INST_STATUS.UPDATING)
     self.assertEqual(JobModel.objects.filter(jobid=self.job_id).first().progress, JOB_PROGRESS.ERROR)
     self.assertEqual(NSLcmOpOccModel.objects.filter(id=ns_heal_service.occ_id).first().operation_state, 'FAILED')
コード例 #5
0
    def post(self, request, ns_instance_id):
        job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.UPDATE,
                                    ns_instance_id)

        logger.debug("Enter UpdateNSView::post %s, %s", request.data,
                     ns_instance_id)
        req_serializer = UpdateNsReqSerializer(data=request.data)
        if not req_serializer.is_valid():
            logger.debug("request.data is not valid,error: %s" %
                         req_serializer.errors)
            raise BadRequestException(req_serializer.errors)
        ns_update_service = NSUpdateService(ns_instance_id, request.data,
                                            job_id)
        ns_update_service.start()
        response = Response(data={}, status=status.HTTP_202_ACCEPTED)
        logger.debug("Location: %s" % ns_update_service.occ_id)
        response["Location"] = NS_OCC_BASE_URI % ns_update_service.occ_id
        logger.debug("Leave UpdateNSView")
        return response
コード例 #6
0
    def post(self, request, ns_instance_id):
        logger.debug("Enter UpdateNSView::post %s, %s", request.data, ns_instance_id)
        req_serializer = UpdateNsReqSerializer(data=request.data)
        if not req_serializer.is_valid():
            raise BadRequestException(req_serializer.errors)

        job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.UPDATE, ns_instance_id)
        NSUpdateService(ns_instance_id, request.data, job_id).start()

        resp_serializer = _NsOperateJobSerializer(data={'jobId': job_id})
        if not resp_serializer.is_valid():
            raise NSLCMException(resp_serializer.errors)

        logger.debug("Leave UpdateNSView::post ret=%s", {'jobId': job_id})
        return Response(data={'jobId': job_id}, status=status.HTTP_202_ACCEPTED)