Rename MdsalUtils to be Southbound and remove statics
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / impl / BridgeConfigurationManagerImpl.java
index f95f8ce4017f8162de54f7f591180990a1878e9b..0484075c07daa426b01653de874d771ae6b8fa78 100644 (file)
@@ -8,13 +8,15 @@
 package org.opendaylight.ovsdb.openstack.netvirt.impl;
 
 import org.opendaylight.neutron.spi.NeutronNetwork;
-import org.opendaylight.ovsdb.openstack.netvirt.MdsalUtils;
+import org.opendaylight.ovsdb.openstack.netvirt.ConfigInterface;
 import org.opendaylight.ovsdb.openstack.netvirt.NetworkHandler;
 import org.opendaylight.ovsdb.openstack.netvirt.api.BridgeConfigurationManager;
 import org.opendaylight.ovsdb.openstack.netvirt.api.ConfigurationService;
 import org.opendaylight.ovsdb.openstack.netvirt.api.NetworkingProviderManager;
 import org.opendaylight.ovsdb.openstack.netvirt.api.OvsdbTables;
+import org.opendaylight.ovsdb.openstack.netvirt.api.Southbound;
 import org.opendaylight.ovsdb.utils.config.ConfigProperties;
+import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ConnectionInfo;
@@ -28,6 +30,8 @@ import java.net.UnknownHostException;
 import java.util.Enumeration;
 import java.util.List;
 import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -36,60 +40,65 @@ import org.slf4j.LoggerFactory;
  * @author Brent Salisbury
  * @author Sam Hague (shague@redhat.com)
  */
