From f0018b451281bf02964dbe71d704c9a931783cae Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Tue, 9 Apr 2013 12:56:42 -0700 Subject: [PATCH] Internal LB: 1)Added InternalLoadBalancerManager and corresponding Impl 2)Add InternalLbVm as a default CS provider. DB upgrade is covered as well --- api/src/com/cloud/network/Network.java | 2 +- api/src/com/cloud/vm/VirtualMachine.java | 3 +- client/pom.xml | 5 + client/tomcatconf/applicationContext.xml.in | 6 +- client/tomcatconf/componentContext.xml.in | 1 + .../lb/ElasticLoadBalancerManager.java | 2 +- .../element/InternalLoadBalancerElement.java | 16 +- .../lb/InternalLoadBalancerManager.java | 23 +++ .../lb/InternalLoadBalancerManagerImpl.java | 148 ++++++++++++++++++ .../com/cloud/network/NetworkServiceImpl.java | 18 +++ 10 files changed, 211 insertions(+), 13 deletions(-) rename plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/{ => network}/element/InternalLoadBalancerElement.java (97%) create mode 100644 plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerManager.java create mode 100644 plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerManagerImpl.java diff --git a/api/src/com/cloud/network/Network.java b/api/src/com/cloud/network/Network.java index 9f1e579f1c1..5bb218b7284 100644 --- a/api/src/com/cloud/network/Network.java +++ b/api/src/com/cloud/network/Network.java @@ -125,7 +125,7 @@ public interface Network extends ControlledEntity, StateObject, I public static final Provider None = new Provider("None", false); // NiciraNvp is not an "External" provider, otherwise we get in trouble with NetworkServiceImpl.providersConfiguredForExternalNetworking public static final Provider NiciraNvp = new Provider("NiciraNvp", false); - public static final Provider InternalLoadBalancerVm = new Provider("InternalLoadBalancerVm", false); + public static final Provider InternalLbVm = new Provider("InternalLbVm", false); private String name; private boolean isExternal; diff --git a/api/src/com/cloud/vm/VirtualMachine.java b/api/src/com/cloud/vm/VirtualMachine.java index 8f807d450c7..ce9add62469 100755 --- a/api/src/com/cloud/vm/VirtualMachine.java +++ b/api/src/com/cloud/vm/VirtualMachine.java @@ -186,6 +186,7 @@ public interface VirtualMachine extends RunningOn, ControlledEntity, Identity, I SecondaryStorageVm, ElasticIpVm, ElasticLoadBalancerVm, + InternalLoadBalancerVm, /* * UserBareMetal is only used for selecting VirtualMachineGuru, there is no @@ -196,7 +197,7 @@ public interface VirtualMachine extends RunningOn, ControlledEntity, Identity, I public static boolean isSystemVM(VirtualMachine.Type vmtype) { if (DomainRouter.equals(vmtype) || ConsoleProxy.equals(vmtype) - || SecondaryStorageVm.equals(vmtype)) { + || SecondaryStorageVm.equals(vmtype) || InternalLoadBalancerVm.equals(vmtype)) { return true; } return false; diff --git a/client/pom.xml b/client/pom.xml index b3d7acb08a8..fbc0acd4bba 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -85,6 +85,11 @@ cloud-plugin-network-midonet ${project.version} + + org.apache.cloudstack + cloud-plugin-network-internallb + ${project.version} + org.apache.cloudstack cloud-plugin-hypervisor-xen diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in index 0bb497bea7e..9fa32341607 100644 --- a/client/tomcatconf/applicationContext.xml.in +++ b/client/tomcatconf/applicationContext.xml.in @@ -409,10 +409,12 @@ - + + + diff --git a/client/tomcatconf/componentContext.xml.in b/client/tomcatconf/componentContext.xml.in index bea2f787c17..f96a33078c6 100644 --- a/client/tomcatconf/componentContext.xml.in +++ b/client/tomcatconf/componentContext.xml.in @@ -240,6 +240,7 @@ +