# 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.
-import math
-import traceback
-import logging
+
import json
+import logging
+import math
import threading
import time
+import traceback
+
from lcm.ns.vnfs.wait_job import wait_job_finish
from lcm.pub.database.models import NSInstModel, VLInstModel, FPInstModel, NfInstModel
-from lcm.pub.database.models import DefPkgMappingModel, InputParamMappingModel, ServiceBaseInfoModel
-from lcm.pub.msapi.aai import get_customer_aai, delete_customer_aai
-from lcm.pub.utils.jobutil import JOB_MODEL_STATUS, JobUtil
from lcm.pub.exceptions import NSLCMException
from lcm.pub.msapi.nslcm import call_from_ns_cancel_resource
+from lcm.pub.utils.jobutil import JOB_MODEL_STATUS, JobUtil
from lcm.pub.utils.values import ignore_case_get
JOB_ERROR = 255
NSInstModel.objects.filter(id=self.ns_inst_id).update(status='null')
JobUtil.add_job_status(self.job_id, 100, "ns terminate ends.", '')
- # @staticmethod
- # def call_vnfm_to_cancel_resource(res_type, instid):
- # ret = call_from_ns_cancel_resource(res_type, instid)
- # return ret
+ @staticmethod
+ def call_vnfm_to_cancel_resource(res_type, instid):
+ ret = call_from_ns_cancel_resource(res_type, instid)
+ return ret
def add_progress(self, progress, status_decs, error_code=""):
JobUtil.add_job_status(self.job_id, progress, status_decs, error_code)
floor_progress = int(math.floor(float(target_range[1] - target_range[0]) / 100 * progress))
target_range = floor_progress + target_range[0]
return target_range
-
-
-class DeleteNsService(object):
- def __init__(self, ns_inst_id):
- self.ns_inst_id = ns_inst_id
-
- def do_biz(self):
- try:
- self.delete_ns()
- self.delete_ns_in_aai()
- except:
- logger.error(traceback.format_exc())
-
- def delete_ns(self):
- logger.debug("delele NSInstModel(%s)", self.ns_inst_id)
- NSInstModel.objects.filter(id=self.ns_inst_id).delete()
-
- logger.debug("delele InputParamMappingModel(%s)", self.ns_inst_id)
- InputParamMappingModel.objects.filter(service_id=self.ns_inst_id).delete()
-
- logger.debug("delele DefPkgMappingModel(%s)", self.ns_inst_id)
- DefPkgMappingModel.objects.filter(service_id=self.ns_inst_id).delete()
-
- logger.debug("delele ServiceBaseInfoModel(%s)", self.ns_inst_id)
- ServiceBaseInfoModel.objects.filter(service_id=self.ns_inst_id).delete()
-
- def delete_ns_in_aai(self):
- logger.debug("DeleteNsService::delete_ns_in_aai::delete ns instance[%s] in aai." % self.ns_inst_id)
- global_customer_id = "global-customer-id-" + self.ns_inst_id
-
- # query ns instance in aai, get resource_version
- customer_info = get_customer_aai(global_customer_id)
- resource_version = customer_info["resource-version"]
-
- # delete ns instance from aai
- resp_data, resp_status = delete_customer_aai(global_customer_id, resource_version)
- if resp_data:
- logger.debug("Fail to delete ns instance[%s] from aai, resp_status: [%s]." % (self.ns_inst_id, resp_status))
- else:
- logger.debug(
- "Success to delete ns instance[%s] from aai, resp_status: [%s]." % (self.ns_inst_id, resp_status))