From: Dan Timoney Date: Thu, 19 Oct 2017 20:03:04 +0000 (-0400) Subject: Ignore ModifiedNodeDoesNotExistException on delete X-Git-Tag: v1.2.1~11 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=sdnc%2Fnorthbound.git;a=commitdiff_plain;h=45ac56ef4f49b57bee4aa2cd52e4e41618ae2251 Ignore ModifiedNodeDoesNotExistException on delete When trying to deleteVnf from operational or config tree, if a ModifiedNodeDoesNotExistException is cause for commit exception it means that the data you are trying to delete does not exist. So you wanted it gone, it's already gone ... log a message at debug level but don't fail the transaction. Change-Id: Iea0f4e78522cc2f437843e2b17080855cd314ea6 Issue-ID: SDNC-137 Signed-off-by: Dan Timoney --- diff --git a/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang b/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang index 327c6a2b..2f45ae25 100644 --- a/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang +++ b/generic-resource-api/model/src/main/yang/GENERIC-RESOURCE-API.yang @@ -829,7 +829,7 @@ module GENERIC-RESOURCE-API { description "The Network Controller will look up the vgmux bearer ip from the vgmux vf module"; type inet:ip-address; } - leaf vgmux-lan-up { + leaf vgmux-lan-ip { description "The Network Controller will look up the vgmux lan ip from the vgmux vg module"; type inet:ip-address; } diff --git a/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java b/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java index a94d5e3b..28daac27 100644 --- a/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java +++ b/vnfapi/provider/src/main/java/org/onap/sdnc/vnfapi/vnfapiProvider.java @@ -131,6 +131,7 @@ import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MDC; @@ -778,16 +779,21 @@ public class vnfapiProvider implements AutoCloseable, VNFAPIService, DataChangeL tx.submit().checkedGet(); log.debug("DataStore delete succeeded"); break; - } catch (final TransactionCommitFailedException e) { + } catch (final TransactionCommitFailedException e) { if (e instanceof OptimisticLockFailedException) { if (--tries <= 0) { log.debug("Got OptimisticLockFailedException on last try - failing "); throw new IllegalStateException(e); } log.debug("Got OptimisticLockFailedException - trying again "); - } else { - log.debug("Delete DataStore failed"); - throw new IllegalStateException(e); + } + else { + if (e.getCause() instanceof ModifiedNodeDoesNotExistException) { + log.debug("Ignoring MpdifiedNodeDoesNotExistException"); + } else { + log.debug("Delete DataStore failed"); + throw new IllegalStateException(e); + } } } }