Fix: Deletion of 121 and 71 interfaces 85/97885/9
authorGilles Thouenon <gilles.thouenon@orange.com>
Thu, 14 Oct 2021 11:00:17 +0000 (13:00 +0200)
committerGilles Thouenon <gilles.thouenon@orange.com>
Thu, 9 Dec 2021 08:57:40 +0000 (09:57 +0100)
- Fix a race condition as it had been done for 221 interfaces
- Fix bug when configuring the interface at 'out of service'

JIRA: TRNSPRTPCE-544
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I55ba5f2e669b81da06c459abe47e9f9206d31edc

common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl121.java
common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl710.java

index 8fd523975e52babb9a1e952b62f2154d1493499d..e9aa1d742ec8ea7f105b284e1aa999b18a1edf9d 100755 (executable)
@@ -89,7 +89,7 @@ public class OpenRoadmInterfacesImpl121 {
     }
 
 
-    public void deleteInterface(String nodeId, String interfaceName) throws OpenRoadmInterfaceException {
+    public synchronized void deleteInterface(String nodeId, String interfaceName) throws OpenRoadmInterfaceException {
         Optional<Interface> intf2DeleteOpt;
         try {
             intf2DeleteOpt = getInterface(nodeId, interfaceName);
index c781cada1655d85868b6a3eae0491735e7c00c7c..5444db03e94e0cb6f3c66ae83c9b63bc53555552 100644 (file)
@@ -83,7 +83,7 @@ public class OpenRoadmInterfacesImpl710 {
     }
 
 
-    public void deleteInterface(String nodeId, String interfaceName) throws OpenRoadmInterfaceException {
+    public synchronized void deleteInterface(String nodeId, String interfaceName) throws OpenRoadmInterfaceException {
         LOG.info("deleting interface {} on device71 {}", interfaceName, nodeId);
         Optional<Interface> intf2DeleteOpt;
         try {
@@ -95,9 +95,7 @@ public class OpenRoadmInterfacesImpl710 {
         if (intf2DeleteOpt.isPresent()) {
             Interface intf2Delete = intf2DeleteOpt.get();
             // State admin state to out of service
-            InterfaceBuilder ifBuilder = new InterfaceBuilder();
-            ifBuilder.setName(intf2Delete.getName());
-            ifBuilder.setType(intf2Delete.getType());
+            InterfaceBuilder ifBuilder = new InterfaceBuilder(intf2Delete);
             ifBuilder.setAdministrativeState(AdminStates.OutOfService);
             // post interface with updated admin state
             try {