Added a previously failed merge. 06/1106/1
authorSuchi Raman <suchi.raman@plexxi.com>
Thu, 5 Sep 2013 21:13:45 +0000 (17:13 -0400)
committerSuchi Raman <suchi.raman@plexxi.com>
Thu, 5 Sep 2013 21:13:45 +0000 (17:13 -0400)
Signed-off-by: Suchi Raman <suchi.raman@plexxi.com>
affinity/api/META-INF/MANIFEST.MF
affinity/api/src/main/java/org/opendaylight/controller/affinity/AffinityGroup.java
affinity/api/src/main/java/org/opendaylight/controller/affinity/AffinityIdentifier.java
affinity/api/src/main/java/org/opendaylight/controller/affinity/IAffinityManager.java
affinity/implementation/META-INF/MANIFEST.MF
affinity/implementation/pom.xml
affinity/implementation/src/main/java/org/opendaylight/controller/affinity/internal/AffinityManagerImpl.java
affinity/implementation/src/test/java/org/opendaylight/controller/affinity/internal/AffinityManagerImplTest.java
affinity/northbound/src/main/resources/META-INF/MANIFEST.MF

index 203de7b05ff33662e68c2fd48572b7823308cf73..e4d9521a665a2f37852565cb8f0de288a330343c 100644 (file)
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0\r
-Bnd-LastModified: 1377774582874\r
-Build-Jdk: 1.6.0_37\r
+Bnd-LastModified: 1378325274924
+Build-Jdk: 1.7.0_25
 Built-By: sraman\r
 Bundle-ManifestVersion: 2\r
 Bundle-Name: affinity\r
@@ -8,8 +8,8 @@ Bundle-SymbolicName: org.opendaylight.controller.affinity
 Bundle-Version: 0.4.0.SNAPSHOT\r
 Created-By: Apache Maven Bundle Plugin\r
 Export-Package: org.opendaylight.controller.affinity;uses:="javax.xml.bi\r
- nd.annotation,org.opendaylight.controller.sal.utils";version="0.4.0.SNA\r
- PSHOT"\r
+ nd.annotation,org.opendaylight.controller.sal.utils,org.opendaylight.co
+ ntroller.sal.core";version="0.4.0.SNAPSHOT"
 Import-Package: javax.ws.rs;version="[1.1,2)",javax.ws.rs.core;version="\r
  [1.1,2)",javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annota\r
  tion,org.apache.commons.lang3.builder;version="[3.1,4)",org.apache.feli\r
index d36ca70345822b62d4847615110ceaead2636ff4..d3f70e63279261502a1870500e73a22115cd70c5 100644 (file)
@@ -7,6 +7,7 @@ import java.net.UnknownHostException;
 import java.util.Map;
 import java.util.HashMap;
 import java.util.Set;
+import java.util.Collection;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -83,6 +84,7 @@ public class AffinityGroup implements Cloneable, Serializable {
        return (elements.size());
     }
     public void print() {
+       System.out.println("Printing affinity group " + this.name);
        for (AffinityIdentifier value : elements.values()) {
            value.print();
        }
@@ -96,5 +98,8 @@ public class AffinityGroup implements Cloneable, Serializable {
     public Set<String> getIPs() {
         return elements.keySet();
     }
+    public Collection<AffinityIdentifier> getAllElements() {
+       return elements.values();
+    }
 }
 
index 97ef931eaa9463dfba2537e62ddb7c8cf5a29cf2..b6cf71cbbda7d6283d7308b3f167b77494356bf9 100644 (file)
@@ -17,8 +17,11 @@ public class AffinityIdentifier<T> {
     public void setName(String name) {
        this.name = name;
     }
+    public String getName(String name) {
+       return (this.name);
+    }
     public void print() {
-       System.out.println(value);
+       System.out.println(name);
     }
 }
 
index bf5228b0a76e7a5ac29a46698c61a406e01d28dd..26059d06998f8ab9d9f2dedd7fb6bce2268cd541 100644 (file)
@@ -14,7 +14,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentMap;
 import java.util.Set;
+import java.util.Collection;
 
+import org.opendaylight.controller.sal.core.Host;
 import org.opendaylight.controller.sal.core.Node;
 import org.opendaylight.controller.sal.core.NodeConnector;
 import org.opendaylight.controller.sal.core.Property;
@@ -43,4 +45,7 @@ public interface IAffinityManager {
 
     /* Save all configs to their respective files. */
     public Status saveAffinityConfig();
+
+    public List<AffinityIdentifier> getAllElementsByAffinityIdentifier(AffinityGroup ag);
+    public List<Host> getAllElementsByHost(AffinityGroup ag);
 }
index 5be0a1a489e3071212b723c9891d497640db86f5..b051dfcecb257f5fc37f1dee416c7ee7bf4d3c86 100644 (file)
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0\r
-Bnd-LastModified: 1377774584891\r
-Build-Jdk: 1.6.0_37\r
+Bnd-LastModified: 1378325277283
+Build-Jdk: 1.7.0_25
 Built-By: sraman\r
 Bundle-Activator: org.opendaylight.controller.affinity.internal.Activato\r
  r\r
@@ -14,9 +14,11 @@ Import-Package: javax.xml.bind.annotation,org.apache.commons.lang3.build
  osgi.framework.console;version="[1.1,2)",org.opendaylight.controller.af\r
  finity;version="[0.4,1)",org.opendaylight.controller.clustering.service\r
  s;version="[0.4,1)",org.opendaylight.controller.configuration;version="\r
- [0.4,1)",org.opendaylight.controller.sal.core;version="[0.5,1)",org.ope\r
- ndaylight.controller.sal.inventory;version="[0.5,1)",org.opendaylight.c\r
- ontroller.sal.packet;version="[0.5,1)",org.opendaylight.controller.sal.\r
- utils;version="[0.5,1)",org.osgi.framework;version="[1.7,2)",org.slf4j;\r
- version="[1.7,2)"\r
+ [0.4,1)",org.opendaylight.controller.hosttracker;version="[0.4,1)",org.
+ opendaylight.controller.hosttracker.hostAware;version="[0.4,1)",org.ope
+ ndaylight.controller.sal.core;version="[0.5,1)",org.opendaylight.contro
+ ller.sal.inventory;version="[0.5,1)",org.opendaylight.controller.sal.pa
+ cket;version="[0.5,1)",org.opendaylight.controller.sal.utils;version="[
+ 0.5,1)",org.osgi.framework;version="[1.7,2)",org.slf4j;version="[1.7,2)
+ "
 Tool: Bnd-1.50.0\r
