Added a generic API to return a list of configured switches that are not connected... 19/3419/7
authorPramila Singh <pramisin@cisco.com>
Tue, 3 Dec 2013 23:48:29 +0000 (15:48 -0800)
committerPramila Singh <pramisin@cisco.com>
Thu, 5 Dec 2013 00:07:53 +0000 (16:07 -0800)
Change-Id: Ide319117b4038f6f1d72fa8091d1015678be5a60
Signed-off-by: Pramila Singh <pramisin@cisco.com>
19 files changed:
opendaylight/clustering/integrationtest/pom.xml
opendaylight/commons/opendaylight/pom.xml
opendaylight/configuration/integrationtest/pom.xml
opendaylight/forwardingrulesmanager/integrationtest/pom.xml
opendaylight/hosttracker/integrationtest/pom.xml
opendaylight/northbound/integrationtest/pom.xml
opendaylight/protocol_plugins/openflow/pom.xml
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/InventoryService.java
opendaylight/sal/api/pom.xml
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/inventory/IInventoryService.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/inventory/IPluginInInventoryService.java
opendaylight/sal/implementation/pom.xml
opendaylight/sal/implementation/src/main/java/org/opendaylight/controller/sal/implementation/internal/Inventory.java
opendaylight/statisticsmanager/integrationtest/pom.xml
opendaylight/switchmanager/api/pom.xml
opendaylight/switchmanager/api/src/main/java/org/opendaylight/controller/switchmanager/ISwitchManager.java
opendaylight/switchmanager/implementation/pom.xml
opendaylight/switchmanager/implementation/src/main/java/org/opendaylight/controller/switchmanager/internal/SwitchManager.java
opendaylight/switchmanager/integrationtest/pom.xml

index ca1e37e3bee0eac8a55fda94e4385d58cbdfa4ec..7e9b6384737ad5a0163555728981c577a74e8c80 100644 (file)
@@ -26,7 +26,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index a652845770eb64009bf8fc79fc63356ce99a3e95..bd41e8071717913505d5dbe8e542828b22d1511c 100644 (file)
@@ -84,9 +84,9 @@
     <netconf.version>0.2.3-SNAPSHOT</netconf.version>
     <mdsal.version>1.0-SNAPSHOT</mdsal.version>
     <containermanager.version>0.5.1-SNAPSHOT</containermanager.version>
     <netconf.version>0.2.3-SNAPSHOT</netconf.version>
     <mdsal.version>1.0-SNAPSHOT</mdsal.version>
     <containermanager.version>0.5.1-SNAPSHOT</containermanager.version>
-    <switchmanager.api.version>0.6.1-SNAPSHOT</switchmanager.api.version>
+    <switchmanager.api.version>0.7.0-SNAPSHOT</switchmanager.api.version>
     <connectionmanager.version>0.1.1-SNAPSHOT</connectionmanager.version>
     <connectionmanager.version>0.1.1-SNAPSHOT</connectionmanager.version>
-    <sal.version>0.6.0-SNAPSHOT</sal.version>
+    <sal.version>0.7.0-SNAPSHOT</sal.version>
     <sal.networkconfiguration.version>0.0.2-SNAPSHOT</sal.networkconfiguration.version>
     <sal.connection.version>0.1.1-SNAPSHOT</sal.connection.version>
     <networkconfig.bridgedomain.northbound.version>0.0.2-SNAPSHOT</networkconfig.bridgedomain.northbound.version>
     <sal.networkconfiguration.version>0.0.2-SNAPSHOT</sal.networkconfiguration.version>
     <sal.connection.version>0.1.1-SNAPSHOT</sal.connection.version>
     <networkconfig.bridgedomain.northbound.version>0.0.2-SNAPSHOT</networkconfig.bridgedomain.northbound.version>
index 894f94bc46b67d11e2858715d8602dec1a54755e..b9a9f8c66b745405b0155144c2f54b0fc5450b12 100644 (file)
@@ -25,7 +25,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
index 7904bd3a8f78f522a9a5dc93bd5b621ea3ab1488..9172903e6ddf58f99584ef4b399276d519d19bf4 100644 (file)
@@ -71,7 +71,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.6.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
@@ -81,7 +81,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index 8f4163d68674d8a65cd0fb94689d42b6a6679189..d4f118c364005400a32dc8bf474a15ba888b60df 100644 (file)
@@ -31,7 +31,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
@@ -70,7 +70,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.6.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index b4e0b34d091c570d3ceb90a0da52df23927ae4a7..9fae7e25fbf845a7cdc0e190fc657ec1b4acb96e 100644 (file)
@@ -49,7 +49,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.6.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index ca0ff45d61e4977ed677f761d93c73c86262482e..ceeb29a1fcffa095f7b4ae089660176665a29ebd 100644 (file)
@@ -70,7 +70,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.6.0-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index f983e1244dba519f7a2afc0c6d13f8937f1178bc..39bbecf0214f5443e1991ba359a679bbc6cba183 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.controller.protocol_plugin.openflow.internal;
 
 
 package org.opendaylight.controller.protocol_plugin.openflow.internal;
 
