cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wid...@apache.org
Subject [47/50] [abbrv] git commit: updated refs/heads/reporter to b26f3fc
Date Fri, 02 Jan 2015 14:36:39 GMT
CLOUDSTACK-6920 Support listing of LBHealthcheck policy with LBHealthcheck policy ID


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c7b23d0a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c7b23d0a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c7b23d0a

Branch: refs/heads/reporter
Commit: c7b23d0a10fa6fc55820f298cce658bff0b8125c
Parents: 15b3486
Author: Rajesh Battala <rajesh.battala@citrix.com>
Authored: Wed Jun 18 15:42:23 2014 +0530
Committer: Rajesh Battala <rajesh.battala@citrix.com>
Committed: Fri Dec 26 21:01:03 2014 +0530

----------------------------------------------------------------------
 .../network/lb/LoadBalancingRulesService.java   |  2 ++
 .../ListLBHealthCheckPoliciesCmd.java           | 21 ++++++++++++++++++--
 .../lb/LoadBalancingRulesManagerImpl.java       | 16 +++++++++++++--
 3 files changed, 35 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c7b23d0a/api/src/com/cloud/network/lb/LoadBalancingRulesService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/network/lb/LoadBalancingRulesService.java b/api/src/com/cloud/network/lb/LoadBalancingRulesService.java
index 3e11014..50b39d2 100644
--- a/api/src/com/cloud/network/lb/LoadBalancingRulesService.java
+++ b/api/src/com/cloud/network/lb/LoadBalancingRulesService.java
@@ -161,4 +161,6 @@ public interface LoadBalancingRulesService {
     HealthCheckPolicy updateLBHealthCheckPolicy(long id, String customId, Boolean forDisplay);
 
     LoadBalancer findLbByStickinessId(long stickinessPolicyId);
+
+    Long findLBIdByHealtCheckPolicyId(long lbHealthCheckPolicy);
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c7b23d0a/api/src/org/apache/cloudstack/api/command/user/loadbalancer/ListLBHealthCheckPoliciesCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/loadbalancer/ListLBHealthCheckPoliciesCmd.java
b/api/src/org/apache/cloudstack/api/command/user/loadbalancer/ListLBHealthCheckPoliciesCmd.java
index 7f78da64..3f2082a 100644
--- a/api/src/org/apache/cloudstack/api/command/user/loadbalancer/ListLBHealthCheckPoliciesCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/loadbalancer/ListLBHealthCheckPoliciesCmd.java
@@ -29,6 +29,8 @@ import org.apache.cloudstack.api.response.LBHealthCheckResponse;
 import org.apache.cloudstack.api.response.ListResponse;
 import org.apache.log4j.Logger;
 
+
+import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.network.rules.HealthCheckPolicy;
 import com.cloud.network.rules.LoadBalancer;
 
@@ -45,13 +47,15 @@ public class ListLBHealthCheckPoliciesCmd extends BaseListCmd {
     @Parameter(name = ApiConstants.LBID,
                type = CommandType.UUID,
                entityType = FirewallRuleResponse.class,
-               required = true,
                description = "the ID of the load balancer rule")
     private Long lbRuleId;
 
     @Parameter(name = ApiConstants.FOR_DISPLAY, type = CommandType.BOOLEAN, description =
"list resources by display flag; only ROOT admin is eligible to pass this parameter", since
= "4.4", authorized = {RoleType.Admin})
     private Boolean display;
 
+    @Parameter(name = ApiConstants.ID, type = CommandType.UUID, entityType = LBHealthCheckResponse.class,
description = "the ID of the healthcheck policy", since = "4.4")
+    private Long id;
+
     // ///////////////////////////////////////////////////
     // ///////////////// Accessors ///////////////////////
     // ///////////////////////////////////////////////////
@@ -59,6 +63,10 @@ public class ListLBHealthCheckPoliciesCmd extends BaseListCmd {
         return lbRuleId;
     }
 
+    public Long getId() {
+        return id;
+    }
+
     public boolean getDisplay() {
         if (display != null) {
             return display;
@@ -78,9 +86,18 @@ public class ListLBHealthCheckPoliciesCmd extends BaseListCmd {
     @Override
     public void execute() {
         List<LBHealthCheckResponse> hcpResponses = new ArrayList<LBHealthCheckResponse>();
-        LoadBalancer lb = _lbService.findById(getLbRuleId());
         ListResponse<LBHealthCheckResponse> response = new ListResponse<LBHealthCheckResponse>();
+        Long lbRuleId = getLbRuleId();
+        Long hId = getId();
+        if(lbRuleId == null) {
+            if(hId != null) {
+                lbRuleId = _lbService.findLBIdByHealtCheckPolicyId(hId);
+            } else {
+                throw new InvalidParameterValueException("Either LB Ruleid or HealthCheckpolicy
Id should be specified");
+            }
+        }
 
+        LoadBalancer lb = _lbService.findById(lbRuleId);
         if (lb != null) {
             List<? extends HealthCheckPolicy> healthCheckPolicies = _lbService.searchForLBHealthCheckPolicies(this);
             LBHealthCheckResponse spResponse = _responseGenerator.createLBHealthCheckPolicyResponse(healthCheckPolicies,
lb);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c7b23d0a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
index fbb862e..d7a85b6 100644
--- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
+++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
@@ -2263,15 +2263,18 @@ public class LoadBalancingRulesManagerImpl<Type> extends ManagerBase
implements
     public List<LBHealthCheckPolicyVO> searchForLBHealthCheckPolicies(ListLBHealthCheckPoliciesCmd
cmd) throws PermissionDeniedException {
         Account caller = CallContext.current().getCallingAccount();
         Long loadBalancerId = cmd.getLbRuleId();
+        Long policyId = cmd.getId();
         boolean forDisplay = cmd.getDisplay();
-
+        if(loadBalancerId == null) {
+            loadBalancerId = findLBIdByHealtCheckPolicyId(policyId);
+        }
         LoadBalancerVO loadBalancer = _lbDao.findById(loadBalancerId);
         if (loadBalancer == null) {
             return null;
         }
 
         _accountMgr.checkAccess(caller, null, true, loadBalancer);
-        List<LBHealthCheckPolicyVO> hcDbpolicies = _lb2healthcheckDao.listByLoadBalancerIdAndDisplayFlag(cmd.getLbRuleId(),
forDisplay);
+        List<LBHealthCheckPolicyVO> hcDbpolicies = _lb2healthcheckDao.listByLoadBalancerIdAndDisplayFlag(loadBalancerId,
forDisplay);
 
         return hcDbpolicies;
     }
@@ -2569,4 +2572,13 @@ public class LoadBalancingRulesManagerImpl<Type> extends ManagerBase
implements
         return _lb2healthcheckDao.findById(id);
     }
 
+    @Override
+    public Long findLBIdByHealtCheckPolicyId(long lbHealthCheckPolicy) {
+        LBHealthCheckPolicyVO policy= _lb2healthcheckDao.findById(lbHealthCheckPolicy);
+        if(policy != null) {
+            return policy.getLoadBalancerId();
+        }
+        return null;
+    }
+
 }


Mime
View raw message