index c5ab5a80e50c3592975937bdb8ab15da5a2de7bf..562161c9f378f982f32bc60801e456a1419184e0 100644 (file)
         <configuration>
           <instructions>
             <Export-Package>
-              org.opendaylight.controller.affinity.implementation            
             </Export-Package>
             <Import-Package>
               org.opendaylight.controller.affinity,
               org.opendaylight.controller.clustering.services,
               org.opendaylight.controller.configuration,
+              org.opendaylight.controller.hosttracker,
+              org.opendaylight.controller.hosttracker.hostAware,
               org.opendaylight.controller.sal.core,
               org.opendaylight.controller.sal.utils,
               org.opendaylight.controller.sal.packet,
       <artifactId>forwardingrulesmanager</artifactId>
       <version>0.4.0-SNAPSHOT</version>
     </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>hosttracker</artifactId>
+      <version>0.4.0-SNAPSHOT</version>
+    </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>affinity</artifactId>
index 711c6190a988deacda522f6273ccfdc8534d7235..64f6ba01c6792a709cf540cf22452277101ecd49 100644 (file)
@@ -51,6 +51,7 @@ import org.opendaylight.controller.configuration.IConfigurationContainerAware;
 import org.opendaylight.controller.forwardingrulesmanager.FlowEntry;
 import org.opendaylight.controller.sal.core.IContainer;
 import org.opendaylight.controller.sal.core.Node;
+import org.opendaylight.controller.sal.core.Host;
 import org.opendaylight.controller.sal.core.NodeConnector;
 import org.opendaylight.controller.sal.core.NodeTable;
 import org.opendaylight.controller.sal.core.Property;
@@ -63,13 +64,16 @@ import org.opendaylight.controller.sal.utils.GlobalConstants;
 import org.opendaylight.controller.sal.utils.IObjectReader;
 import org.opendaylight.controller.sal.utils.ObjectReader;
 import org.opendaylight.controller.sal.utils.ObjectWriter;
+import org.opendaylight.controller.sal.utils.NetUtils;
 
+import org.opendaylight.controller.hosttracker.IfIptoHost;
 import org.opendaylight.controller.sal.utils.Status;
 import org.opendaylight.controller.sal.utils.StatusCode;
 
 import org.opendaylight.controller.sal.utils.ServiceHelper;
 import org.opendaylight.controller.affinity.AffinityGroup;
 import org.opendaylight.controller.affinity.AffinityLink;
+import org.opendaylight.controller.affinity.AffinityIdentifier;
 import org.opendaylight.controller.affinity.IAffinityManager;
 import org.opendaylight.controller.affinity.IAffinityManagerAware;
 import org.slf4j.Logger;
@@ -91,6 +95,8 @@ public class AffinityManagerImpl implements IAffinityManager, IConfigurationCont
     private ConcurrentMap<String, AffinityLink> affinityLinkList;
     private ConcurrentMap<Long, String> configSaveEvent;
 