+import java.util.Collections;
 import java.util.Dictionary;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Dictionary;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -138,6 +139,12 @@ public class InventoryService implements IInventoryShimInternalListener,
         return nodeProps;
     }
 
         return nodeProps;
     }
 
+    // nothing to return
+    @Override
+    public Set<Node> getConfiguredNotConnectedNodes() {
+        return Collections.emptySet();
+    }
+
     @Override
     public ConcurrentMap<NodeConnector, Map<String, Property>> getNodeConnectorProps(
             Boolean refresh) {
     @Override
     public ConcurrentMap<NodeConnector, Map<String, Property>> getNodeConnectorProps(
             Boolean refresh) {
index 60e17e264e4d47b1c6505ef5b5aecdf7bee67ffa..405f92455410a982008af2c9c4c1ff66e7549210 100644 (file)
@@ -16,7 +16,7 @@
   </scm>
 
   <artifactId>sal</artifactId>
   </scm>
 
   <artifactId>sal</artifactId>
-  <version>0.6.0-SNAPSHOT</version>
+  <version>0.7.0-SNAPSHOT</version>
   <packaging>bundle</packaging>
 
   <build>
   <packaging>bundle</packaging>
 
   <build>
index 3c58ecbfcdc04ee4e7bca4b6a375fd956b3d45a4..fa3afd817301e46a2c5753cfcb8afb3d74c8036b 100644 (file)
@@ -10,6 +10,7 @@
 package org.opendaylight.controller.sal.inventory;
 
 import java.util.Map;
 package org.opendaylight.controller.sal.inventory;
 
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.ConcurrentMap;
 
 import org.opendaylight.controller.sal.core.Node;
 import java.util.concurrent.ConcurrentMap;
 
 import org.opendaylight.controller.sal.core.Node;
@@ -28,6 +29,13 @@ public interface IInventoryService {
      */
     public ConcurrentMap<Node, Map<String, Property>> getNodeProps();
 
      */
     public ConcurrentMap<Node, Map<String, Property>> getNodeProps();
 
+    /**
+     * The method retrieves all the configured nodes that are not connected to
+     * the controller
+     *
+     * @return Set of {@link org.opendaylight.controller.sal.core.Node}
+     */
+    public Set<Node> getConfiguredNotConnectedNodes();
     /**
      * The method retrieve all the existing nodeConnectors and their properties
      *
     /**
      * The method retrieve all the existing nodeConnectors and their properties
      *
index 5822731f26babd33bea1ea18d108fcf5be0a6f4c..4007dc86e78974d7d36dc7540b4a3fc044d48fdc 100644 (file)
@@ -10,6 +10,7 @@
 package org.opendaylight.controller.sal.inventory;
 
 import java.util.Map;
 package org.opendaylight.controller.sal.inventory;
 
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.ConcurrentMap;
 
 import org.opendaylight.controller.sal.core.Node;
 import java.util.concurrent.ConcurrentMap;
 
 import org.opendaylight.controller.sal.core.Node;
@@ -36,4 +37,12 @@ public interface IPluginInInventoryService {
      */
     public ConcurrentMap<NodeConnector, Map<String, Property>> getNodeConnectorProps(
             Boolean refresh);
      */
     public ConcurrentMap<NodeConnector, Map<String, Property>> getNodeConnectorProps(
             Boolean refresh);
+
+    /**
+     * The method retrieves all the configured nodes that are not connected to
+     * the controller
+     *
+     * @return Set of {@link org.opendaylight.controller.sal.core.Node}
+     */
+    public Set<Node> getConfiguredNotConnectedNodes();
 }
 }
index f260f315e082368066413f35a1704db205ad889e..7c92a6b52b3151d528d8b6d39a407ff8bad19098 100644 (file)
@@ -59,7 +59,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
     </dependency>
     <dependency>
       <groupId>equinoxSDK381</groupId>
index 1cc57bac66e797cead08f0e2300b325f3622afe1..fbb9fbc518f74c64611a39e536157b30b4dab789 100644 (file)
@@ -9,6 +9,7 @@
 
 package org.opendaylight.controller.sal.implementation.internal;
 
 
 package org.opendaylight.controller.sal.implementation.internal;
 
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -145,6 +146,18 @@ public class Inventory implements IPluginOutInventoryService, IInventoryService
         return nodeProps;
     }
 
         return nodeProps;
     }
 