-public class BridgeConfigurationManagerImpl implements BridgeConfigurationManager {
+public class BridgeConfigurationManagerImpl implements BridgeConfigurationManager, ConfigInterface {
     static final Logger LOGGER = LoggerFactory.getLogger(BridgeConfigurationManagerImpl.class);
 
     // The implementation for each of these services is resolved by the OSGi Service Manager
     private volatile ConfigurationService configurationService;
     private volatile NetworkingProviderManager networkingProviderManager;
+    private volatile Southbound southbound;
 
-    void init() {
-        LOGGER.info(">>>>>> init {}", this.getClass());
+    public void setConfigurationService(ConfigurationService configurationService) {
+        this.configurationService = configurationService;
+    }
+
+    public void setSouthbound(Southbound southbound) {
+        this.southbound = southbound;
     }
 
     @Override
     public String getBridgeUuid(Node node, String bridgeName) {
-        return MdsalUtils.getBridgeUuid(node, bridgeName).toString();
+        return southbound.getBridgeUuid(node, bridgeName);
     }
 
     @Override
     public boolean isNodeNeutronReady(Node node) {
         Preconditions.checkNotNull(configurationService);
-        return MdsalUtils.getBridge(node, configurationService.getIntegrationBridgeName()) != null;
+        return southbound.getBridge(node, configurationService.getIntegrationBridgeName()) != null;
     }
 
     @Override
     public boolean isNodeOverlayReady(Node node) {
         Preconditions.checkNotNull(configurationService);
         return isNodeNeutronReady(node)
-                && MdsalUtils.getBridge(node, configurationService.getNetworkBridgeName()) != null;
+                && southbound.getBridge(node, configurationService.getNetworkBridgeName()) != null;
     }
 
     @Override
     public boolean isPortOnBridge (Node node, String portName) {
-        return MdsalUtils.extractTerminationPointAugmentation(node, portName) != null;
+        return southbound.extractTerminationPointAugmentation(node, portName) != null;
     }
 
     @Override
     public boolean isNodeTunnelReady(Node node) {
         Preconditions.checkNotNull(configurationService);
-        return MdsalUtils.getBridge(node, configurationService.getIntegrationBridgeName()) != null;
+        return southbound.getBridge(node, configurationService.getIntegrationBridgeName()) != null;
     }
 
     @Override
     public boolean isNodeVlanReady(Node node, NeutronNetwork network) {
-        Preconditions.checkNotNull(networkingProviderManager);
+        Preconditions.checkNotNull(configurationService);
 
         /* is br-int created */
-        OvsdbBridgeAugmentation intBridge = MdsalUtils.getBridge(node, configurationService.getIntegrationBridgeName());
+        OvsdbBridgeAugmentation intBridge = southbound.getBridge(node, configurationService.getIntegrationBridgeName());
         if (intBridge == null) {
             LOGGER.trace("isNodeVlanReady: node: {}, br-int missing", node);
             return false;
         }
 
         /* Check if physical device is added to br-int. */
-        String phyNetName = this.getPhysicalInterfaceName(node, network.getProviderPhysicalNetwork());
-        if (MdsalUtils.extractTerminationPointAugmentation(node, phyNetName) == null) {
+        String phyNetName = getPhysicalInterfaceName(node, network.getProviderPhysicalNetwork());
+        if (southbound.extractTerminationPointAugmentation(node, phyNetName) == null) {
             LOGGER.trace("isNodeVlanReady: node: {}, eth missing", node);
             return false;
         }
@@ -99,7 +108,7 @@ public class BridgeConfigurationManagerImpl implements BridgeConfigurationManage
 
     @Override
     public void prepareNode(Node node) {
-        Preconditions.checkNotNull(networkingProviderManager);
+        //Preconditions.checkNotNull(networkingProviderManager);
 
         try {
             createIntegrationBridge(node);
@@ -147,7 +156,7 @@ public class BridgeConfigurationManagerImpl implements BridgeConfigurationManage
     @Override
     public String getPhysicalInterfaceName (Node node, String physicalNetwork) {
         String phyIf = null;
-        String providerMaps = MdsalUtils.getOtherConfig(node, OvsdbTables.OPENVSWITCH,
+        String providerMaps = southbound.getOtherConfig(node, OvsdbTables.OPENVSWITCH,
                 configurationService.getProviderMappingsKey());
         if (providerMaps == null) {
             providerMaps = configurationService.getDefaultProviderMapping();
@@ -175,7 +184,7 @@ public class BridgeConfigurationManagerImpl implements BridgeConfigurationManage
     public List<String> getAllPhysicalInterfaceNames(Node node) {
         List<String> phyIfName = Lists.newArrayList();
         String phyIf = null;
-        String providerMaps = MdsalUtils.getOtherConfig(node, OvsdbTables.OPENVSWITCH,
+        String providerMaps = southbound.getOtherConfig(node, OvsdbTables.OPENVSWITCH,
                 configurationService.getProviderMappingsKey());
         if (providerMaps == null) {
             providerMaps = configurationService.getDefaultProviderMapping();
@@ -309,8 +318,8 @@ public class BridgeConfigurationManagerImpl implements BridgeConfigurationManage
     private boolean addPortToBridge (Node node, String bridgeName, String portName) throws Exception {
         boolean rv = true;
 
-        if (MdsalUtils.extractTerminationPointAugmentation(node, portName) == null) {
-            rv = MdsalUtils.addTerminationPoint(node, bridgeName, portName, null);
+        if (southbound.extractTerminationPointAugmentation(node, portName) == null) {
+            rv = southbound.addTerminationPoint(node, bridgeName, portName, null);
         }
 
         return rv;
@@ -322,8 +331,8 @@ public class BridgeConfigurationManagerImpl implements BridgeConfigurationManage
     private boolean addPatchPort (Node node, String bridgeName, String portName, String peerPortName) throws Exception {
         boolean rv = true;
 
-        if (MdsalUtils.extractTerminationPointAugmentation(node, portName) == null) {
-            rv = MdsalUtils.addPatchTerminationPoint(node, bridgeName, portName, peerPortName);
+        if (southbound.extractTerminationPointAugmentation(node, portName) == null) {
+            rv = southbound.addPatchTerminationPoint(node, bridgeName, portName, peerPortName);
         }
 
         return rv;
@@ -335,8 +344,8 @@ public class BridgeConfigurationManagerImpl implements BridgeConfigurationManage
     private boolean addBridge(Node node, String bridgeName,
                               String localPatchName, String remotePatchName) throws Exception {
         boolean rv = true;
-        if (MdsalUtils.getBridge(node, bridgeName) == null) {
-            rv = MdsalUtils.addBridge(node, bridgeName, getControllerTarget(node));
+        if (southbound.getBridge(node, bridgeName) == null) {
+            rv = southbound.addBridge(node, bridgeName, getControllerTarget(node));
         }
         return rv;
     }
@@ -408,7 +417,7 @@ public class BridgeConfigurationManagerImpl implements BridgeConfigurationManage
 
     private String getControllerTarget(Node node) {
         String target = null;
-        OvsdbNodeAugmentation ovsdbNodeAugmentation = MdsalUtils.extractOvsdbNode(node);
+        OvsdbNodeAugmentation ovsdbNodeAugmentation = southbound.extractOvsdbNode(node);
         if (ovsdbNodeAugmentation != null) {
             ConnectionInfo connectionInfo = ovsdbNodeAugmentation.getConnectionInfo();
             String addressStr = new String(connectionInfo.getLocalIp().getValue());
@@ -445,4 +454,17 @@ public class BridgeConfigurationManagerImpl implements BridgeConfigurationManage
         }
         return "tcp:"+ipaddress+":6633";
     }
+
+    @Override
+    public void setDependencies(BundleContext bundleContext, ServiceReference serviceReference) {
+        configurationService =
+                (ConfigurationService) ServiceHelper.getGlobalInstance(ConfigurationService.class, this);
+        networkingProviderManager =
+                (NetworkingProviderManager) ServiceHelper.getGlobalInstance(NetworkingProviderManager.class, this);
+        southbound =
+                (Southbound) ServiceHelper.getGlobalInstance(Southbound.class, this);
+    }
+
+    @Override
+    public void setDependencies(Object impl) {}
 }