Move aai.py to msapi in gvnfm vnflcm
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / vnfs / vnf_cancel / delete_vnf_identifier.py
index c2afe07..b3dee2f 100644 (file)
 # 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 logging
 
 from lcm.pub.database.models import NfInstModel, NfvoRegInfoModel
 from lcm.pub.exceptions import NFLCMException
+from lcm.pub.msapi.aai import delete_vnf
 
 logger = logging.getLogger(__name__)
 
@@ -25,12 +27,19 @@ class DeleteVnf:
         self.nf_inst_id = instanceid
 
     def do_biz(self):
-        vnf_insts = NfInstModel.objects.filter(nfinstid=self.nf_inst_id)
-        if not vnf_insts.exists():
-            logger.warn('VnfInst(%s) does not exist' % self.nf_inst_id)
-            return
-        #sel_vnf = vnf_insts[0]
-        #if sel_vnf.status != 'NOT_INSTANTIATED':
-        #    raise NFLCMException("Don't allow to delete vnf(status:[%s])" % sel_vnf.status)
-        NfInstModel.objects.filter(nfinstid=self.nf_inst_id).delete()
-        NfvoRegInfoModel.objects.filter(nfvoid=self.nf_inst_id).delete()
+        try:
+            vnf_insts = NfInstModel.objects.filter(nfinstid=self.nf_inst_id)
+            if not vnf_insts.exists():
+                logger.warn('VnfInst(%s) does not exist' % self.nf_inst_id)
+                return
+            #sel_vnf = vnf_insts[0]
+            #if sel_vnf.status != 'NOT_INSTANTIATED':
+            #    raise NFLCMException("Don't allow to delete vnf(status:[%s])" % sel_vnf.status)
+            NfInstModel.objects.filter(nfinstid=self.nf_inst_id).delete()
+            NfvoRegInfoModel.objects.filter(nfvoid=self.nf_inst_id).delete()
+
+            delete_vnf(self.nf_inst_id)
+        except NFLCMException as e:
+            logger.debug('Delete VNF instance[%s] from AAI failed' % self.nf_inst_id)
+        except:
+            logger.debug('Delete VNF instance[%s] failed' % self.nf_inst_id)