From c41094154d8956b2c4b134a4807f0972d545e170 Mon Sep 17 00:00:00 2001 From: Murali reddy Date: Thu, 28 Jun 2012 17:23:41 -0700 Subject: [PATCH] moving out OVS code to plugins/network-elements/ovs --- build/build-cloud-plugins.xml | 11 +- client/tomcatconf/components.xml.in | 3 + plugins/network-elements/ovs/.classpath | 11 ++ plugins/network-elements/ovs/.project | 17 +++ plugins/network-elements/ovs/build.xml | 129 ++++++++++++++++++ .../com/cloud/network/element/OvsElement.java | 0 .../network/guru/OvsGuestNetworkGuru.java | 0 .../cloud/network/ovs/GreTunnelException.java | 0 .../network/ovs/OvsCreateGreTunnelAnswer.java | 0 .../ovs/OvsCreateGreTunnelCommand.java | 0 .../network/ovs/OvsCreateTunnelAnswer.java | 0 .../network/ovs/OvsCreateTunnelCommand.java | 0 .../network/ovs/OvsDeleteFlowCommand.java | 0 .../network/ovs/OvsDestroyBridgeCommand.java | 0 .../network/ovs/OvsDestroyTunnelCommand.java | 0 .../network/ovs/OvsFetchInterfaceAnswer.java | 0 .../network/ovs/OvsFetchInterfaceCommand.java | 0 .../network/ovs/OvsSetTagAndFlowAnswer.java | 0 .../network/ovs/OvsSetTagAndFlowCommand.java | 0 .../network/ovs/OvsSetupBridgeCommand.java | 0 .../cloud/network/ovs/OvsTunnelManager.java | 0 .../network/ovs/OvsTunnelManagerImpl.java | 0 .../ovs/dao/OvsTunnelInterfaceDao.java | 0 .../ovs/dao/OvsTunnelInterfaceDaoImpl.java | 0 .../network/ovs/dao/OvsTunnelInterfaceVO.java | 0 .../network/ovs/dao/OvsTunnelNetworkDao.java | 0 .../ovs/dao/OvsTunnelNetworkDaoImpl.java | 0 .../network/ovs/dao/OvsTunnelNetworkVO.java | 0 .../DefaultComponentLibrary.java | 6 - .../guru/ExternalGuestNetworkGuru.java | 21 +-- 30 files changed, 180 insertions(+), 18 deletions(-) create mode 100644 plugins/network-elements/ovs/.classpath create mode 100644 plugins/network-elements/ovs/.project create mode 100755 plugins/network-elements/ovs/build.xml rename {server => plugins/network-elements/ovs}/src/com/cloud/network/element/OvsElement.java (100%) rename {server => plugins/network-elements/ovs}/src/com/cloud/network/guru/OvsGuestNetworkGuru.java (100%) rename {server => plugins/network-elements/ovs}/src/com/cloud/network/ovs/GreTunnelException.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsCreateGreTunnelAnswer.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsCreateGreTunnelCommand.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsCreateTunnelCommand.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsDeleteFlowCommand.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsDestroyBridgeCommand.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsDestroyTunnelCommand.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsFetchInterfaceAnswer.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsFetchInterfaceCommand.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsSetTagAndFlowAnswer.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsSetTagAndFlowCommand.java (100%) rename {api => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsSetupBridgeCommand.java (100%) rename {server => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsTunnelManager.java (100%) rename {server => plugins/network-elements/ovs}/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java (100%) rename {server => plugins/network-elements/ovs}/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceDao.java (100%) rename {server => plugins/network-elements/ovs}/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceDaoImpl.java (100%) rename {server => plugins/network-elements/ovs}/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceVO.java (100%) rename {server => plugins/network-elements/ovs}/src/com/cloud/network/ovs/dao/OvsTunnelNetworkDao.java (100%) rename {server => plugins/network-elements/ovs}/src/com/cloud/network/ovs/dao/OvsTunnelNetworkDaoImpl.java (100%) rename {server => plugins/network-elements/ovs}/src/com/cloud/network/ovs/dao/OvsTunnelNetworkVO.java (100%) diff --git a/build/build-cloud-plugins.xml b/build/build-cloud-plugins.xml index 53dc1d34d85..a464de99661 100755 --- a/build/build-cloud-plugins.xml +++ b/build/build-cloud-plugins.xml @@ -207,7 +207,7 @@ - + @@ -279,8 +279,8 @@ - - + + @@ -297,4 +297,9 @@ + + + + + diff --git a/client/tomcatconf/components.xml.in b/client/tomcatconf/components.xml.in index 5add24cfd55..be3218e0ae4 100755 --- a/client/tomcatconf/components.xml.in +++ b/client/tomcatconf/components.xml.in @@ -158,6 +158,7 @@ + @@ -165,6 +166,8 @@ + + diff --git a/plugins/network-elements/ovs/.classpath b/plugins/network-elements/ovs/.classpath new file mode 100644 index 00000000000..a3f5d12a4c8 --- /dev/null +++ b/plugins/network-elements/ovs/.classpath @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/plugins/network-elements/ovs/.project b/plugins/network-elements/ovs/.project new file mode 100644 index 00000000000..0423b307112 --- /dev/null +++ b/plugins/network-elements/ovs/.project @@ -0,0 +1,17 @@ + + + ovs + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/plugins/network-elements/ovs/build.xml b/plugins/network-elements/ovs/build.xml new file mode 100755 index 00000000000..718720b7736 --- /dev/null +++ b/plugins/network-elements/ovs/build.xml @@ -0,0 +1,129 @@ + + + + + + + Cloud Stack ant build file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/server/src/com/cloud/network/element/OvsElement.java b/plugins/network-elements/ovs/src/com/cloud/network/element/OvsElement.java similarity index 100% rename from server/src/com/cloud/network/element/OvsElement.java rename to plugins/network-elements/ovs/src/com/cloud/network/element/OvsElement.java diff --git a/server/src/com/cloud/network/guru/OvsGuestNetworkGuru.java b/plugins/network-elements/ovs/src/com/cloud/network/guru/OvsGuestNetworkGuru.java similarity index 100% rename from server/src/com/cloud/network/guru/OvsGuestNetworkGuru.java rename to plugins/network-elements/ovs/src/com/cloud/network/guru/OvsGuestNetworkGuru.java diff --git a/server/src/com/cloud/network/ovs/GreTunnelException.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/GreTunnelException.java similarity index 100% rename from server/src/com/cloud/network/ovs/GreTunnelException.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/GreTunnelException.java diff --git a/api/src/com/cloud/network/ovs/OvsCreateGreTunnelAnswer.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsCreateGreTunnelAnswer.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsCreateGreTunnelAnswer.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsCreateGreTunnelAnswer.java diff --git a/api/src/com/cloud/network/ovs/OvsCreateGreTunnelCommand.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsCreateGreTunnelCommand.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsCreateGreTunnelCommand.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsCreateGreTunnelCommand.java diff --git a/api/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java diff --git a/api/src/com/cloud/network/ovs/OvsCreateTunnelCommand.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsCreateTunnelCommand.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsCreateTunnelCommand.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsCreateTunnelCommand.java diff --git a/api/src/com/cloud/network/ovs/OvsDeleteFlowCommand.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsDeleteFlowCommand.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsDeleteFlowCommand.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsDeleteFlowCommand.java diff --git a/api/src/com/cloud/network/ovs/OvsDestroyBridgeCommand.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsDestroyBridgeCommand.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsDestroyBridgeCommand.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsDestroyBridgeCommand.java diff --git a/api/src/com/cloud/network/ovs/OvsDestroyTunnelCommand.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsDestroyTunnelCommand.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsDestroyTunnelCommand.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsDestroyTunnelCommand.java diff --git a/api/src/com/cloud/network/ovs/OvsFetchInterfaceAnswer.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsFetchInterfaceAnswer.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsFetchInterfaceAnswer.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsFetchInterfaceAnswer.java diff --git a/api/src/com/cloud/network/ovs/OvsFetchInterfaceCommand.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsFetchInterfaceCommand.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsFetchInterfaceCommand.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsFetchInterfaceCommand.java diff --git a/api/src/com/cloud/network/ovs/OvsSetTagAndFlowAnswer.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsSetTagAndFlowAnswer.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsSetTagAndFlowAnswer.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsSetTagAndFlowAnswer.java diff --git a/api/src/com/cloud/network/ovs/OvsSetTagAndFlowCommand.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsSetTagAndFlowCommand.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsSetTagAndFlowCommand.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsSetTagAndFlowCommand.java diff --git a/api/src/com/cloud/network/ovs/OvsSetupBridgeCommand.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsSetupBridgeCommand.java similarity index 100% rename from api/src/com/cloud/network/ovs/OvsSetupBridgeCommand.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsSetupBridgeCommand.java diff --git a/server/src/com/cloud/network/ovs/OvsTunnelManager.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManager.java similarity index 100% rename from server/src/com/cloud/network/ovs/OvsTunnelManager.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManager.java diff --git a/server/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java similarity index 100% rename from server/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java diff --git a/server/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceDao.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceDao.java similarity index 100% rename from server/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceDao.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceDao.java diff --git a/server/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceDaoImpl.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceDaoImpl.java similarity index 100% rename from server/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceDaoImpl.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceDaoImpl.java diff --git a/server/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceVO.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceVO.java similarity index 100% rename from server/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceVO.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelInterfaceVO.java diff --git a/server/src/com/cloud/network/ovs/dao/OvsTunnelNetworkDao.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelNetworkDao.java similarity index 100% rename from server/src/com/cloud/network/ovs/dao/OvsTunnelNetworkDao.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelNetworkDao.java diff --git a/server/src/com/cloud/network/ovs/dao/OvsTunnelNetworkDaoImpl.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelNetworkDaoImpl.java similarity index 100% rename from server/src/com/cloud/network/ovs/dao/OvsTunnelNetworkDaoImpl.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelNetworkDaoImpl.java diff --git a/server/src/com/cloud/network/ovs/dao/OvsTunnelNetworkVO.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelNetworkVO.java similarity index 100% rename from server/src/com/cloud/network/ovs/dao/OvsTunnelNetworkVO.java rename to plugins/network-elements/ovs/src/com/cloud/network/ovs/dao/OvsTunnelNetworkVO.java diff --git a/server/src/com/cloud/configuration/DefaultComponentLibrary.java b/server/src/com/cloud/configuration/DefaultComponentLibrary.java index 61b6861df89..ca0b406f6fc 100755 --- a/server/src/com/cloud/configuration/DefaultComponentLibrary.java +++ b/server/src/com/cloud/configuration/DefaultComponentLibrary.java @@ -99,9 +99,6 @@ import com.cloud.network.firewall.FirewallManagerImpl; import com.cloud.network.lb.ElasticLoadBalancerManagerImpl; import com.cloud.network.lb.LoadBalancingRulesManagerImpl; import com.cloud.network.lb.dao.ElasticLbVmMapDaoImpl; -import com.cloud.network.ovs.OvsTunnelManagerImpl; -import com.cloud.network.ovs.dao.OvsTunnelInterfaceDaoImpl; -import com.cloud.network.ovs.dao.OvsTunnelNetworkDaoImpl; import com.cloud.network.router.VirtualNetworkApplianceManagerImpl; import com.cloud.network.rules.RulesManagerImpl; import com.cloud.network.rules.dao.PortForwardingRulesDaoImpl; @@ -286,8 +283,6 @@ public class DefaultComponentLibrary extends ComponentLibraryBase implements Com addDao("UsageEventDao", UsageEventDaoImpl.class); addDao("ClusterDetailsDao", ClusterDetailsDaoImpl.class); addDao("UserVmDetailsDao", UserVmDetailsDaoImpl.class); - addDao("OvsTunnelInterfaceDao", OvsTunnelInterfaceDaoImpl.class); - addDao("OvsTunnelAccountDao", OvsTunnelNetworkDaoImpl.class); addDao("StoragePoolWorkDao", StoragePoolWorkDaoImpl.class); addDao("HostTagsDao", HostTagsDaoImpl.class); addDao("NetworkDomainDao", NetworkDomainDaoImpl.class); @@ -360,7 +355,6 @@ public class DefaultComponentLibrary extends ComponentLibraryBase implements Com addManager("LoadBalancingRulesManager", LoadBalancingRulesManagerImpl.class); addManager("RulesManager", RulesManagerImpl.class); addManager("RemoteAccessVpnManager", RemoteAccessVpnManagerImpl.class); - addManager("OvsTunnelManager", OvsTunnelManagerImpl.class); addManager("Capacity Manager", CapacityManagerImpl.class); addManager("VirtualMachineManager", ClusteredVirtualMachineManagerImpl.class); addManager("HypervisorGuruManager", HypervisorGuruManagerImpl.class); diff --git a/server/src/com/cloud/network/guru/ExternalGuestNetworkGuru.java b/server/src/com/cloud/network/guru/ExternalGuestNetworkGuru.java index 6c381f2b18e..b887fc6b307 100644 --- a/server/src/com/cloud/network/guru/ExternalGuestNetworkGuru.java +++ b/server/src/com/cloud/network/guru/ExternalGuestNetworkGuru.java @@ -35,7 +35,6 @@ import com.cloud.network.Networks.BroadcastDomainType; import com.cloud.network.PhysicalNetworkVO; import com.cloud.network.dao.NetworkDao; import com.cloud.network.dao.PhysicalNetworkDao; -import com.cloud.network.ovs.OvsTunnelManager; import com.cloud.network.rules.PortForwardingRuleVO; import com.cloud.network.rules.dao.PortForwardingRulesDao; import com.cloud.offering.NetworkOffering; @@ -64,12 +63,13 @@ public class ExternalGuestNetworkGuru extends GuestNetworkGuru { DataCenterDao _zoneDao; @Inject PortForwardingRulesDao _pfRulesDao; - @Inject - OvsTunnelManager _tunnelMgr; + //FIXME: why there is dependency on Ovs tunnel manager. + @Override public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { - if (_tunnelMgr.isOvsTunnelEnabled()) { + + if (Boolean.parseBoolean(_configDao.getValue(Config.OvsTunnelNetwork.key()))) { return null; } @@ -88,7 +88,7 @@ public class ExternalGuestNetworkGuru extends GuestNetworkGuru { public Network implement(Network config, NetworkOffering offering, DeployDestination dest, ReservationContext context) throws InsufficientVirtualNetworkCapcityException { assert (config.getState() == State.Implementing) : "Why are we implementing " + config; - if (_tunnelMgr.isOvsTunnelEnabled()) { + if (Boolean.parseBoolean(_configDao.getValue(Config.OvsTunnelNetwork.key()))) { return null; } @@ -171,7 +171,8 @@ public class ExternalGuestNetworkGuru extends GuestNetworkGuru { NicProfile profile = super.allocate(config, nic, vm); - if (_tunnelMgr.isOvsTunnelEnabled()) { + boolean _isEnabled = Boolean.parseBoolean(_configDao.getValue(Config.OvsTunnelNetwork.key())); + if (_isEnabled) { return null; } @@ -190,7 +191,7 @@ public class ExternalGuestNetworkGuru extends GuestNetworkGuru { public void deallocate(Network config, NicProfile nic, VirtualMachineProfile vm) { super.deallocate(config, nic, vm); - if (_tunnelMgr.isOvsTunnelEnabled()) { + if (Boolean.parseBoolean(_configDao.getValue(Config.OvsTunnelNetwork.key()))) { return; } @@ -207,7 +208,8 @@ public class ExternalGuestNetworkGuru extends GuestNetworkGuru { public void reserve(NicProfile nic, Network config, VirtualMachineProfile vm, DeployDestination dest, ReservationContext context) throws InsufficientVirtualNetworkCapcityException, InsufficientAddressCapacityException { assert (nic.getReservationStrategy() == ReservationStrategy.Start) : "What can I do for nics that are not allocated at start? "; - if (_tunnelMgr.isOvsTunnelEnabled()) { + boolean _isEnabled = Boolean.parseBoolean(_configDao.getValue(Config.OvsTunnelNetwork.key())); + if (_isEnabled) { return; } @@ -241,7 +243,8 @@ public class ExternalGuestNetworkGuru extends GuestNetworkGuru { @Override public boolean release(NicProfile nic, VirtualMachineProfile vm, String reservationId) { - if (_tunnelMgr.isOvsTunnelEnabled()) { + + if (Boolean.parseBoolean(_configDao.getValue(Config.OvsTunnelNetwork.key()))) { return true; }