update the errorCode in job information
[modeling/etsicatalog.git] / catalog / pub / utils / jobutil.py
index 3d79c7a..c2e1c15 100644 (file)
 # limitations under the License.
 import datetime
 import logging
-import uuid
 import traceback
+import uuid
 from functools import reduce
 
 from catalog.pub.database.models import JobStatusModel, JobModel
-from catalog.pub.utils import idutil
 
 logger = logging.getLogger(__name__)
 
@@ -30,8 +29,10 @@ def enum(**enums):
 JOB_STATUS = enum(PROCESSING=0, FINISH=1)
 JOB_MODEL_STATUS = enum(STARTED='started', PROCESSING='processing', FINISHED='finished', ERROR='error',
                         TIMEOUT='timeout')
-JOB_TYPE = enum(CREATE_VNF="create vnf", TERMINATE_VNF="terminate vnf", GRANT_VNF="grant vnf", MANUAL_SCALE_VNF="manual scale vnf",
+JOB_TYPE = enum(CREATE_VNF="create vnf", TERMINATE_VNF="terminate vnf", GRANT_VNF="grant vnf",
+                MANUAL_SCALE_VNF="manual scale vnf",
                 HEAL_VNF="heal vnf")
+JOB_ERROR_CODE = enum(NORMAL=0, PACKAGE_EXIST=1, CATALOG_EXCEPTION=2, SYSTEM_ERROR=3)
 
 
 class JobUtil(object):
@@ -96,7 +97,12 @@ class JobUtil(object):
         try:
             int_progress = int(progress)
             job_status = JobStatusModel()
-            job_status.indexid = int(idutil.get_auto_id(job_id))
+            jobstatuslist = JobStatusModel.objects.filter(jobid=job_id)
+            indexid = 0
+            for jobstatus in jobstatuslist:
+                if jobstatus.indexid > indexid:
+                    indexid = jobstatus.indexid
+            job_status.indexid = indexid + 1
             job_status.jobid = job_id
             job_status.status = "processing"
             job_status.progress = int_progress