X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2dms%2Fservice%2Fnfdeployment_handler.py;h=0fdd00a6cf90d9a28a124905ed5e76cf93819276;hb=2ec12b6c645d9537c0aa4e508ea6885752a55580;hp=665e03e92d9c651ab9e6f9dd07e0addc67b6eefd;hpb=5143e92a36bd2142e04d0d80dbc60d68c3da03d7;p=pti%2Fo2.git diff --git a/o2dms/service/nfdeployment_handler.py b/o2dms/service/nfdeployment_handler.py index 665e03e..0fdd00a 100644 --- a/o2dms/service/nfdeployment_handler.py +++ b/o2dms/service/nfdeployment_handler.py @@ -56,6 +56,9 @@ def handle_nfdeployment_statechanged( if cmd.ToState == NfDeploymentState.Installing: cmd2 = commands.InstallNfDeployment(cmd.NfDeploymentId) install_nfdeployment(cmd2, uow) + elif cmd.ToState == NfDeploymentState.Deleting: + cmd2 = commands.DeleteNfDeployment(cmd.NfDeploymentId) + delete_nfdeployment(cmd2, uow) else: logger.debug("Not insterested state change: {}".format(cmd)) elif cmd.FromState == NfDeploymentState.Installed \ @@ -68,12 +71,10 @@ def handle_nfdeployment_statechanged( uninstall_nfdeployment(cmd2, uow) else: logger.debug("Not insterested state change: {}".format(cmd)) - elif cmd.FromState == NfDeploymentState.Initial \ - or cmd.FromState == NfDeploymentState.Abnormal: - + elif cmd.FromState == NfDeploymentState.Abnormal: if cmd.ToState == NfDeploymentState.Deleting: - cmd2 = commands.UninstallNfDeployment(cmd.NfDeploymentId) - uninstall_nfdeployment(cmd2, uow) + # cmd2 = commands.UninstallNfDeployment(cmd.NfDeploymentId) + # uninstall_nfdeployment(cmd2, uow) cmd2 = commands.DeleteNfDeployment(cmd.NfDeploymentId) delete_nfdeployment(cmd2, uow) else: @@ -198,7 +199,12 @@ def uninstall_nfdeployment( nfdeployment.descriptorId, nfdeployment.id )) - nfdeployment.set_state(NfDeploymentState.Uninstalling) + with uow: + entity: NfDeployment = uow.nfdeployments.get(cmd.NfDeploymentId) + if entity: + entity.set_state(NfDeploymentState.Uninstalling) + uow.commit() + helm = Helm(logger, LOCAL_HELM_BIN, environment_variables={}) logger.debug('Try to helm del {}'.format( @@ -217,7 +223,8 @@ def uninstall_nfdeployment( with uow: entity: NfDeployment = uow.nfdeployments.get(cmd.NfDeploymentId) if entity: - entity.transit_state(NfDeploymentState.Initial) + entity.set_state(NfDeploymentState.Initial) + entity.transit_state(NfDeploymentState.Deleting) # uow.nfdeployments.update( # cmd.NfDeploymentId, status=NfDeploymentState.Initial) uow.commit()