diff --git a/build/build-cloud-plugins.xml b/build/build-cloud-plugins.xml
index dcadb93184a..61b0e624901 100755
--- a/build/build-cloud-plugins.xml
+++ b/build/build-cloud-plugins.xml
@@ -279,8 +279,8 @@
-
-
+
+
@@ -302,6 +302,11 @@
+
+
+
+
+
diff --git a/client/tomcatconf/components.xml.in b/client/tomcatconf/components.xml.in
index e4e062a27f3..f36355d4ff3 100755
--- a/client/tomcatconf/components.xml.in
+++ b/client/tomcatconf/components.xml.in
@@ -159,6 +159,7 @@
+
@@ -172,6 +173,7 @@
+
diff --git a/plugins/network-elements/elastic-loadbalancer/.classpath b/plugins/network-elements/elastic-loadbalancer/.classpath
new file mode 100644
index 00000000000..a3f5d12a4c8
--- /dev/null
+++ b/plugins/network-elements/elastic-loadbalancer/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/network-elements/elastic-loadbalancer/.project b/plugins/network-elements/elastic-loadbalancer/.project
new file mode 100644
index 00000000000..6165661a650
--- /dev/null
+++ b/plugins/network-elements/elastic-loadbalancer/.project
@@ -0,0 +1,17 @@
+
+
+ elastic-loadbalancer
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/plugins/network-elements/elastic-loadbalancer/build.xml b/plugins/network-elements/elastic-loadbalancer/build.xml
new file mode 100755
index 00000000000..66e42cedbd2
--- /dev/null
+++ b/plugins/network-elements/elastic-loadbalancer/build.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+ Cloud Stack ant build file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/server/src/com/cloud/network/ElasticLbVmMapVO.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/ElasticLbVmMapVO.java
similarity index 100%
rename from server/src/com/cloud/network/ElasticLbVmMapVO.java
rename to plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/ElasticLbVmMapVO.java
diff --git a/server/src/com/cloud/network/element/ElasticLoadBalancerElement.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/element/ElasticLoadBalancerElement.java
similarity index 100%
rename from server/src/com/cloud/network/element/ElasticLoadBalancerElement.java
rename to plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/element/ElasticLoadBalancerElement.java
diff --git a/server/src/com/cloud/network/lb/ElasticLoadBalancerManager.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManager.java
similarity index 100%
rename from server/src/com/cloud/network/lb/ElasticLoadBalancerManager.java
rename to plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManager.java
diff --git a/server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
similarity index 100%
rename from server/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
rename to plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
diff --git a/server/src/com/cloud/network/lb/dao/ElasticLbVmMapDao.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDao.java
similarity index 100%
rename from server/src/com/cloud/network/lb/dao/ElasticLbVmMapDao.java
rename to plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDao.java
diff --git a/server/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
similarity index 100%
rename from server/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
rename to plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
diff --git a/server/src/com/cloud/configuration/DefaultComponentLibrary.java b/server/src/com/cloud/configuration/DefaultComponentLibrary.java
index 821c6ed5205..f6db30bf7b7 100755
--- a/server/src/com/cloud/configuration/DefaultComponentLibrary.java
+++ b/server/src/com/cloud/configuration/DefaultComponentLibrary.java
@@ -100,9 +100,7 @@ import com.cloud.network.dao.VpnUserDaoImpl;
import com.cloud.network.element.VirtualRouterElement;
import com.cloud.network.element.VirtualRouterElementService;
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.router.VirtualNetworkApplianceManagerImpl;
import com.cloud.network.rules.RulesManagerImpl;
import com.cloud.network.rules.dao.PortForwardingRulesDaoImpl;
@@ -296,7 +294,6 @@ public class DefaultComponentLibrary extends ComponentLibraryBase implements Com
addDao("AgentTransferMapDao", HostTransferMapDaoImpl.class);
addDao("ProjectDao", ProjectDaoImpl.class);
addDao("InlineLoadBalancerNicMapDao", InlineLoadBalancerNicMapDaoImpl.class);
- addDao("ElasticLbVmMap", ElasticLbVmMapDaoImpl.class);
addDao("ProjectsAccountDao", ProjectAccountDaoImpl.class);
addDao("ProjectInvitationDao", ProjectInvitationDaoImpl.class);
addDao("IdentityDao", IdentityDaoImpl.class);
@@ -369,7 +366,6 @@ public class DefaultComponentLibrary extends ComponentLibraryBase implements Com
ComponentInfo extends Manager> info = addManager("ConsoleProxyManager", ConsoleProxyManagerImpl.class);
info.addParameter("consoleproxy.sslEnabled", "true");
addManager("ProjectManager", ProjectManagerImpl.class);
- addManager("ElasticLoadBalancerManager", ElasticLoadBalancerManagerImpl.class);
addManager("SwiftManager", SwiftManagerImpl.class);
addManager("StorageNetworkManager", StorageNetworkManagerImpl.class);
addManager("ExternalLoadBalancerUsageManager", ExternalLoadBalancerUsageManagerImpl.class);
diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
index 17a8cdc6ad7..29d6f392391 100755
--- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
+++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
@@ -151,8 +151,6 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesMa
@Inject
FirewallManager _firewallMgr;
@Inject
- ElasticLoadBalancerManager _elbMgr;
- @Inject
NetworkDao _networkDao;
@Inject
FirewallRulesDao _firewallDao;
@@ -684,7 +682,9 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesMa
_firewallDao.remove(lb.getId());
}
- _elbMgr.handleDeleteLoadBalancerRule(lb, callerUserId, caller);
+ // FIXME: breaking the dependency on ELB manager. This breaks functionality of ELB using virtual router
+ // Bug CS-15411 opened to document this
+ //_elbMgr.handleDeleteLoadBalancerRule(lb, callerUserId, caller);
if (success) {
s_logger.debug("Load balancer with id " + lb.getId() + " is removed successfully");
@@ -726,7 +726,10 @@ public class LoadBalancingRulesManagerImpl implements LoadBalancingRulesMa
_networkMgr.checkIpForService(ipAddressVo, Service.Lb);
}
- LoadBalancer result = _elbMgr.handleCreateLoadBalancerRule(lb, lbOwner, lb.getNetworkId());
+ // FIXME: breaking the dependency on ELB manager. This breaks functionality of ELB using virtual router
+ // Bug CS-15411 opened to document this
+ //LoadBalancer result = _elbMgr.handleCreateLoadBalancerRule(lb, lbOwner, lb.getNetworkId());
+ LoadBalancer result = null;
if (result == null) {
IpAddress ip = null;
Network guestNetwork = _networkMgr.getNetwork(lb.getNetworkId());