Fix nfdeployment uninstall issue
[pti/o2.git] / o2dms / api / dms_lcm_nfdeployment.py
index 97eb12a..ef6cb8c 100644 (file)
@@ -56,7 +56,7 @@ def lcm_nfdeployment_create(
             id, input['name'], deploymentManagerId, input['description'],\r
             input['descriptorId'], input['parentDeploymentId'])\r
         uow.nfdeployments.add(entity)\r
-        entity.transit_state(NfDeploymentState.NotInstalled)\r
+        entity.transit_state(NfDeploymentState.NotInstalled)\r
 \r
         # to be refactor later according to O2 DMS API design\r
         entity.transit_state(NfDeploymentState.Installing)\r
@@ -98,8 +98,20 @@ def lcm_nfdeployment_uninstall(
     uow = bus.uow\r
     with uow:\r
         entity: NfDeployment = uow.nfdeployments.get(nfdeploymentid)\r
-        if entity.status == NfDeploymentState.Installed:\r
+        if not entity:\r
+            pass\r
+        elif entity.status == NfDeploymentState.Initial:\r
+            bus.uow.nfdeployments.delete(nfdeploymentid)\r
+        # elif entity.status == NfDeploymentState.NotInstalled:\r
+        #     bus.uow.nfdeployments.delete(nfdeploymentid)\r
+        elif entity.status == NfDeploymentState.Installing:\r
+            entity.transit_state(NfDeploymentState.Uninstalling)\r
+        elif entity.status == NfDeploymentState.Installed:\r
+            entity.transit_state(NfDeploymentState.Uninstalling)\r
+        elif entity.status == NfDeploymentState.Updating:\r
             entity.transit_state(NfDeploymentState.Uninstalling)\r
+        elif entity.status == NfDeploymentState.Uninstalling:\r
+            pass\r
         elif entity.status == NfDeploymentState.Abnormal:\r
             bus.uow.nfdeployments.delete(nfdeploymentid)\r
         else:\r
@@ -121,7 +133,7 @@ def lcm_nfdeployment_uninstall(
 #                 "NfDeployment {} is not in status to delete".format(\r
 #                     nfdeploymentid))\r
 #         uow.nfdeployments.delete(nfdeploymentid)\r
-#         entity.transit_state(NfDeploymentState.Deleted)\r
+#         entity.transit_state(NfDeploymentState.Deleting)\r
 #         uow.commit()\r
 #     return True\r
 \r