Merge "Remove all redundant public modifiers in interfaces"
authorFlavio Fernandes <ffernand@redhat.com>
Tue, 21 Jul 2015 21:54:50 +0000 (21:54 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 21 Jul 2015 21:54:51 +0000 (21:54 +0000)
Vagrantfile
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/OF13Provider.java
openstack/net-virt-providers/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/OF13ProviderTest.java
resources/commons/showOvsdbMdsal.py

index 4d7af0e9c7d70fcd82195f7a70a6cfc22eb6b56e..54d7eacfb11551304ba0fbaba786370dac39a62f 100644 (file)
@@ -33,6 +33,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
     mininet.vm.provider "vmware_fusion" do |vf|
       vf.vmx["memsize"] = "2048"
     end
+    mininet.vm.provider :libvirt do |lv|
+      lv.memory = 2048
+    end
     mininet.vm.provision "puppet" do |puppet|
       puppet.hiera_config_path = "resources/puppet/hiera.yaml"
       puppet.working_directory = "/vagrant/resources/puppet"
@@ -56,6 +59,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
     control.vm.provider "vmware_fusion" do |vf|
       vf.vmx["memsize"] = "4096"
     end
+    control.vm.provider :libvirt do |lv|
+      lv.memory = 4096
+    end
     control.vm.provision "puppet" do |puppet|
       puppet.hiera_config_path = "resources/puppet/hiera.yaml"
       puppet.working_directory = "/vagrant/resources/puppet"
@@ -82,6 +88,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
       compute.vm.provider "vmware_fusion" do |vf|
         vf.vmx["memsize"] = "4096"
       end
+      compute.vm.provider :libvirt do |lv|
+        lv.memory = 4096
+      end
       compute.vm.provision "puppet" do |puppet|
         puppet.hiera_config_path = "resources/puppet/hiera.yaml"
         puppet.working_directory = "/vagrant/resources/puppet"
index 2f381f418ca61f21f0786e209c446380d5f786e7..389aef1d1733dcdaa1547e1df2486c0a6e88b885 100644 (file)
@@ -15,7 +15,6 @@ import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
 import org.opendaylight.neutron.spi.NeutronNetwork;
 import org.opendaylight.neutron.spi.NeutronPort;
-import org.opendaylight.neutron.spi.NeutronSecurityGroup;
 import org.opendaylight.neutron.spi.Neutron_IPs;
 import org.opendaylight.ovsdb.openstack.netvirt.MdsalHelper;
 import org.opendaylight.ovsdb.openstack.netvirt.NetworkHandler;
@@ -79,7 +78,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -108,6 +106,9 @@ import java.util.concurrent.ExecutionException;
  * @author Dave Tucker
  * @author Sam Hague
  */
+// Methods' parameters in this class follow the same pattern to avoid confusion between same-typed parameters
+// The patterns need to be preserved even though not all parameters are used in all methods
+@SuppressWarnings("UnusedParameters")
 public class OF13Provider implements ConfigInterface, NetworkingProvider {
     private static final Logger logger = LoggerFactory.getLogger(OF13Provider.class);
     private static final short TABLE_0_DEFAULT_INGRESS = 0;
@@ -127,7 +128,6 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
     private volatile L2ForwardingProvider l2ForwardingProvider;
 
     public static final String NAME = "OF13Provider";
-    private volatile NetworkingProviderManager networkingProviderManager;
     private volatile BundleContext bundleContext;
     private volatile Southbound southbound;
 
@@ -150,6 +150,8 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
         return false;
     }
 
+    // The method is tested for in OF13ProviderTest
+    @SuppressWarnings("unused")
     private Status getTunnelReadinessStatus (Node node, String tunnelKey) {
         InetAddress srcTunnelEndPoint = configurationService.getTunnelEndPoint(node);
         if (srcTunnelEndPoint == null) {
@@ -688,31 +690,22 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
         handleVlanMiss(dpid, TABLE_1_ISOLATE_TENANT, TABLE_2_LOCAL_FORWARD, segmentationId, ethPort, false);
     }
 
-    private Long getDpid(Node node) {
-        Long dpid = 0L;
-        dpid = southbound.getDataPathId(node);
+    private long getDpid(Node node) {
+        long dpid = southbound.getDataPathId(node);
         if (dpid == 0) {
             logger.warn("getDpid: dpid not found: {}", node);
         }
         return dpid;
     }
 
-    private Long getIntegrationBridgeOFDPID(Node node) {
-        Long dpid = 0L;
+    private long getIntegrationBridgeOFDPID(Node node) {
+        long dpid = 0L;
         if (southbound.getBridgeName(node).equals(configurationService.getIntegrationBridgeName())) {
             dpid = getDpid(node);
         }
         return dpid;
     }
 
-    private Long getExternalBridgeDpid(Node node) {
-        Long dpid = 0L;
-        if (southbound.getBridgeName(node).equals(configurationService.getExternalBridgeName())) {
-            dpid = getDpid(node);
-        }
-        return dpid;
-    }
-
     /**
      * Returns true is the network if of type GRE or VXLAN
      *
@@ -722,7 +715,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
     private boolean isTunnel(String networkType)
     {
         return (networkType.equalsIgnoreCase(NetworkHandler.NETWORK_TYPE_GRE) || networkType.equalsIgnoreCase
-                (NetworkHandler.NETWORK_TYPE_VXLAN))? true:false;
+                (NetworkHandler.NETWORK_TYPE_VXLAN));
     }
 
     /**
@@ -733,7 +726,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
      */
     private boolean isVlan(String networkType)
     {
-        return networkType.equalsIgnoreCase(NetworkHandler.NETWORK_TYPE_VLAN)? true:false;
+        return networkType.equalsIgnoreCase(NetworkHandler.NETWORK_TYPE_VLAN);
     }
 
     private void programLocalRules (String networkType, String segmentationId, Node node,
@@ -741,7 +734,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
         logger.debug("programLocalRules: node: {}, intf: {}, networkType: {}, segmentationId: {}",
                 node.getNodeId(), intf.getName(), networkType, segmentationId);
         try {
-            Long dpid = getIntegrationBridgeOFDPID(node);
+            long dpid = getIntegrationBridgeOFDPID(node);
             if (dpid == 0L) {
                 logger.debug("programLocalRules: Openflow Datapath-ID not set for the integration bridge in {}",
                         node);
@@ -820,7 +813,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
         logger.debug("removeLocalRules: node: {}, intf: {}, networkType: {}, segmentationId: {}",
                 node.getNodeId(), intf.getName(), networkType, segmentationId);
         try {
-            Long dpid = getIntegrationBridgeOFDPID(node);
+            long dpid = getIntegrationBridgeOFDPID(node);
             if (dpid == 0L) {
                 logger.debug("removeLocalRules: Openflow Datapath-ID not set for the integration bridge in {}", node);
                 return;
@@ -885,7 +878,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
                 + "segmentationId: {}, dstAddr: {}",
                 node.getNodeId(), intf.getName(), local, tunnelType, segmentationId, dst.getHostAddress());
         try {
-            Long dpid = getIntegrationBridgeOFDPID(node);
+            long dpid = getIntegrationBridgeOFDPID(node);
             if (dpid == 0L) {
                 logger.debug("programTunnelRules: Openflow Datapath-ID not set for the integration bridge in {}", node);
                 return;
@@ -919,15 +912,12 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
                         node.getNodeId().getValue(), intf.getName());
                     programRemoteEgressTunnelBridgeRules(node, dpid, segmentationId, attachedMac,
                             tunnelOFPort, localPort);
-                }
-
-                if (local) {
+                } else {
                     logger.trace("programTunnelRules: program local ingress tunnel rules: node {}, intf {}",
                             node.getNodeId().getValue(), intf.getName());
                     programLocalIngressTunnelBridgeRules(node, dpid, segmentationId, attachedMac,
                             tunnelOFPort, localPort);
                 }
-                return;
             }
         } catch (Exception e) {
             logger.trace("", e);
@@ -941,7 +931,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
                         + "segmentationId: {}, dstAddr: {}, isLastinstanceOnNode: {}",
                 node.getNodeId(), intf.getName(), local, tunnelType, segmentationId, dst, isLastInstanceOnNode);
         try {
-            Long dpid = getIntegrationBridgeOFDPID(node);
+            long dpid = getIntegrationBridgeOFDPID(node);
             if (dpid == 0L) {
                 logger.debug("removeTunnelRules: Openflow Datapath-ID not set for the integration bridge in {}", node);
                 return;
@@ -989,7 +979,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
     private void programVlanRules (NeutronNetwork network, Node node, OvsdbTerminationPointAugmentation intf) {
         logger.debug("programVlanRules: node: {}, network: {}, intf: {}",
                 node.getNodeId(), network.getNetworkUUID(), intf.getName());
-        Long dpid = getIntegrationBridgeOFDPID(node);
+        long dpid = getIntegrationBridgeOFDPID(node);
         if (dpid == 0L) {
             logger.debug("programVlanRules: Openflow Datapath-ID not set for the integration bridge in {}", node);
             return;
@@ -1027,7 +1017,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
                                   boolean isLastInstanceOnNode) {
         logger.debug("removeVlanRules: node: {}, network: {}, intf: {}, isLastInstanceOnNode",
                 node.getNodeId(), network.getNetworkUUID(), intf.getName(), isLastInstanceOnNode);
-        Long dpid = getIntegrationBridgeOFDPID(node);
+        long dpid = getIntegrationBridgeOFDPID(node);
         if (dpid == 0L) {
             logger.debug("removeVlanRules: Openflow Datapath-ID not set for the integration bridge in {}", node);
             return;
@@ -1078,7 +1068,7 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
             programVlanRules(network, srcNode, intf);
         } else if (isTunnel(networkType)){
 
-            boolean sourceTunnelStatus = false;
+            boolean sourceTunnelStatus;
             boolean destTunnelStatus = false;
             for (Node dstNode : nodes.values()) {
                 InetAddress src = configurationService.getTunnelEndPoint(srcNode);
@@ -1367,7 +1357,8 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
      * table=1,vlan_id=0x5,dl_dst=00:00:00:00:00:08 \
      * actions= goto_table:2"
      */
-
+    // TODO This method is referenced from commented code above (which needs to be checked)
+    @SuppressWarnings("unused")
     private void handleVlanOut(Long dpidLong, Short writeTable,
             Short goToTableId, String segmentationId,
             Long ethPort, String attachedMac, boolean write) {
@@ -1395,7 +1386,8 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
      * Example: table=1,priority=16384,vlan_id=0x5,dl_dst=ff:ff:ff:ff:ff:ff \
      * actions=output:eth1,goto_table:2
      */
-
+    // TODO This method is referenced from commented code above (which needs to be checked)
+    @SuppressWarnings("unused")
     private void handleVlanFloodOut(Long dpidLong, Short writeTable,
             Short localTable, String segmentationId,
             Long localPort, Long ethPort, boolean write) {
@@ -1500,7 +1492,8 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
      * Action: Drop w/ a low priority
      * table=2,priority=8192,vlan_id=0x5 actions=drop
      */
-
+    // TODO This method is referenced from commented code above (which needs to be checked)
+    @SuppressWarnings("unused")
     private void handleLocalVlanTableMiss(Long dpidLong, Short writeTable,
             String segmentationId, boolean write) {
         l2ForwardingProvider.programLocalVlanTableMiss(dpidLong, segmentationId, write);
@@ -1556,25 +1549,6 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
         }
     }
 
-    private Flow getFlow(FlowBuilder flowBuilder, NodeBuilder nodeBuilder) {
-        InstanceIdentifier<Flow> path1 = InstanceIdentifier.builder(Nodes.class).child(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory
-                .rev130819.nodes.Node.class, nodeBuilder.getKey()).augmentation(FlowCapableNode.class).child(Table.class,
-                        new TableKey(flowBuilder.getTableId())).child(Flow.class, flowBuilder.getKey()).build();
-
-        ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction();
-        try {
-            Optional<Flow> data = readTx.read(LogicalDatastoreType.CONFIGURATION, path1).get();
-            if (data.isPresent()) {
-                return data.get();
-            }
-        } catch (InterruptedException|ExecutionException e) {
-            logger.error(e.getMessage(), e);
-        }
-
-        logger.debug("Cannot find data for Flow " + flowBuilder.getFlowName());
-        return null;
-    }
-
     private void writeFlow(FlowBuilder flowBuilder, NodeBuilder nodeBuilder) {
         ReadWriteTransaction modification = dataBroker.newReadWriteTransaction();
         InstanceIdentifier<Flow> path1 =
@@ -1597,27 +1571,6 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
         }
     }
 
-    private void removeFlow(FlowBuilder flowBuilder, NodeBuilder nodeBuilder) {
-        WriteTransaction modification = dataBroker.newWriteOnlyTransaction();
-        InstanceIdentifier<Flow> path1 = InstanceIdentifier.builder(Nodes.class)
-                .child(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory
-                        .rev130819.nodes.Node.class, nodeBuilder.getKey())
-                        .augmentation(FlowCapableNode.class).child(Table.class,
-                                new TableKey(flowBuilder.getTableId())).child(Flow.class, flowBuilder.getKey()).build();
-        //modification.delete(LogicalDatastoreType.OPERATIONAL, nodeBuilderToInstanceId(nodeBuilder));
-        //modification.delete(LogicalDatastoreType.OPERATIONAL, path1);
-        //modification.delete(LogicalDatastoreType.CONFIGURATION, nodeBuilderToInstanceId(nodeBuilder));
-        modification.delete(LogicalDatastoreType.CONFIGURATION, path1);
-
-        CheckedFuture<Void, TransactionCommitFailedException> commitFuture = modification.submit();
-        try {
-            commitFuture.get();  // TODO: Make it async (See bug 1362)
-            logger.debug("Transaction success for deletion of Flow "+flowBuilder.getFlowName());
-        } catch (InterruptedException|ExecutionException e) {
-            logger.error(e.getMessage(), e);
-        }
-    }
-
     /**
      * Create Output Port Group Instruction
      *
@@ -1626,6 +1579,8 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
      * @param port     Long representing a port on a switch/node
      * @return ib InstructionBuilder Map with instructions
      */
+    // TODO This method is referenced from commented code in L2ForwardingService (which needs to be checked)
+    @SuppressWarnings("unused")
     protected InstructionBuilder createOutputGroupInstructions(NodeBuilder nodeBuilder,
             InstructionBuilder ib,
             Long dpidLong, Long port ,
@@ -1783,6 +1738,8 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
      * @param port     Long representing a port on a switch/node
      * @return ib InstructionBuilder Map with instructions
      */
+    // TODO This method is referenced from commented code in L2ForwardingService (which needs to be checked)
+    @SuppressWarnings("unused")
     protected boolean removeOutputPortFromGroup(NodeBuilder nodeBuilder, InstructionBuilder ib,
             Long dpidLong, Long port , List<Instruction> instructions) {
 
@@ -1946,9 +1903,9 @@ public class OF13Provider implements ConfigInterface, NetworkingProvider {
     @Override
     public void setDependencies(Object impl) {
         if (impl instanceof NetworkingProviderManager) {
-            networkingProviderManager = (NetworkingProviderManager)impl;
+            NetworkingProviderManager networkingProviderManager = (NetworkingProviderManager) impl;
             networkingProviderManager.providerAdded(
-                    bundleContext.getServiceReference(NetworkingProvider.class.getName()),this);
+                    bundleContext.getServiceReference(NetworkingProvider.class.getName()), this);
         }
     }
 }
index 580fa6c3f150935dd3640a5873a6eebd05200ff8..4dff41cf635594196109ff8540cb3911ce57c790 100644 (file)
@@ -16,8 +16,10 @@ import static org.mockito.Matchers.anyBoolean;
 import static org.mockito.Matchers.anyLong;
 import static org.mockito.Matchers.anyShort;
 import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.same;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import java.lang.reflect.Field;
@@ -52,7 +54,6 @@ import org.opendaylight.ovsdb.openstack.netvirt.api.TenantNetworkManager;
 import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-//import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
@@ -347,7 +348,7 @@ public class OF13ProviderTest {
         NeutronNetwork neutronNetwork = mock(NeutronNetwork.class);
         when(neutronNetwork.getProviderNetworkType()).thenReturn(NetworkHandler.NETWORK_TYPE_VLAN, NetworkHandler.NETWORK_TYPE_GRE);
         NodeCacheManager nodeCacheManager = mock(NodeCacheManager.class);
-        Map<NodeId, Node> nodes = new HashMap<NodeId, Node>();
+        Map<NodeId, Node> nodes = new HashMap<>();
         nodes.put(mock(NodeId.class), mock(Node.class));
         when(nodeCacheManager.getOvsdbNodes()).thenReturn(nodes);
         Southbound southbound = mock(Southbound.class);
@@ -388,7 +389,7 @@ public class OF13ProviderTest {
         when(nodeId.getValue()).thenReturn(ID);
         Node node = mock(Node.class);
         when(node.getNodeId()).thenReturn(nodeId);
-        Map<NodeId, Node> nodes = new HashMap<NodeId, Node>();
+        Map<NodeId, Node> nodes = new HashMap<>();
         nodes.put(mock(NodeId.class), node);
         when(nodeCacheManager.getOvsdbNodes()).thenReturn(nodes);
         Southbound southbound = mock(Southbound.class);
@@ -397,7 +398,7 @@ public class OF13ProviderTest {
         when(southbound.getOptionsValue(any(List.class), anyString())).thenReturn(IP);
         OvsdbTerminationPointAugmentation intf = mock(OvsdbTerminationPointAugmentation.class);
         when(intf.getName()).thenReturn(INTF);
-        List<String> intfs = new ArrayList<String>();
+        List<String> intfs = new ArrayList<>();
         intfs.add(INTF);
         BridgeConfigurationManager bridgeConfigurationManager = mock(BridgeConfigurationManager.class);
         when(bridgeConfigurationManager.getAllPhysicalInterfaceNames(any(Node.class))).thenReturn(intfs);
@@ -520,11 +521,11 @@ public class OF13ProviderTest {
         BundleContext bundleContext = mock(BundleContext.class);
         when(bundleContext.getServiceReference(NetworkingProvider.class.getName())).thenReturn(mock(ServiceReference.class));
 
-        MemberModifier.field(OF13Provider.class, "bundleContext").set(of13Provider , bundleContext);
+        MemberModifier.field(OF13Provider.class, "bundleContext").set(of13Provider, bundleContext);
 
         of13Provider.setDependencies(networkingProviderManager);
-        assertEquals("Error, did not return the correct object", getField("networkingProviderManager"), networkingProviderManager);
-}
+        verify(networkingProviderManager).providerAdded(any(ServiceReference.class), same(of13Provider));
+    }
 
     private Object getField(String fieldName) throws Exception {
         Field field = OF13Provider.class.getDeclaredField(fieldName);
index 05102cb7d6016a9f20a0db575c6b89ba1fdc5041..864cb08366222e4ae402c15779f76f9275cf4079 100755 (executable)
@@ -459,13 +459,10 @@ def showPrettyNamesMap():
     prtLn('aliasMap:', 0)
     resultMap = {}
     for bridge in state.bridgeNodes.values():
-        resultMap[ bridge.alias ] = bridge.getOpenflowName()
+        resultMap[ bridge.alias ] = '{0: <25} {1: <7} {2}'.format(bridge.getOpenflowName(), bridge.name, bridge.dpId)
 
-    resultMapKeys = resultMap.keys()
-    resultMapKeys.sort()
-
-    for resultMapKey in resultMapKeys:
-        prtLn('{0}{1: <10} -> {2}'.format(spc, resultMapKey, resultMap[resultMapKey]), 0)
+    for resultMapKey in sorted(resultMap):
+        prtLn('{0}{1: <10} ->  {2}'.format(spc, resultMapKey, resultMap[resultMapKey]), 0)
     prtLn('', 0)
 
 # --