import traceback
import uuid
+
from rest_framework import status
from rest_framework.response import Response
from lcm.pub.config.config import REPORT_TO_AAI
from lcm.pub.database.models import (CPInstModel, NfInstModel, PortInstModel,
VLInstModel, VmInstModel, VNFCInstModel)
-from lcm.pub.exceptions import NSLCMException
+from lcm.pub.exceptions import NSLCMException, RequestException
from lcm.pub.msapi.aai import (create_network_aai, create_vserver_aai,
delete_network_aai, delete_vserver_aai,
query_network_aai, query_vserver_aai)
try:
# query network in aai, get resource_version
customer_info = query_network_aai(vlInstanceId)
- resource_version = customer_info["resource-version"]
-
- # delete network from aai
- resp_data, resp_status = delete_network_aai(vlInstanceId, resource_version)
- logger.debug("Success to delete network[%s] from aai, resp_status: [%s]."
- % (vlInstanceId, resp_status))
+ if customer_info:
+ resource_version = customer_info["resource-version"]
+
+ # delete network from aai
+ resp_data, resp_status = delete_network_aai(vlInstanceId, resource_version)
+ logger.debug("Success to delete network[%s] from aai, resp_status: [%s]."
+ % (vlInstanceId, resp_status))
+ except RequestException:
+ logger.debug("Network has been delted in aai")
except NSLCMException as e:
logger.debug("Fail to delete network[%s] to aai, detail message: %s" % (vlInstanceId, e.args[0]))
except:
# query vserver instance in aai, get resource_version
vserver_info = query_vserver_aai(cloud_owner, cloud_region_id, tenant_id, vserver_id)
- resource_version = vserver_info["resource-version"]
-
- # delete vserver instance from aai
- resp_data, resp_status = delete_vserver_aai(cloud_owner, cloud_region_id,
- tenant_id, vserver_id, resource_version)
- logger.debug(
- "Success to delete vserver instance[%s] from aai, resp_status: [%s]." %
- (vserver_id, resp_status))
- logger.debug("delete_vserver_in_aai end!")
+ if vserver_info:
+ resource_version = vserver_info["resource-version"]
+
+ # delete vserver instance from aai
+ resp_data, resp_status = delete_vserver_aai(cloud_owner, cloud_region_id,
+ tenant_id, vserver_id, resource_version)
+ logger.debug(
+ "Success to delete vserver instance[%s] from aai, resp_status: [%s]." %
+ (vserver_id, resp_status))
+ logger.debug("delete_vserver_in_aai end!")
+ except RequestException:
+ logger.debug("Vserver has been deleted from aai")
except NSLCMException as e:
logger.debug("Fail to delete vserver from aai, detail message: %s" % e.args[0])
except:
import uuid
from lcm.pub.config.config import AAI_BASE_URL, AAI_USER, AAI_PASSWD
-from lcm.pub.exceptions import NSLCMException
+from lcm.pub.exceptions import NSLCMException, RequestException
from lcm.pub.utils import restcall
if ret[0] != 0:
logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
raise NSLCMException("Vserver delete exception in AAI")
+ if ret[2] == 404:
+ logger.error("Vserver has been deleted in aai")
+ raise RequestException("Vserver delete exception in AAI")
return json.JSONDecoder().decode(ret[1]) if ret[1] else ret[1], ret[2]
if ret[0] != 0:
logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
raise NSLCMException("Network delete exception in AAI")
+ if ret[2] == 404:
+ logger.error("Network has been deleted in aai")
+ raise RequestException("Network delete exception in AAI")
return json.JSONDecoder().decode(ret[1]) if ret[1] else ret[1], ret[2]