From: HemaTG Date: Tue, 12 May 2015 06:40:43 +0000 (+0530) Subject: Fixed DataStore related issue and cleaned up pom X-Git-Tag: release/lithium~36^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=vpnservice.git;a=commitdiff_plain;h=5b85c6bc16acd2ab5b4276f62d8cd334ab8ba041 Fixed DataStore related issue and cleaned up pom Signed-off-by: HemaTG Change-Id: I7ba0b4e94e052b9fbbdb3f70bde4c26a0c0997c2 --- diff --git a/commons/config-parent/pom.xml b/commons/config-parent/pom.xml index cb047581..f7beac5b 100644 --- a/commons/config-parent/pom.xml +++ b/commons/config-parent/pom.xml @@ -34,6 +34,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html 1.2.0-SNAPSHOT 0.1.0-SNAPSHOT 2013.07.15.7-SNAPSHOT + 0.1.0-SNAPSHOT diff --git a/mdsalutil/mdsalutil-api/pom.xml b/mdsalutil/mdsalutil-api/pom.xml index 03c3791c..2962463a 100644 --- a/mdsalutil/mdsalutil-api/pom.xml +++ b/mdsalutil/mdsalutil-api/pom.xml @@ -3,11 +3,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - org.opendaylight.controller + org.opendaylight.vpnservice config-parent - 0.3.0-SNAPSHOT - - + 0.1.0-SNAPSHOT + ../../commons/config-parent + 4.0.0 org.opendaylight.vpnservice @@ -15,71 +15,6 @@ 0.1.0-SNAPSHOT bundle - - - 0.1.0-SNAPSHOT - - - - - - - org.opendaylight.yangtools - yang-maven-plugin - - - - generate-sources - - - - - org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl - ${salGeneratorPath} - - - org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator - ${jmxGeneratorPath} - - urn:opendaylight:params:xml:ns:yang==org.opendaylight.controller.config.yang - - - - org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl - target/site/models - - - true - - - - - - org.opendaylight.openflowplugin.model @@ -91,60 +26,6 @@ model-flow-service ${openflowplugin.version} - - - - - - org.opendaylight.controller - config-api - - - org.opendaylight.controller - sal-common - - - com.google.guava - guava - - - + diff --git a/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/vpnservice/mdsalutil/MDSALDataStoreUtils.java b/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/vpnservice/mdsalutil/MDSALDataStoreUtils.java index d52394e2..bf90fd8c 100644 --- a/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/vpnservice/mdsalutil/MDSALDataStoreUtils.java +++ b/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/vpnservice/mdsalutil/MDSALDataStoreUtils.java @@ -13,7 +13,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class MDSALDataStoreUtils { - public Optional read(final DataBroker broker,final LogicalDatastoreType datastoreType, + public static Optional read(final DataBroker broker,final LogicalDatastoreType datastoreType, InstanceIdentifier path) { ReadOnlyTransaction tx = broker.newReadOnlyTransaction(); @@ -35,14 +35,14 @@ public class MDSALDataStoreUtils { Futures.addCallback(tx.submit(), callback); } - public void asyncUpdate(final DataBroker broker,final LogicalDatastoreType datastoreType, + public static void asyncUpdate(final DataBroker broker,final LogicalDatastoreType datastoreType, InstanceIdentifier path, T data, FutureCallback callback) { WriteTransaction tx = broker.newWriteOnlyTransaction(); tx.merge(datastoreType, path, data, true); Futures.addCallback(tx.submit(), callback); } - public void asyncRemove(final DataBroker broker,final LogicalDatastoreType datastoreType, + public static void asyncRemove(final DataBroker broker,final LogicalDatastoreType datastoreType, InstanceIdentifier path, FutureCallback callback) { WriteTransaction tx = broker.newWriteOnlyTransaction(); tx.delete(datastoreType, path); diff --git a/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/vpnservice/mdsalutil/interfaces/IMdsalApiManager.java b/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/vpnservice/mdsalutil/interfaces/IMdsalApiManager.java index 697946fa..4b70e82d 100644 --- a/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/vpnservice/mdsalutil/interfaces/IMdsalApiManager.java +++ b/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/vpnservice/mdsalutil/interfaces/IMdsalApiManager.java @@ -22,7 +22,5 @@ public interface IMdsalApiManager { public void sendPacketOutWithActions(long lDpnId, long groupId, byte[] payload, List actionInfos); public void sendARPPacketOutWithActions(long dpid, byte[] payload, List action_info); - - public void printTest() ; - } +} diff --git a/mdsalutil/mdsalutil-impl/pom.xml b/mdsalutil/mdsalutil-impl/pom.xml index 8b4e2d08..8db75ec1 100644 --- a/mdsalutil/mdsalutil-impl/pom.xml +++ b/mdsalutil/mdsalutil-impl/pom.xml @@ -3,11 +3,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - org.opendaylight.controller + org.opendaylight.vpnservice config-parent - 0.3.0-SNAPSHOT - - + 0.1.0-SNAPSHOT + ../../commons/config-parent + 4.0.0 org.opendaylight.vpnservice mdsalutil-impl @@ -25,24 +25,15 @@ org.opendaylight.openflowplugin.model model-flow-base - 0.1.0-SNAPSHOT + ${openflowplugin.version} org.opendaylight.openflowplugin.model model-flow-service - 0.1.0-SNAPSHOT + ${openflowplugin.version} - - junit - junit - - - org.mockito - mockito-all - test - - + org.powermock powermock-module-junit4 1.5.2 @@ -66,14 +57,6 @@ test test-jar - - commons-lang - commons-lang - - - com.google.guava - guava - ${project.groupId} mdsalutil-api @@ -83,35 +66,6 @@ - - org.apache.felix - maven-bundle-plugin - ${bundle.plugin.version} - true - - - - - - - - ${project.basedir}/META-INF - - - - maven-clean-plugin - ${maven.clean.plugin.version} - - - - ${basedir}/src/main/xtend-gen - - ** - - - - - org.apache.maven.plugins maven-surefire-plugin diff --git a/mdsalutil/mdsalutil-impl/src/main/java/org/opendaylight/vpnservice/mdsalutil/internal/MDSALManager.java b/mdsalutil/mdsalutil-impl/src/main/java/org/opendaylight/vpnservice/mdsalutil/internal/MDSALManager.java index 20e74528..b021e844 100644 --- a/mdsalutil/mdsalutil-impl/src/main/java/org/opendaylight/vpnservice/mdsalutil/internal/MDSALManager.java +++ b/mdsalutil/mdsalutil-impl/src/main/java/org/opendaylight/vpnservice/mdsalutil/internal/MDSALManager.java @@ -11,20 +11,15 @@ package org.opendaylight.vpnservice.mdsalutil.internal; import java.math.BigInteger; import java.util.ArrayList; -import java.util.Collections; import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; - import org.opendaylight.vpnservice.mdsalutil.ActionInfo; import org.opendaylight.vpnservice.mdsalutil.ActionType; import org.opendaylight.vpnservice.mdsalutil.FlowEntity; import org.opendaylight.vpnservice.mdsalutil.GroupEntity; import org.opendaylight.vpnservice.mdsalutil.MDSALUtil; -import org.opendaylight.vpnservice.mdsalutil.interfaces.IMdsalApiManager; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowId; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.TableBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.TableKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder; @@ -64,10 +59,6 @@ public class MDSALManager implements AutoCloseable { private PacketProcessingService m_packetProcessingService; - private final AtomicInteger m_atomicInteger = new AtomicInteger(); - - //TODO : IF ID MANAGER IS RQD - /** * Writes the flows and Groups to the MD SAL DataStore * which will be sent to the openflowplugin for installing flows/groups on the switch. @@ -83,58 +74,32 @@ public class MDSALManager implements AutoCloseable { } - @Override public void close() throws Exception { s_logger.info("MDSAL Manager Closed"); } - - public void printTest() { - - s_logger.info(" INTER MODULECOMMUNICATION IS WORKING!!!!"); - } - public void installFlow(FlowEntity flowEntity) { try { - s_logger.info("within installFlow {}", flowEntity.getDpnId()); + s_logger.info("InstallFlow for flowEntity {} ", flowEntity); if (flowEntity.getCookie() == null) { - // s_logger.info("Helium_sync: Cookie is null"); - flowEntity.setCookie(new BigInteger("0110000", 16)); + flowEntity.setCookie(new BigInteger("0110000", 16)); } FlowKey flowKey = new FlowKey( new FlowId(flowEntity.getFlowId()) ); FlowBuilder flowbld = flowEntity.getFlowBuilder(); - Flow flow = flowbld.build() ; - Node nodeDpn = buildDpnNode(flowEntity.getDpnId()); - InstanceIdentifier nodeInstanceId = InstanceIdentifier.builder(Nodes.class) - .child(Node.class, nodeDpn.getKey()).build(); - InstanceIdentifier flowInstanceId = InstanceIdentifier.builder(Nodes.class) .child(Node.class, nodeDpn.getKey()).augmentation(FlowCapableNode.class) .child(Table.class, new TableKey(flowEntity.getTableId())).child(Flow.class,flowKey).build(); - String sTransactionUri = generateTransactionUri(); - - TableKey tableKey = new TableKey(flowEntity.getTableId() ); - InstanceIdentifier tableInstanceId = InstanceIdentifier.create(Nodes.class).child(Node.class, nodeDpn.getKey()) - .augmentation(FlowCapableNode.class).child(Table.class, tableKey); - Table table = new TableBuilder().setKey(tableKey).setFlow(Collections.emptyList()).build(); - WriteTransaction modification = m_dataBroker.newWriteOnlyTransaction(); - //CHECK IF RQD - // modification.put(LogicalDatastoreType.CONFIGURATION, nodeInstanceId, nodeDpn, true); - - - modification.put(LogicalDatastoreType.CONFIGURATION, tableInstanceId, table); - - modification.put(LogicalDatastoreType.CONFIGURATION, flowInstanceId, flowbld.build()); + modification.put(LogicalDatastoreType.CONFIGURATION, flowInstanceId, flowbld.build(),true ); CheckedFuture submitFuture = modification.submit(); @@ -160,7 +125,7 @@ public class MDSALManager implements AutoCloseable { } }); } catch (Exception e) { - s_logger.error("Could not install flow: {}, exception: {}", flowEntity, e.getMessage()); + s_logger.error("Could not install flow: {}, exception: {}", flowEntity, e); } } @@ -169,17 +134,14 @@ public class MDSALManager implements AutoCloseable { Group group = groupEntity.getGroupBuilder().build(); Node nodeDpn = buildDpnNode(groupEntity.getDpnId()); - InstanceIdentifier nodeInstanceId = InstanceIdentifier.builder(Nodes.class) - .child(Node.class, nodeDpn.getKey()).build(); + InstanceIdentifier groupInstanceId = InstanceIdentifier.builder(Nodes.class) .child(Node.class, nodeDpn.getKey()).augmentation(FlowCapableNode.class) .child(Group.class, new GroupKey(new GroupId(groupEntity.getGroupId()))).build(); WriteTransaction modification = m_dataBroker.newWriteOnlyTransaction(); - //CHECK IF RQD - // modification.put(LogicalDatastoreType.CONFIGURATION, nodeInstanceId, nodeDpn); - modification.put(LogicalDatastoreType.CONFIGURATION, groupInstanceId, group); + modification.put(LogicalDatastoreType.CONFIGURATION, groupInstanceId, group, true); CheckedFuture submitFuture = modification.submit(); @@ -204,7 +166,7 @@ public class MDSALManager implements AutoCloseable { } }); } catch (Exception e) { - s_logger.error("Could not install Group: {}, exception: {}", groupEntity, e.getMessage()); + s_logger.error("Could not install Group: {}, exception: {}", groupEntity, e); throw e; } } @@ -244,7 +206,7 @@ public class MDSALManager implements AutoCloseable { }); } catch (Exception e) { - s_logger.error("Could not remove Flow: {}, exception: {}", flowEntity, e.getMessage()); + s_logger.error("Could not remove Flow: {}, exception: {}", flowEntity, e); } } @@ -281,7 +243,7 @@ public class MDSALManager implements AutoCloseable { } }); } catch (Exception e) { - s_logger.error("Could not remove Group: {}, exception: {}", groupEntity, e.getMessage()); + s_logger.error("Could not remove Group: {}, exception: {}", groupEntity, e); } } @@ -290,21 +252,6 @@ public class MDSALManager implements AutoCloseable { installGroup(groupEntity); } - private String generateTransactionUri() { - long lTransactionIdOut = m_atomicInteger.incrementAndGet(); - - // TO DO Introduce this later - // return "" + (lTransactionIdOut | m_lTransactionIdPrefix); - return "" + (lTransactionIdOut ); - } -/* - private String generateTransactionUriForFlow(long nTransactionId) { - long lTransactionIdOut = m_atomicInteger.incrementAndGet(); - return Long.toString((lTransactionIdOut | m_lTransactionIdPrefix)) + EUtil.TRANSACTION_ID_SEPARATOR - + Long.toString(nTransactionId); - } -*/ - public void sendPacketOut(long lDpnId, int groupId, byte[] payload) { List actionInfos = new ArrayList(); @@ -324,12 +271,6 @@ public class MDSALManager implements AutoCloseable { getNodeConnRef("openflow:" + lDpnId, "0xfffffffd"))); } - private NodeKey getNodeKey(long dpId) { - String nodeId = "openflow:" + dpId; - NodeKey nodeKey = new NodeKey(new NodeId(nodeId)); - return nodeKey; - } - public InstanceIdentifier nodeToInstanceId(Node node) { return InstanceIdentifier.builder(Nodes.class).child(Node.class, node.getKey()).toInstance(); } @@ -353,11 +294,6 @@ public class MDSALManager implements AutoCloseable { return _nodeConnectorRef; } - private long getDpnIdFromNodeName(String nodeName) { - String dpId = nodeName.substring(nodeName.lastIndexOf(":") + 1); - return Long.parseLong(dpId); - } - private Node buildDpnNode(long lDpnId) { NodeId nodeId = new NodeId("openflow:" + lDpnId); Node nodeDpn = new NodeBuilder().setId(nodeId).setKey(new NodeKey(nodeId)).build(); diff --git a/mdsalutil/mdsalutil-impl/src/main/java/org/opendaylight/vpnservice/mdsalutil/internal/MDSALUtilProvider.java b/mdsalutil/mdsalutil-impl/src/main/java/org/opendaylight/vpnservice/mdsalutil/internal/MDSALUtilProvider.java index 6246d9c7..af1baa49 100644 --- a/mdsalutil/mdsalutil-impl/src/main/java/org/opendaylight/vpnservice/mdsalutil/internal/MDSALUtilProvider.java +++ b/mdsalutil/mdsalutil-impl/src/main/java/org/opendaylight/vpnservice/mdsalutil/internal/MDSALUtilProvider.java @@ -90,11 +90,4 @@ public class MDSALUtilProvider implements BindingAwareConsumer, IMdsalApiManager mdSalMgr.sendARPPacketOutWithActions(dpid, payload, action_info); } - - @Override - public void printTest() { - // TODO Auto-generated method stub - mdSalMgr.printTest(); - } - }