diff --git a/server/src/main/java/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/main/java/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java index 087de40cd096..3227516e04d7 100644 --- a/server/src/main/java/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java +++ b/server/src/main/java/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java @@ -47,6 +47,7 @@ import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.lb.ApplicationLoadBalancerRuleVO; import org.apache.cloudstack.lb.dao.ApplicationLoadBalancerRuleDao; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import com.cloud.agent.api.to.LoadBalancerTO; @@ -2105,6 +2106,7 @@ public LoadBalancer updateLoadBalancerRule(UpdateLoadBalancerRuleCmd cmd) { LoadBalancerVO lbBackup = _lbDao.findById(lbRuleId); String customId = cmd.getCustomId(); Boolean forDisplay = cmd.getDisplay(); + String lbProtocol = cmd.getLbProtocol(); if (lb == null) { throw new InvalidParameterValueException("Unable to find lb rule by id=" + lbRuleId); @@ -2133,6 +2135,10 @@ public LoadBalancer updateLoadBalancerRule(UpdateLoadBalancerRuleCmd cmd) { lb.setDisplay(forDisplay); } + if (StringUtils.isNotBlank(lbProtocol)) { + lb.setLbProtocol(lbProtocol); + } + // Validate rule in LB provider LoadBalancingRule rule = getLoadBalancerRuleToApply(lb); if (!validateLbRule(rule)) {