From 4fb54ca32d0d191adec782d2af028f5f063506f8 Mon Sep 17 00:00:00 2001 From: Murali Reddy Date: Tue, 10 Dec 2013 06:19:00 +0530 Subject: [PATCH] CLOUDSTACK-5428: support NetScaler to be configured exclusively for GSLB service and not used for LB Fix adds a boolean flag to addNetscalerLoadBalancer api, which will mark added NetScaler for exclusive GSLB service. A netscaler marked as exclusive gslb service provider is not picked for any guest network's lb provider. Conflicts: engine/schema/src/com/cloud/network/dao/ExternalLoadBalancerDeviceVO.java plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java plugins/network-elements/netscaler/src/com/cloud/api/commands/AddNetscalerLoadBalancerCmd.java plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java server/src/com/cloud/network/ExternalLoadBalancerDeviceManager.java server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java setup/db/db/schema-421to430.sql --- .../apache/cloudstack/api/ApiConstants.java | 1 + .../ExternalLoadBalancerDeviceDaoImpl.java | 2 ++ .../dao/ExternalLoadBalancerDeviceVO.java | 13 ++++++++++- .../F5ExternalLoadBalancerElement.java | 4 ++-- .../commands/AddNetscalerLoadBalancerCmd.java | 22 +++++++++++++++++-- .../NetscalerLoadBalancerResponse.java | 11 +++++++++- .../network/element/NetscalerElement.java | 12 +++++++--- .../ExternalLoadBalancerDeviceManager.java | 5 ++--- ...ExternalLoadBalancerDeviceManagerImpl.java | 13 ++++++----- setup/db/db/schema-421to430.sql | 2 ++ 10 files changed, 67 insertions(+), 18 deletions(-) diff --git a/api/src/org/apache/cloudstack/api/ApiConstants.java b/api/src/org/apache/cloudstack/api/ApiConstants.java index cd8379b9f69..e08923c29ba 100755 --- a/api/src/org/apache/cloudstack/api/ApiConstants.java +++ b/api/src/org/apache/cloudstack/api/ApiConstants.java @@ -492,6 +492,7 @@ public class ApiConstants { public static final String BAREMETAL_DISCOVER_NAME = "baremetaldiscovername"; public static final String UCS_DN = "ucsdn"; public static final String GSLB_PROVIDER = "gslbprovider"; + public static final String EXCLUSIVE_GSLB_PROVIDER = "isexclusivegslbprovider"; public static final String GSLB_PROVIDER_PUBLIC_IP = "gslbproviderpublicip"; public static final String GSLB_PROVIDER_PRIVATE_IP = "gslbproviderprivateip"; public static final String VM_SNAPSHOT_DESCRIPTION = "description"; diff --git a/engine/schema/src/com/cloud/network/dao/ExternalLoadBalancerDeviceDaoImpl.java b/engine/schema/src/com/cloud/network/dao/ExternalLoadBalancerDeviceDaoImpl.java index e8ef0d22420..9e0cfc42f87 100644 --- a/engine/schema/src/com/cloud/network/dao/ExternalLoadBalancerDeviceDaoImpl.java +++ b/engine/schema/src/com/cloud/network/dao/ExternalLoadBalancerDeviceDaoImpl.java @@ -54,6 +54,7 @@ public class ExternalLoadBalancerDeviceDaoImpl extends GenericDaoBase