--- /dev/null
+# Copyright 2016 ZTE Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+from lcm.pub.config.config import MSB_BASE_URL
+
+JOB_INSTANCE_URI = MSB_BASE_URL + '/api/nslcm/v1/jobs/%s'
TIMEOUT='timeout'
)
JOB_TYPE = enum(
- CREATE_VNF="create vnf",
- HEAL_VNF="heal vnf",
- GRANT_VNF="grant vnf",
- MANUAL_SCALE_VNF="manual scale vnf",
- TERMINATE_VNF="terminate vnf",
- TERMINATE_NS="terminate ns",
- UPDATE_NS="update ns",
- HEAL_NS='heal ns'
+ NS="NS",
+ VNF="VNF"
+)
+JOB_ACTION = enum(
+ CREATE="CREATE",
+ INSTANTIATE="INSTANTIATE",
+ UPDATE="UPDATE",
+ HEAL="HEAL",
+ GRANT="GRANT",
+ MANUAL_SCALE="MANUAL SCALE",
+ TERMINATE="TERMINATE"
)
JOB_PROGRESS = enum(
ERROR=255,
self.response_id = response_id if response_id else 0
def do_biz(self):
- logger.debug("[getjob]job_id=%s, response_id=%s", self.job_id, self.response_id)
+ logger.debug("GetJobInfoService, job_id=%s, response_id=%s", self.job_id, self.response_id)
jobs = JobUtil.query_job_status(self.job_id, self.response_id)
if not jobs:
job_query_resp = JobQueryResp(self.job_id)
help_text="Progress of job",
required=True)
desc = serializers.CharField(
- help_text="Desc of job",
+ help_text="Description of job",
required=False)
errcode = serializers.CharField(
help_text="Error code of job",
class JobUpdRespSerializer(serializers.Serializer):
result = serializers.CharField(
- help_text="Result of job update",
+ help_text="Result of the job",
required=True)
msg = serializers.CharField(
- help_text="Detail of job update",
+ help_text="Detail of the job",
required=False)
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-from django.test import TestCase
-from rest_framework.test import APIClient
-from rest_framework import status
-from lcm.pub.database.models import JobModel, JobStatusModel
+from django.test import TestCase
from lcm.jobs.tests import UPDATE_JOB_DICT
+from lcm.pub.database.models import JobModel, JobStatusModel
+from rest_framework import status
+from rest_framework.test import APIClient
class JobsViewTest(TestCase):
def setUp(self):
self.job_id = 'test_job_id'
+ self.job_type = 'NS'
+ self.job_type = ''
self.client = APIClient()
JobModel.objects.all().delete()
JobStatusModel.objects.all().delete()
from rest_framework import status
from drf_yasg.utils import swagger_auto_schema
-from lcm.pub.enum import JOB_ERROR_CODE
+from lcm.jobs.enum import JOB_ERROR_CODE
from lcm.jobs.job_get import GetJobInfoService
from lcm.pub.utils.jobutil import JobUtil
from lcm.jobs.api_model import JobUpdReq, JobUpdResp
input_response_id = openapi.Parameter(
'responseId',
openapi.IN_QUERY,
- description="response id",
+ description="job response id",
type=openapi.TYPE_STRING)
@swagger_auto_schema(
manual_parameters=[input_job_id, input_response_id],
responses={
status.HTTP_200_OK: JobQueryRespSerializer(),
- status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error"
+ status.HTTP_500_INTERNAL_SERVER_ERROR: "HTTP_500_INTERNAL_SERVER_ERROR"
}
)
def get(self, request, job_id):
try:
+ logger.debug("Enter JobView::get, job_id: %s, request= %s ", job_id, request.data)
response_id = int(request.GET.get('responseId', 0))
ret = GetJobInfoService(job_id, response_id).do_biz()
resp_serializer = JobQueryRespSerializer(data=ret)
if not resp_serializer.is_valid():
raise NSLCMException(resp_serializer.errors)
- return Response(data=ret, status=status.HTTP_200_OK)
+ logger.debug("Leave JobView::get, response=%s", resp_serializer.data)
+ return Response(data=resp_serializer.data, status=status.HTTP_200_OK)
except Exception as e:
logger.error(traceback.format_exc())
return Response(data={'error': e.args[0]}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
)
def post(self, request, job_id):
try:
- logger.debug("Enter JobView:post, %s, %s ", job_id, request.data)
-
+ logger.debug("Enter JobView:post, job_id=%s, request=%s", job_id, request.data)
req_serializer = JobUpdReqSerializer(data=request.data)
if not req_serializer.is_valid():
raise BadRequestException(req_serializer.errors)
jobs = JobUtil.query_job_status(job_id)
if not jobs:
- raise NSLCMException("Job(%s) does not exist." % job_id)
+ raise BadRequestException("Job(%s) does not exist." % job_id)
if jobs[-1].errcode != JOB_ERROR_CODE.ERROR:
job_up_req = JobUpdReq(**request.data)
JobUtil.add_job_status(job_id, job_up_req.progress, desc, error_code=errcode)
job_update_resp = JobUpdResp('ok')
resp_serializer = JobUpdRespSerializer(job_update_resp)
+ logger.debug("Leave JobView::post, response=%s", resp_serializer.data)
return Response(data=resp_serializer.data, status=status.HTTP_202_ACCEPTED)
- except NSLCMException as e:
+ except BadRequestException as e:
job_update_resp = JobUpdResp('error', e.args[0])
resp_serializer = JobUpdRespSerializer(job_update_resp)
return Response(data=resp_serializer.data, status=status.HTTP_400_BAD_REQUEST)
from lcm.pub.database.models import JobModel, NSInstModel, NfInstModel, VNFCInstModel, VmInstModel
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_MODEL_STATUS, JOB_PROGRESS
+from lcm.jobs.enum import JOB_MODEL_STATUS, JOB_PROGRESS
from lcm.pub.utils.values import ignore_case_get
from lcm.ns_vnfs.biz.heal_vnfs import NFHealService
from lcm.ns.biz.ns_lcm_op_occ import NsLcmOpOcc
from lcm.pub.utils.syscomm import fun_name
from lcm.pub.utils.values import ignore_case_get
from lcm.pub.utils import restcall
-from lcm.pub.enum import JOB_PROGRESS, JOB_ERROR_CODE
+from lcm.jobs.enum import JOB_PROGRESS, JOB_ERROR_CODE
from lcm.pub.exceptions import NSLCMException
from lcm.workflows.graphflow.flow.flow import GraphFlow
from lcm.ns.biz.ns_lcm_op_occ import NsLcmOpOcc
from lcm.pub.database.models import JobModel, NSInstModel
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_MODEL_STATUS, JOB_PROGRESS
+from lcm.jobs.enum import JOB_MODEL_STATUS, JOB_PROGRESS
from lcm.pub.utils.values import ignore_case_get
from lcm.ns_vnfs.biz.scale_vnfs import NFManualScaleService
from lcm.ns.biz.ns_lcm_op_occ import NsLcmOpOcc
from lcm.ns.enum import OWNER_TYPE
from lcm.pub.database.models import PNFInstModel
from lcm.ns.biz.ns_lcm_op_occ import NsLcmOpOcc
-from lcm.pub.enum import JOB_PROGRESS
+from lcm.jobs.enum import JOB_PROGRESS
logger = logging.getLogger(__name__)
from lcm.ns_vnfs.biz.update_vnfs import NFOperateService
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_MODEL_STATUS, JOB_PROGRESS
+from lcm.jobs.enum import JOB_MODEL_STATUS, JOB_PROGRESS
from lcm.pub.utils.values import ignore_case_get
from lcm.ns.biz.ns_lcm_op_occ import NsLcmOpOcc
from lcm.pub.database.models import NSInstModel, NfInstModel
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
from lcm.ns_vnfs.biz.heal_vnfs import NFHealService
from lcm.ns.tests import HEAL_NS_DICT, HEAL_VNF_DICT, VNFD_MODEL_DICT
self.ns_inst_id = '1'
self.nf_inst_id = '1'
self.nf_uuid = '1-1-1'
- self.job_id = JobUtil.create_job("NS", JOB_TYPE.HEAL_VNF, self.ns_inst_id)
+ self.job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.HEAL, self.ns_inst_id)
self.client = APIClient()
NSInstModel.objects.filter().delete()
NfInstModel.objects.filter().delete()
from lcm.pub.msapi import catalog
from lcm.pub.utils import restcall
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_MODEL_STATUS, JOB_TYPE
+from lcm.jobs.enum import JOB_MODEL_STATUS, JOB_TYPE, JOB_ACTION
from lcm.ns.tests import SCALING_MAP_DICT, VNFD_MODEL_DICT, SCALE_NS_DICT
def setUp(self):
self.scaling_map_json = SCALING_MAP_DICT
self.ns_inst_id = str(uuid.uuid4())
- self.job_id = JobUtil.create_job("NS", JOB_TYPE.MANUAL_SCALE_VNF, self.ns_inst_id)
+ self.job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.MANUAL_SCALE, self.ns_inst_id)
self.client = APIClient()
self.package_id = "7"
NSInstModel(
def insert_new_ns(self):
ns_inst_id = str(uuid.uuid4())
- job_id = JobUtil.create_job(
- "NS", JOB_TYPE.MANUAL_SCALE_VNF, self.ns_inst_id)
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.MANUAL_SCALE, self.ns_inst_id)
package_id = "23"
NSInstModel(
id=ns_inst_id,
scale_ns_json = SCALE_NS_DICT.copy()
scale_ns_json["scaleNsData"][0]["scaleNsByStepsData"][0]["aspectId"] = "sss_zte"
ns_inst_id, job_id = self.insert_new_ns()
- job_id = JobUtil.create_job("NS", JOB_TYPE.MANUAL_SCALE_VNF, ns_inst_id)
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.MANUAL_SCALE, ns_inst_id)
NSManualScaleService(ns_inst_id, scale_ns_json, job_id).run()
jobs = JobModel.objects.filter(jobid=job_id)
self.assertEqual(255, jobs[0].progress)
mock_get_scalingmap_json_package.return_value = self.scaling_map_json
mock_do_vnfs_scale.return_value = JOB_MODEL_STATUS.FINISHED
ns_inst_id, job_id = self.insert_new_ns()
- job_id = JobUtil.create_job("NS", JOB_TYPE.MANUAL_SCALE_VNF, ns_inst_id)
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.MANUAL_SCALE, ns_inst_id)
self.insert_new_nf()
NSManualScaleService(ns_inst_id, scale_ns_json, job_id).run()
jobs = JobModel.objects.filter(jobid=job_id)
from lcm.pub.database.models import NSInstModel, NfInstModel
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
from lcm.ns.tests import VNFD_MODEL_DICT, HEAL_NS_DICT, HEAL_VNF_DICT
self.ns_inst_id = str(uuid.uuid4())
self.nf_inst_id = '1'
self.nf_uuid = '1-1-1'
- self.job_id = JobUtil.create_job("NS", JOB_TYPE.HEAL_VNF, self.ns_inst_id)
+ self.job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.HEAL, self.ns_inst_id)
self.client = Client()
model = json.dumps(VNFD_MODEL_DICT)
NSInstModel.objects.filter().delete()
from lcm.pub.database.models import NSInstModel, JobModel, NfInstModel
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
from lcm.ns.tests import VNFD_MODEL_DICT, SCALE_NS_DICT
def setUp(self):
self.url = "/api/nslcm/v1/ns_instances/%s/scale"
self.ns_inst_id = str(uuid.uuid4())
- self.job_id = JobUtil.create_job("NS", JOB_TYPE.MANUAL_SCALE_VNF, self.ns_inst_id)
+ self.job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.MANUAL_SCALE, self.ns_inst_id)
self.package_id = "7"
self.client = APIClient()
NSInstModel(
def insert_new_ns(self):
ns_inst_id = str(uuid.uuid4())
- job_id = JobUtil.create_job("NS", JOB_TYPE.MANUAL_SCALE_VNF, self.ns_inst_id)
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.MANUAL_SCALE, self.ns_inst_id)
package_id = "23"
NSInstModel(
id=ns_inst_id,
from lcm.ns.biz.ns_terminate import TerminateNsService
from lcm.pub.database.models import NfInstModel, NSInstModel
from lcm.pub.utils import restcall
-from lcm.pub.enum import JOB_MODEL_STATUS, JOB_TYPE
+from lcm.jobs.enum import JOB_MODEL_STATUS, JOB_TYPE, JOB_ACTION
from lcm.pub.utils.jobutil import JobUtil
NfInstModel.objects.all().delete()
@mock.patch.object(TerminateNsService, 'run')
- def test_terminate_vnf_url(self, mock_run):
+ def test_terminate_ns_api(self, mock_run):
mock_run.re.return_value = "1"
req_data = {
"terminationType": "forceful",
self.assertEqual(status.HTTP_204_NO_CONTENT, response.status_code)
@mock.patch.object(restcall, 'call_req')
- def test_terminate_vnf(self, mock_call_req):
- job_id = JobUtil.create_job("VNF", JOB_TYPE.TERMINATE_VNF, self.nf_inst_id)
+ def test_terminate_ns_service(self, mock_call_req):
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.TERMINATE, self.ns_inst_id)
mock_vals = {
"/api/nslcm/v1/ns/ns_vls/1":
req_data = {
"terminationType": "FORCEFUL",
"gracefulTerminationTimeout": "600"}
- TerminateNsService(self.nf_inst_id, job_id, req_data).run()
+ TerminateNsService(self.ns_inst_id, job_id, req_data).run()
nsinst = NSInstModel.objects.get(id=self.ns_inst_id)
if nsinst:
self.assertTrue(1, 0)
from lcm.ns.serializers.deprecated.ns_serializers import _NsOperateJobSerializer
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
logger = logging.getLogger(__name__)
if not req_serializer.is_valid():
raise NSLCMException(req_serializer.errors)
- job_id = JobUtil.create_job("VNF", JOB_TYPE.HEAL_VNF, ns_instance_id)
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.HEAL, ns_instance_id)
NSHealService(ns_instance_id, request.data, job_id).start()
resp_serializer = _NsOperateJobSerializer(data={'jobId': job_id})
from lcm.ns.serializers.deprecated.ns_serializers import _ManualScaleNsReqSerializer
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
logger = logging.getLogger(__name__)
)
def post(self, request, ns_instance_id):
logger.debug("Enter NSManualScaleView::post %s, %s", request.data, ns_instance_id)
- job_id = JobUtil.create_job("NS", JOB_TYPE.MANUAL_SCALE_VNF, ns_instance_id)
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.MANUAL_SCALE, ns_instance_id)
try:
req_serializer = _ManualScaleNsReqSerializer(data=request.data)
if not req_serializer.is_valid():
from lcm.pub.exceptions import NSLCMException
from lcm.pub.exceptions import BadRequestException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
from lcm.ns.serializers.deprecated.ns_serializers import _TerminateNsReqSerializer
from lcm.ns.serializers.deprecated.ns_serializers import _NsOperateJobSerializer
if not req_serializer.is_valid():
raise BadRequestException(req_serializer.errors)
- job_id = JobUtil.create_job("NS", JOB_TYPE.TERMINATE_NS, ns_instance_id)
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.TERMINATE, ns_instance_id)
TerminateNsService(ns_instance_id, job_id, request.data).start()
resp_serializer = _NsOperateJobSerializer(data={'jobId': job_id})
logger.debug("Leave TerminateNSView::post ret=%s", resp_serializer.data)
return Response(data=resp_serializer.data, status=status.HTTP_202_ACCEPTED)
except BadRequestException as e:
- return Response(data={'error': e.message}, status=status.HTTP_400_BAD_REQUEST)
+ return Response(data={'error': e.args[0]}, status=status.HTTP_400_BAD_REQUEST)
except Exception as e:
- logger.error("Exception in CreateNS: %s", e.message)
- return Response(data={'error': e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+ logger.error("Exception in CreateNS: %s", e.args[0])
+ return Response(data={'error': e.args[0]}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
from lcm.pub.exceptions import NSLCMException
from lcm.pub.exceptions import BadRequestException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
logger = logging.getLogger(__name__)
if not req_serializer.is_valid():
raise BadRequestException(req_serializer.errors)
- job_id = JobUtil.create_job("NS", JOB_TYPE.UPDATE_NS, ns_instance_id)
+ 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})
logger.debug("Leave UpdateNSView::post ret=%s", resp_serializer.data)
return Response(data=resp_serializer.data, status=status.HTTP_202_ACCEPTED)
except BadRequestException as e:
- return Response(data={'error': e.message}, status=status.HTTP_400_BAD_REQUEST)
+ return Response(data={'error': e.args[0]}, status=status.HTTP_400_BAD_REQUEST)
except Exception as e:
- logger.error("Exception in UpdateNSView: %s", e.message)
- return Response(data={'error': e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+ logger.error("Exception in UpdateNSView: %s", e.args[0])
+ return Response(data={'error': e.args[0]}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
from drf_yasg.utils import swagger_auto_schema
from lcm.ns.biz.ns_heal import NSHealService
from lcm.ns.const import NS_OCC_BASE_URI
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
from lcm.pub.exceptions import BadRequestException
from lcm.ns.serializers.sol.heal_serializers import HealNsReqSerializer
from lcm.ns.serializers.sol.pub_serializers import ProblemDetailsSerializer
logger.error("request.data is not valid,error: %s" % req_serializer.errors)
raise BadRequestException(req_serializer.errors)
- job_id = JobUtil.create_job("NS", JOB_TYPE.HEAL_NS, ns_instance_id)
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.HEAL, ns_instance_id)
ns_heal_service = NSHealService(ns_instance_id, request.data, job_id)
ns_heal_service.start()
response = Response(data={}, status=status.HTTP_202_ACCEPTED)
from lcm.ns.biz.ns_manual_scale import NSManualScaleService
from lcm.ns.serializers.sol.scale_ns_serializers import ScaleNsRequestSerializer
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
from lcm.ns.const import NS_OCC_BASE_URI
from lcm.pub.exceptions import BadRequestException
from lcm.ns.serializers.sol.pub_serializers import ProblemDetailsSerializer
if not req_serializer.is_valid():
raise BadRequestException(req_serializer.errors)
- job_id = JobUtil.create_job("NS", JOB_TYPE.MANUAL_SCALE_VNF, ns_instance_id)
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.MANUAL_SCALE, ns_instance_id)
nsManualScaleService = NSManualScaleService(ns_instance_id, request.data, job_id)
nsManualScaleService.start()
from lcm.ns.biz.ns_terminate import TerminateNsService
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
from lcm.pub.utils.values import ignore_case_get
from lcm.ns.serializers.sol.terminate_ns_serializers import TerminateNsReqSerializer
from lcm.pub.exceptions import BadRequestException
)
@view_safe_call_with_log(logger=logger)
def post(self, request, ns_instance_id):
- job_id = JobUtil.create_job("NS", JOB_TYPE.TERMINATE_NS, ns_instance_id)
+ job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.TERMINATE, ns_instance_id)
logger.debug("Enter TerminateNSView::post %s", request.data)
req_serializer = TerminateNsReqSerializer(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)
- terminationTime = ignore_case_get(request.data, 'terminationTime')
- logger.debug("terminationTime is %s" % terminationTime)
+ termination_time = ignore_case_get(request.data, 'terminationTime')
+ logger.debug("terminationTime is %s" % termination_time)
# todo terminationTime
- terminateNsService = TerminateNsService(ns_instance_id, job_id, request.data)
- terminateNsService.start()
- logger.debug("Location: %s" % terminateNsService.occ_id)
+ terminate_ns_service = TerminateNsService(ns_instance_id, job_id, request.data)
+ terminate_ns_service.start()
+ logger.debug("Location: %s" % terminate_ns_service.occ_id)
response = Response(data={}, status=status.HTTP_202_ACCEPTED)
- response["Location"] = NS_OCC_BASE_URI % terminateNsService.occ_id
+ response["Location"] = NS_OCC_BASE_URI % terminate_ns_service.occ_id
logger.debug("Leave TerminateNSView")
return response
from lcm.ns.serializers.sol.update_serializers import UpdateNsReqSerializer
from lcm.pub.exceptions import BadRequestException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
from lcm.ns.const import NS_OCC_BASE_URI
from lcm.ns.serializers.sol.pub_serializers import ProblemDetailsSerializer
from .common import view_safe_call_with_log
)
@view_safe_call_with_log(logger=logger)
def post(self, request, ns_instance_id):
- job_id = JobUtil.create_job("NS", JOB_TYPE.UPDATE_NS, 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)
- nsUpdateService = NSUpdateService(ns_instance_id, request.data, job_id)
- nsUpdateService.start()
+ 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" % nsUpdateService.occ_id)
- response["Location"] = NS_OCC_BASE_URI % nsUpdateService.occ_id
+ 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
from lcm.ns_vnfs.const import NFVO_VNF_INST_TIMEOUT_SECOND
from lcm.ns_vnfs.biz.subscribe import SubscriptionCreation
from lcm.ns_vnfs.biz.wait_job import wait_job_finish
-from lcm.ns_vnfs.enum import VNF_STATUS, INST_TYPE, INST_TYPE_NAME
+from lcm.ns_vnfs.enum import VNF_STATUS, INST_TYPE
from lcm.pub.config.config import REPORT_TO_AAI
from lcm.pub.config.config import REG_TO_MSB_REG_PARAM, OOF_BASE_URL, OOF_PASSWD, OOF_USER
from lcm.pub.config.config import CUST_NAME, CUST_LAT, CUST_LONG
from lcm.pub.database.models import NfInstModel, NSInstModel, VmInstModel, VNFFGInstModel, VLInstModel, OOFDataModel
-from lcm.pub.enum import JOB_MODEL_STATUS, JOB_TYPE, JOB_PROGRESS, JOB_ERROR_CODE
+from lcm.jobs.enum import JOB_MODEL_STATUS, JOB_ACTION, JOB_PROGRESS, JOB_ERROR_CODE, JOB_TYPE
from lcm.pub.exceptions import NSLCMException
from lcm.pub.msapi.aai import create_vnf_aai
from lcm.pub.msapi.extsys import get_vnfm_by_id
create_time=now_time(),
lastuptime=now_time()
).save()
- job_id = JobUtil.create_job(INST_TYPE_NAME.VNF, JOB_TYPE.CREATE_VNF, nf_inst_id)
+ job_id = JobUtil.create_job(JOB_TYPE.VNF, JOB_ACTION.CREATE, nf_inst_id)
JobUtil.add_job_status(job_id, JOB_PROGRESS.STARTED, 'create vnf record in database.', JOB_ERROR_CODE.NO_ERROR)
return nf_inst_id, job_id
from lcm.pub.msapi.vnfmdriver import send_nf_heal_request
from lcm.pub.utils import restcall
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_MODEL_STATUS, JOB_TYPE, JOB_PROGRESS
+from lcm.jobs.enum import JOB_MODEL_STATUS, JOB_TYPE, JOB_PROGRESS, JOB_ACTION
from lcm.pub.utils.values import ignore_case_get
from lcm.ns_vnfs.enum import VNF_STATUS
from lcm.ns_vnfs.biz.wait_job import wait_job_finish
super(NFHealService, self).__init__()
self.vnf_instance_id = vnf_instance_id
self.data = data
- self.job_id = JobUtil.create_job("NF", JOB_TYPE.HEAL_VNF, vnf_instance_id)
+ self.job_id = JobUtil.create_job(JOB_TYPE.VNF, JOB_ACTION.HEAL, vnf_instance_id)
self.nf_model = {}
self.nf_additional_params = {}
self.nf_heal_params = {}
from lcm.pub.exceptions import NSLCMException
from lcm.pub.msapi.vnfmdriver import send_nf_scaling_request
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_MODEL_STATUS, JOB_TYPE, JOB_PROGRESS
+from lcm.jobs.enum import JOB_MODEL_STATUS, JOB_TYPE, JOB_PROGRESS, JOB_ACTION
from lcm.pub.utils.values import ignore_case_get
from lcm.ns_vnfs.enum import VNF_STATUS
from lcm.ns_vnfs.biz.wait_job import wait_job_finish
super(NFManualScaleService, self).__init__()
self.vnf_instance_id = vnf_instance_id
self.data = data
- self.job_id = JobUtil.create_job(
- "NF", JOB_TYPE.MANUAL_SCALE_VNF, vnf_instance_id)
+ self.job_id = JobUtil.create_job(JOB_TYPE.VNF, JOB_ACTION.MANUAL_SCALE, vnf_instance_id)
self.nf_scale_params = []
self.m_nf_inst_id = ''
self.vnfm_inst_id = ''
from lcm.pub.msapi.extsys import split_vim_to_owner_region, get_vim_by_id
from lcm.pub.msapi.vnfmdriver import send_nf_terminate_request
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_MODEL_STATUS
+from lcm.jobs.enum import JOB_MODEL_STATUS
from lcm.pub.utils.values import ignore_case_get
from lcm.ns_vnfs.const import NFVO_VNF_INST_TIMEOUT_SECOND
from lcm.ns_vnfs.enum import VNF_STATUS, INST_TYPE
from lcm.pub.exceptions import NSLCMException
from lcm.pub.msapi.vnfmdriver import send_nf_operate_request
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_MODEL_STATUS, JOB_TYPE, JOB_PROGRESS
+from lcm.jobs.enum import JOB_MODEL_STATUS, JOB_TYPE, JOB_PROGRESS, JOB_ACTION
from lcm.pub.utils.values import ignore_case_get
from lcm.ns_vnfs.enum import VNF_STATUS
from lcm.ns_vnfs.biz.wait_job import wait_job_finish
super(NFOperateService, self).__init__()
self.vnf_instance_id = vnf_instance_id
self.data = data
- self.job_id = JobUtil.create_job("NF", JOB_TYPE.HEAL_VNF, vnf_instance_id)
+ self.job_id = JobUtil.create_job(JOB_TYPE.VNF, JOB_ACTION.HEAL, vnf_instance_id)
self.nf_model = {}
self.nf_additional_params = {}
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE, JOB_PROGRESS
+from lcm.jobs.enum import JOB_TYPE, JOB_PROGRESS, JOB_ACTION
from lcm.pub.utils.values import ignore_case_get
from lcm.pub.utils.restcall import req_by_msb
def run(self):
try:
self.verify_config = self.load_config()
- JobUtil.create_job("VNF", JOB_TYPE.CREATE_VNF, self.job_id, 'vnfsdk', self.job_id)
+ JobUtil.create_job(JOB_TYPE.VNF, JOB_ACTION.CREATE, self.job_id, 'vnfsdk', self.job_id)
self.do_on_boarding()
self.do_inst_vnf()
self.do_func_test()
import math
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_MODEL_STATUS
+from lcm.jobs.enum import JOB_MODEL_STATUS
from lcm.pub.msapi.vnfmdriver import query_vnfm_job
from lcm.pub.utils.values import ignore_case_get
from lcm.pub.database.models import NfInstModel, JobModel, NSInstModel, VmInstModel, OOFDataModel, SubscriptionModel
from lcm.pub.exceptions import NSLCMException
from lcm.pub.utils import restcall
-from lcm.pub.enum import JOB_MODEL_STATUS, JOB_TYPE
+from lcm.jobs.enum import JOB_MODEL_STATUS, JOB_TYPE, JOB_ACTION
from lcm.pub.utils.jobutil import JobUtil
from lcm.pub.utils.timeutil import now_time
from lcm.pub.utils.values import ignore_case_get
@mock.patch.object(restcall, 'call_req')
@mock.patch.object(SubscriptionDeletion, 'send_subscription_deletion_request')
def test_terminate_vnf(self, mock_send_subscription_deletion_request, mock_call_req):
- job_id = JobUtil.create_job("VNF", JOB_TYPE.TERMINATE_VNF, self.nf_inst_id)
+ job_id = JobUtil.create_job(JOB_TYPE.VNF, JOB_ACTION.TERMINATE, self.nf_inst_id)
nfinst = NfInstModel.objects.filter(nfinstid=self.nf_inst_id)
if nfinst:
self.nf_inst_id = str(uuid.uuid4())
self.nf_uuid = '111'
- self.job_id = JobUtil.create_job("VNF", JOB_TYPE.HEAL_VNF, self.nf_inst_id)
+ self.job_id = JobUtil.create_job(JOB_TYPE.VNF, JOB_ACTION.HEAL, self.nf_inst_id)
NSInstModel(id=self.ns_inst_id, name="ns_name").save()
NfInstModel.objects.create(nfinstid=self.nf_inst_id,
from lcm.pub.exceptions import NSLCMException
from lcm.pub.msapi.extsys import get_vnfm_by_id, get_vim_by_id_vim_info
from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_TYPE
+from lcm.jobs.enum import JOB_TYPE, JOB_ACTION
from lcm.pub.utils.values import ignore_case_get
from lcm.ns_vnfs.biz.create_vnfs import CreateVnfs
from lcm.ns_vnfs.biz.get_vnfs import GetVnf, GetVnfVms
vnf_inst_id = vnfinstid
terminationType = ignore_case_get(request.data, 'terminationType')
gracefulTerminationTimeout = ignore_case_get(request.data, 'gracefulTerminationTimeout')
- job_id = JobUtil.create_job("VNF", JOB_TYPE.TERMINATE_VNF, vnf_inst_id)
+ job_id = JobUtil.create_job(JOB_TYPE.VNF, JOB_ACTION.TERMINATE, vnf_inst_id)
data = {'terminationType': terminationType, 'gracefulTerminationTimeout': gracefulTerminationTimeout}
logger.debug("data=%s", data)
try:
TerminateVnfs(data, vnf_inst_id, job_id).start()
except Exception as e:
- logger.error(e.message)
- return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
+ logger.error(e.args[0])
+ return Response(data={'error': '%s' % e.args[0]}, status=status.HTTP_409_CONFLICT)
rsp = {'jobId': job_id}
resp_serializer = TerminateVnfRespSerializer(data=rsp)
raise Exception(req_serializer.errors)
vnf_inst_id = ignore_case_get(request.data, 'vnfInstanceId')
- job_id = JobUtil.create_job("VNF", JOB_TYPE.GRANT_VNF, vnf_inst_id)
+ job_id = JobUtil.create_job(JOB_TYPE.VNF, JOB_ACTION.GRANT, vnf_inst_id)
rsp = GrantVnfs(request.data, job_id).send_grant_vnf_to_resMgr()
"""
rsp = {
return Response(data=rsp, status=status.HTTP_201_CREATED)
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
- return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
+ return Response(data={'error': '%s' % e.args[0]}, status=status.HTTP_409_CONFLICT)
class NfPlacement(APIView):
PlaceVnfs(request.data).extract()
return Response(data={}, status=status.HTTP_200_OK)
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
- return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
+ return Response(data={'error': '%s' % e.args[0]}, status=status.HTTP_409_CONFLICT)
class LcmNotify(APIView):
NotifyLcm(vnfmid, vnfInstanceId, request.data).do_biz()
return Response(data={}, status=status.HTTP_201_CREATED)
except Exception as e:
- logger.error(e.message)
- return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
+ logger.error(e.ars[0])
+ return Response(data={'error': '%s' % e.args[0]}, status=status.HTTP_409_CONFLICT)
class NfScaleView(APIView):
NFManualScaleService(vnfinstid, request.data).start()
return Response(data={}, status=status.HTTP_202_ACCEPTED)
except Exception as e:
- logger.error(e.message)
- return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
+ logger.error(e.args[0])
+ return Response(data={'error': '%s' % e.args[0]}, status=status.HTTP_409_CONFLICT)
class NfVerifyView(APIView):
return Response(data=rsp, status=status.HTTP_202_ACCEPTED)
except Exception as e:
- logger.error(e.message)
- return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
+ logger.error(e.args[0])
+ return Response(data={'error': '%s' % e.args[0]}, status=status.HTTP_409_CONFLICT)
class NfVnfmInfoView(APIView):
raise Exception(resp_serializer.errors)
except NSLCMException as e:
- logger.error(e.message)
- return Response(data={'error': '%s' % e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+ logger.error(e.args[0])
+ return Response(data={'error': '%s' % e.args[0]}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
return Response(data={'error': 'Failed to get vnfm info.'},
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
raise Exception(resp_serializer.errors)
except NSLCMException as e:
- logger.error(e.message)
- return Response(data={'error': '%s' % e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+ logger.error(e.args[0])
+ return Response(data={'error': '%s' % e.args[0]}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
return Response(data={'error': 'Failed to get vim info.'},
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
import uuid
from lcm.pub.database.models import JobStatusModel, JobModel
-from lcm.pub.enum import JOB_PROGRESS
-from lcm.pub.enum import JOB_STATUS
+from lcm.jobs.enum import JOB_PROGRESS
+from lcm.jobs.enum import JOB_STATUS
from lcm.pub.utils import idutil
logger = logging.getLogger(__name__)
return len(jobs) > 0
@staticmethod
- def create_job(inst_type, jobaction, inst_id, user='', job_id=None, res_name=''):
+ def create_job(job_type, job_action, inst_id, user='', job_id=None, res_name=''):
if job_id is None:
job_id = JobUtil.__gen_job_id(
- '%s-%s-%s' % (str(inst_type).replace(' ', '_'), str(jobaction).replace(' ', '_'), str(inst_id)))
+ '%s-%s-%s' % (str(job_type).replace(' ', '_'), str(job_action).replace(' ', '_'), str(inst_id)))
job = JobModel()
job.jobid = job_id
- job.jobtype = inst_type
- job.jobaction = jobaction
+ job.jobtype = job_type
+ job.jobaction = job_action
job.resid = str(inst_id)
job.status = JOB_STATUS.PROCESSING
job.user = user
job_id = "5"
JobModel.objects.filter().delete()
JobUtil.create_job(
- inst_type="1",
- jobaction="2",
+ job_type="1",
+ job_action="2",
inst_id="3",
user="4",
job_id=5,