CLOUDSTACK-2360: listnetscalerloadbalancerresponse is not including any information about GSLB status
adds the infomration if NetScaler is provisioned as GSLB service provider Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/62d32045 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/62d32045 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/62d32045 Branch: refs/heads/vmsync Commit: 62d320454a5487dac27631d380cd0cc0e2492e22 Parents: 53499c0 Author: Murali Reddy <muralimmre...@gmail.com> Authored: Wed May 22 16:25:02 2013 +0530 Committer: Murali Reddy <muralimmre...@gmail.com> Committed: Wed May 22 16:26:46 2013 +0530 ---------------------------------------------------------------------- .../response/NetscalerLoadBalancerResponse.java | 21 +++++++++++++++ .../cloud/network/element/NetscalerElement.java | 4 +++ 2 files changed, 25 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/62d32045/plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java b/plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java index bd25880..1348788 100644 --- a/plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java +++ b/plugins/network-elements/netscaler/src/com/cloud/api/response/NetscalerLoadBalancerResponse.java @@ -60,6 +60,15 @@ public class NetscalerLoadBalancerResponse extends BaseResponse { @SerializedName(ApiConstants.IP_ADDRESS) @Param(description="the management IP address of the external load balancer") private String ipAddress; + @SerializedName(ApiConstants.GSLB_PROVIDER) @Param(description="true if NetScaler device is provisioned to be a GSLB service provider") + private Boolean isGslbProvider; + + @SerializedName(ApiConstants.GSLB_PROVIDER_PUBLIC_IP) @Param(description="public IP of the NetScaler representing GSLB site") + private String gslbSitePublicIp; + + @SerializedName(ApiConstants.GSLB_PROVIDER_PRIVATE_IP) @Param(description="private IP of the NetScaler representing GSLB site") + private String gslbSitePrivateIp; + @SerializedName(ApiConstants.POD_IDS) @Param(description="Used when NetScaler device is provider of EIP service." + " This parameter represents the list of pod's, for which there exists a policy based route on datacenter L3 router to " + "route pod's subnet IP to a NetScaler device.") @@ -108,4 +117,16 @@ public class NetscalerLoadBalancerResponse extends BaseResponse { public void setAssociatedPods(List<Long> pods) { this.podIds = pods; } + + public void setGslbProvider(boolean isGslbProvider) { + this.isGslbProvider = isGslbProvider; + } + + public void setGslbSitePublicIp(String publicIP) { + this.gslbSitePublicIp = publicIP; + } + + public void setGslbSitePrivateIp(String privateIp) { + this.gslbSitePrivateIp = privateIp; + } } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/62d32045/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java index 850962d..13a6900 100644 --- a/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java +++ b/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java @@ -589,6 +589,10 @@ public class NetscalerElement extends ExternalLoadBalancerDeviceManagerImpl impl response.setDeviceState(lbDeviceVO.getState().name()); response.setObjectName("netscalerloadbalancer"); + response.setGslbProvider(lbDeviceVO.getGslbProvider()); + response.setGslbSitePublicIp(lbDeviceVO.getGslbSitePublicIP()); + response.setGslbSitePrivateIp(lbDeviceVO.getGslbSitePrivateIP()); + List<Long> associatedPods = new ArrayList<Long>(); List<NetScalerPodVO> currentPodVOs = _netscalerPodDao.listByNetScalerDeviceId(lbDeviceVO.getId()); if (currentPodVOs != null && currentPodVOs.size() > 0) {