+    @Override
+    public Set<Node> getConfiguredNotConnectedNodes() {
+        Set<Node> configuredNotConnected = new HashSet<Node>(), rv;
+        for (IPluginInInventoryService s : this.pluginService) {
+            rv = s.getConfiguredNotConnectedNodes();
+            if (rv != null) {
+                configuredNotConnected.addAll(rv);
+            }
+        }
+        return configuredNotConnected;
+    }
+
     @Override
     public ConcurrentMap<NodeConnector, Map<String, Property>> getNodeConnectorProps() {
         ConcurrentMap<NodeConnector, Map<String, Property>> ncProps =
     @Override
     public ConcurrentMap<NodeConnector, Map<String, Property>> getNodeConnectorProps() {
         ConcurrentMap<NodeConnector, Map<String, Property>> ncProps =
index 743c6784a51b607e57bd15b0d216593be274a6a0..8a7fed6e06c6b520fa3ac73319768fd6efc06ce6 100644 (file)
@@ -25,7 +25,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
@@ -75,7 +75,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.6.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
 
       <dependency>
     </dependency>
 
       <dependency>
index cf4c5149657d453bcff2a72c06cdf383f1841e0f..b9cac8f2f86ac286f07bebeea3982e3aa75c5ec4 100644 (file)
@@ -16,7 +16,7 @@
   </scm>
 
   <artifactId>switchmanager</artifactId>
   </scm>
 
   <artifactId>switchmanager</artifactId>
-  <version>0.6.1-SNAPSHOT</version>
+  <version>0.7.0-SNAPSHOT</version>
   <packaging>bundle</packaging>
 
   <properties>
   <packaging>bundle</packaging>
 
   <properties>
index 8815e5e8c08a1b2f52ddabdcf9c6a28363b79419..072544c2146f9edd31a7b3bdf9458378290064d9 100644 (file)
@@ -66,6 +66,13 @@ public interface ISwitchManager {
      */
     public List<Switch> getNetworkDevices();
 
      */
     public List<Switch> getNetworkDevices();
 
+    /**
+     * Return a Set of all configured devices that are not connected to the controller
+     *
+     * @return Set of {@link org.opendaylight.controller.switchmanager.Switch}
+     */
+    public Set<Switch> getConfiguredNotConnectedSwitches();
+
     /**
      * Return a list of subnet that were previously configured
      *
     /**
      * Return a list of subnet that were previously configured
      *
index 1e78ec7a3df60a545b6ff6c89d0e15567d44f359..76bfd56c2913cf9f89625e3db71fcf2cc9cc9e48 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.6.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index 4d2aea203601dafe6e19fcacc208ae4760819b0f..4950cae33a9fc37813afb963250e31a5ff71e824 100644 (file)
@@ -2155,4 +2155,25 @@ public class SwitchManager implements ISwitchManager, IConfigurationContainerAwa
         return (desc == null /* || desc.getValue().equalsIgnoreCase("none") */) ? ""
                 : desc.getValue();
     }
         return (desc == null /* || desc.getValue().equalsIgnoreCase("none") */) ? ""
                 : desc.getValue();
     }
+
+    @Override
+    public Set<Switch> getConfiguredNotConnectedSwitches() {
+        Set<Switch> configuredNotConnectedSwitches = new HashSet<Switch>();
+        if (this.inventoryService == null) {
+            log.trace("inventory service not avaiable");
+            return configuredNotConnectedSwitches;
+        }
+
+        Set<Node> configuredNotConnectedNodes = this.inventoryService.getConfiguredNotConnectedNodes();
+        if (configuredNotConnectedNodes != null) {
+            for (Node node : configuredNotConnectedNodes) {
+                Switch sw = getSwitchByNode(node);
+                if (sw != null) {
+                    configuredNotConnectedSwitches.add(sw);
+                }
+            }
+        }
+        return configuredNotConnectedSwitches;
+    }
+
 }
 }
index 5d8ce9b303067c68e79cc82fbf2a3293ac1e72ce..297b52bd2f0dd63fc5aa55eb12cf9fd531b2c419 100644 (file)
@@ -21,7 +21,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>switchmanager</artifactId>
-      <version>0.6.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
       <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
       <dependency>
       <groupId>org.opendaylight.controller</groupId>
@@ -31,7 +31,7 @@
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>
     </dependency>
      <dependency>
       <groupId>org.opendaylight.controller</groupId>