SFC+GBP Integration 21/15521/3
authorReinaldo Penno <rapenno@gmail.com>
Fri, 20 Feb 2015 03:43:48 +0000 (19:43 -0800)
committerThomas Bachman <tbachman@yahoo.com>
Wed, 25 Feb 2015 04:56:44 +0000 (23:56 -0500)
Change-Id: I2669235bd39249eca1e5488517284f2d7c748794
Signed-off-by: Reinaldo Penno <rapenno@gmail.com>
commons/parent/pom.xml
groupbasedpolicy/pom.xml
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/SfcManager.java

index 4e52ac2997a89130fbea09238b8ad81d98220683..517efeee13ba2c2f84bad286067731e21739fc34 100644 (file)
@@ -28,6 +28,7 @@
     <config.groupbasedpolicy.openstackendpointconfigfile>15-groupbasedpolicy-openstackendpoint.xml</config.groupbasedpolicy.openstackendpointconfigfile>
     <karaf.version>3.0.1</karaf.version>
     <exam.version>4.4.0</exam.version> <!-- Needs to remain exported, as its used for dependencies, too -->
+    <sfc.version>0.1.0-SNAPSHOT</sfc.version>
   </properties>
 
   <build>
index 82d5cce6dda5519e37a32b5360efb0778e1ae2ed..affae0df872d1093e64c334d507a82a89df8d5eb 100644 (file)
       <version>1.5.6</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.opendaylight.sfc</groupId>
+      <artifactId>sfc-model</artifactId>
+      <version>${sfc.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.sfc</groupId>
+      <artifactId>sfc-provider</artifactId>
+      <version>${sfc.version}</version>
+    </dependency>
   </dependencies>
 
   <!-- project build -->
index 65b4832cd64d9dd2ac6ad29a5f4462fb6b3dd88b..27b61832887b058a2d74e21bc513fee88a50e64c 100644 (file)
@@ -8,14 +8,16 @@
 
 package org.opendaylight.groupbasedpolicy.renderer.ofoverlay;
 
-import java.util.concurrent.ScheduledExecutorService;
-
+import com.google.common.base.Optional;
+import com.google.common.util.concurrent.FutureCallback;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope;
 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope;
 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
 import org.opendaylight.groupbasedpolicy.resolver.PolicyResolver;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ActionDefinitionId;
@@ -33,10 +35,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
+import java.util.concurrent.ScheduledExecutorService;
 
 /**
  * Manage all things SFC
@@ -80,6 +79,7 @@ public class SfcManager implements AutoCloseable, DataChangeListener {
     // place-holder - not sure what we'll call it
     private final String SFC_CHAIN_ACTION = "CHAIN";
     private final String SFC_CHAIN_NAME = "sfc-chain-name";
+    private final String SFC_RSP_NAME = "rsp-sfc-gbp";
 
     public SfcManager(DataBroker dataBroker,
                       PolicyResolver policyResolver,
@@ -187,7 +187,7 @@ public class SfcManager implements AutoCloseable, DataChangeListener {
                      *  2) the name is defined in the ActionInstance
                      */
                     if (actionInstance.getParameterValue() != null) {
-                        getSfcChain();
+                        getSfcRsp();
                     }
                 }
             }
@@ -210,6 +210,27 @@ public class SfcManager implements AutoCloseable, DataChangeListener {
                 }
             }
         }
+
+        /**
+         * Go get the RenderedServicePath from SFC
+         *
+         * TBD: what to do with this once we have it - who to
+         * give it to
+         */
+        private void getSfcRsp() {
+            for (ParameterValue pv: actionInstance.getParameterValue()) {
+                if (pv.getName().getValue().equals(SFC_CHAIN_NAME)) {
+
+
+/*                  Uncomment when new SFC artifacts are pushed
+                    RenderedServicePathFirstHop renderedServicePathFirstHop =
+                            SfcProviderRenderedPathAPI.readRenderedServicePathFirstHop(SFC_CHAIN_NAME);*/
+
+                }
+            }
+        }
+
+
     }
 
     @Override