+    private IfIptoHost hostTracker;
+
     private final Set<IAffinityManagerAware> affinityManagerAware = Collections
             .synchronizedSet(new HashSet<IAffinityManagerAware>());
 
@@ -202,6 +208,16 @@ public class AffinityManagerImpl implements IAffinityManager, IConfigurationCont
     }
 
 
+    void setHostTracker(IfIptoHost h) {
+        this.hostTracker = h;
+    }
+
+    void unsetHostTracker(IfIptoHost h) {
+        if (this.hostTracker.equals(h)) {
+            this.hostTracker = null;
+        }
+    }
+
     public Status addAffinityLink(AffinityLink al) {
        boolean putNewLink = false;
 
@@ -325,6 +341,44 @@ public class AffinityManagerImpl implements IAffinityManager, IConfigurationCont
            }
         }
     }
+
+    @Override 
+    public List<AffinityIdentifier> getAllElementsByAffinityIdentifier(AffinityGroup ag) {
+       List<AffinityIdentifier> elements = (List<AffinityIdentifier>) ag.getAllElements();
+       return elements;
+    }
+    @Override 
+    public List<Host> getAllElementsByHost(AffinityGroup ag) {
+       List<Host> hostList= new ArrayList<Host>();
+
+       for (AffinityIdentifier h : ag.getAllElements()) {
+           /* TBD: Do not assume this to be an InetAddress. */ 
+           h.print();
+           if (hostTracker != null) {
+               Host host1 = hostTracker.hostFind((InetAddress) h.get());
+               hostList.add(host1);
+           }
+       }
+       return hostList;
+    }
+    /*
+    @Override 
+    public List<Entry<Host, Host>> getAllFlows(AffinityGroup ag) {
+       List<Entry<Host,Host>> hostPairList= new java.util.ArrayList<>();
+       java.util.Map.Entry<Host, Host> hp1=new java.util.AbstractMap.SimpleEntry<>(host1, host2);
+       hostPairList.add(hp1);
+       return hostPairList;
+    }
+
+    @Override 
+    public List<Entry<AffinityIdentifier, AffinityIdentifier>> getAllFlows(AffinityGroup ag) {
+       List<Entry<Host,Host>> hostPairList= new java.util.ArrayList<>();
+       java.util.Map.Entry<Host, Host> hp1=new java.util.AbstractMap.SimpleEntry<>(host1, host2);
+       hostPairList.add(hp1);
+    }
+    */
+
     @Override
     public Status saveConfiguration() {
         return saveAffinityConfig();
index 36ec5d712d201076cd06dbed5916875e597bf42b..93f87909b7686837951cc5c8e2ae0bd324727e09 100644 (file)
@@ -11,6 +11,7 @@ package org.opendaylight.controller.affinity.internal;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Set;
+import java.util.List;
 
 import org.junit.Assert;
 import org.junit.Test;
@@ -22,6 +23,7 @@ import org.opendaylight.controller.sal.core.UpdateType;
 import org.opendaylight.controller.sal.utils.Status;
 import org.opendaylight.controller.affinity.AffinityGroup;
 import org.opendaylight.controller.affinity.AffinityLink;
+import org.opendaylight.controller.sal.core.Host;
 
 public class AffinityManagerImplTest {
 
@@ -39,6 +41,8 @@ public class AffinityManagerImplTest {
        Status ret2 = ag1.add("10.0.0.20");
        Assert.assertTrue(ret2.isSuccess());
 
+       ag1.print();
+
        // Add an invalid element. 
        Status ret3 = ag1.add("10");
        System.out.println(ret3);
@@ -80,10 +84,16 @@ public class AffinityManagerImplTest {
         result = affinitymgr.addAffinityLink(al2);
         Assert.assertTrue(result.isSuccess());
        
+       /* Test the get methods. */
+       System.out.println("Affinity group = " + ag1.getName());
+       List<Host> hostlist = affinitymgr.getAllElementsByHost(ag1);
+       
+       for (Host h : hostlist) {
+           System.out.println("host = " + h.getNetworkAddressAsString());
+       }
+       affinitymgr.saveConfiguration();
        /* Constraint checking? */
-        result = (affinitymgr.removeAffinityGroup(ag1.getName()));
+       result = (affinitymgr.removeAffinityGroup(ag1.getName()));
         Assert.assertTrue(result.isSuccess());
-
-       affinitymgr.saveConfiguration();
     }
 }
index aaff04539e8a995db7a058b6b9d18e127eb9b812..bff70d47b7fc488fd50b23b9a3594481cb61d411 100644 (file)
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0\r
-Bnd-LastModified: 1377774585678\r
-Build-Jdk: 1.6.0_37\r
+Bnd-LastModified: 1378325278167
+Build-Jdk: 1.7.0_25
 Built-By: sraman\r
 Bundle-ManifestVersion: 2\r
 Bundle-Name: northbound\r