-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Disallowing udp for lb rules for haproxy #4501
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@blueorangutan package |
@davidjumani a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
Packaging result: ✔centos7 ✖centos8 ✔debian. JID-2427 |
@blueorangutan test |
@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code lgtm
@davidjumani it does support udp
|
@ravening CloudStack allows a udp lb rule to be created but haproxy itself which is internally used for load balancing doesn't support udp load balancing |
@davidjumani |
@ravening There are options such as nginx which can be explored later on if there's a need for udp load balancing (since no one noticed that it didn't work so far), so raising this PR so users won't be misled |
let's link to #4481 here, so we have context when discussing implementation. |
@davidjumani @DaanHoogland pr for haproxy support is here #4141 |
@ravening those are extra features for configuring/fine tuning the loadbalancer as it exists for tcp. the issue I linked is about missing support for udp and conflicts between udp and tcp definitions coexisting. (related but still unrelated) |
Trillian test result (tid-3239)
|
@weizhouapache since you've worked a lot of haproxy/lb, do you agree with this PR? |
...main/java/org/apache/cloudstack/api/command/user/loadbalancer/CreateLoadBalancerRuleCmd.java
Outdated
Show resolved
Hide resolved
...main/java/org/apache/cloudstack/api/command/user/loadbalancer/CreateLoadBalancerRuleCmd.java
Outdated
Show resolved
Hide resolved
@davidjumani fyi, line 792 to 806 in server/src/main/java/com/cloud/network/router/NetworkHelperImpl.java |
That's a good point, some LB providers may actually support UDP but in most real world usecases would LB over tcp. |
This reverts commit a5f4301.
bb1d680
to
9fee66d
Compare
@davidjumani I will test it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good.
create a udp lb rule, got exception below
2020-11-27 07:41:12,538 DEBUG [c.c.n.r.NetworkHelperImpl] (qtp1430439149-16:ctx-b16df490 ctx-85efa4e7) (logid:0c5425d3) Can't create LB rule as haproxy does not support udp
2020-11-27 07:41:12,539 WARN [c.c.n.l.LoadBalancingRulesManagerImpl] (qtp1430439149-16:ctx-b16df490 ctx-85efa4e7) (logid:0c5425d3) Failed to create load balancer due to
com.cloud.exception.InvalidParameterValueException: LB service provider cannot support this rule
@blueorangutan package |
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
Packaging result: ✔centos7 ✖centos8 ✔debian. JID-2441 |
@blueorangutan test |
@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
Trillian test result (tid-3276)
|
@blueorangutan package |
@davidjumani a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
Packaging result: ✔centos7 ✖centos8 ✔debian. JID-2444 |
@blueorangutan test |
@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
Trillian test result (tid-3285)
|
@blueorangutan test |
@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
@blueorangutan package |
@davidjumani a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
Packaging result: ✔centos7 ✖centos8 ✔debian. JID-2449 |
@blueorangutan test |
@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
Trillian test result (tid-3295)
|
* master: (25 commits) integration test: skip vlan of public ip range in get_free_vlan vpc vr: plugin nics by this order: public/private/guest vpc vr: fix Conflicting device id on private gw nic Adding zone name to physicalnetworkresponse (apache#4510) Disallowing udp for lb rules for haproxy (apache#4501) Make global setting non-dynamic (apache#4505) Adding cpuallocated percentage and value to host and hostsformigrationresponse (apache#4499) kvm: fix router.aggregation.command.each.timeout is reset to 600 when update other kvm configs (apache#4496) fix failures with test_multiple_nic_support.py (apache#4495) Fix hosts for migration count (apache#4500) sql: Fix Zones are returned in a random order (apache#3934) (apache#4494) integration test: update steps integration test: add private gateway in test integration test: verify public nics state bugfix apache#9 vpc vr: Add PREROUTING rule for vm with static nat to multiple private gateways bugfix apache#8 vpc: add rule for traffic between vm and private gateway bugfix apache#7 vpc vr: allow servers in private gateway to reach internet via the VPC VR if it is gateway bugfix apache#6 vpc vr: Add iptables rules for ACL of private gateway Revert "Fix Policy Based Routing for private gateway static routes (apache#3604)" Revert "Add private gateway IP to router initialization config" ...
Description
Since CloudStack uses HAproxy as a load balancer which doesn't support udp, adding checks to prevent udp from being passed as the protocol
haproxy/haproxy#62
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
How Has This Been Tested?