-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[New feature] Load balancer customization (haproxy-based) #4141
Closed
Closed
Changes from all commits
Commits
Show all changes
83 commits
Select commit
Hold shift + click to select a range
539ff56
LB configs: Load Balancer customization
ustcweizhou 8832d25
UI: Remove duplicated tabs for VPC routers
ustcweizhou 2f4d613
LB configs: Customized LB config on VPC
ustcweizhou 23cd6fd
Add Network/Vpc config: haproxy.stats.enable
ustcweizhou f1ab741
Support multiple scopes in LoadBalancerConfigKey
ustcweizhou c435afe
Move networkLbConfigsMap into method
ustcweizhou 9383261
LB configs: List all LB configs by scope (listall must be true)
ustcweizhou d19076e
LB configs: Add timeout for global/lb
ustcweizhou 67b43db
LB configs: Add loadbalancer connections settings
af6ab20
LB configs: customized load balancer configuration for lb http/keepalive
4a35ee2
Fix build error
ravening c759f69
Set keepAliveEnabled to false if lb.http.keepalive is false
ustcweizhou ffa0a9a
VR: compare list instead of set in CsFile.py
ustcweizhou 7c4da09
LB configs: Add haproxy stats
bfa64da
Use Optional.ofNullable instead of Optional.of to fix NPE
ustcweizhou 3d0e012
Rename timeout to lb.timeout
ustcweizhou 240acfc
Fix haproxy config is not change when remove timeout
ustcweizhou 7bff801
LB configs: Set default value in haproxy for lb configs
ustcweizhou 5e3f152
LB configs: Add 'mode http' to http LBs
ustcweizhou 8f9f752
Add 'no option forceclose' to http keep-alive rules
ustcweizhou 757be26
LB configs: Enable/disable haproxy socket
ustcweizhou 9c6fa85
LB: remove console.log from ui
ustcweizhou 7a1a2a9
Create table load_balancer_config in schema-41400to41500.sql
ustcweizhou 0df8cc7
LB transparent mode
ustcweizhou f52a609
LB: generate separated list for frontend and backend
ustcweizhou ea66b36
LB transparent mode: use different backend for local network
ustcweizhou e44c8f6
LB transparent mode: remove from network config
ustcweizhou f50330c
Lb transparent: fix test failures in core/
ustcweizhou 156c4f4
LB SSL offloading
ustcweizhou 1e7dd8f
Lb SSL offloading: fix test failures in core/
ustcweizhou 68036f7
CLSTACK-6898 - Enable HTTP2 support in LB
ece2b9b
UI for SSL offloading
ustcweizhou 30052e4
LB SSL offloading: Fix issue when remove cert from lb
ustcweizhou 78eabc1
add forced to AssignCertToLoadBalancerCmd
ustcweizhou 1584234
Update LB protocol
ustcweizhou 81125fc
UI: add 'none' to dropdown so that remove lb certificate
ustcweizhou 3e089fe
LB: Add lb.backend.https (it will use 'check ssl verify none' instead…
ustcweizhou fdb416e
LB SSL offloading: (1) move certs to /etc/ssl/cloudstack; (2)UI bug f…
ustcweizhou 2bd2c56
LB SSL Offloading: create global constant SSL_CERTS_DIR, add tune.ssl…
ustcweizhou 23fdf4b
health check for LB configs
ustcweizhou d6c1251
haproxy check: global and defaults
ustcweizhou 9f34384
move /etc/ssl/private/ to /etc/ssl/cloudstack/
ustcweizhou d7c48f4
LB haproxy check: fix check failure after VR restart
ustcweizhou edd8e0e
CLSTACK-7838 - Fix haproxy configs for servers
efcbcbf
Code refactor
61ba911
add lb rule checks
a3bbacb
add frontend/backend checks
ee75cab
haproxy check: set sslcert only if lb protocol is 'ssl'
ustcweizhou e205c22
haproxy check: http2 is enabled only if ssl offloading is enabled
ustcweizhou 95f5695
haproxy check: 'mode http' is enabled in some conditions
ustcweizhou 4f92d50
Add configuration for ssl customization.
dfc6cce
Port changes from 4.7.1.
76b78ac
Move old and intermediate configuration to HAProxy frontend.
4f0b35d
Fixed missed ssl restriction of haproxy.
fc623c1
Added Global setting configuration.
3a58185
Move global setting from api to engine/components-api
ustcweizhou 9a6e8d4
fix haproxy check
ustcweizhou 6237ba2
Add enum LoadBalancerConfig.SSLConfiguration
ustcweizhou 668a189
fix pycodestyle failures with CsLoadBalancer.py and haproxy_check.py
ustcweizhou f98e575
lb config: fix NPE with test_loadbalance.py
ustcweizhou c9e4b70
Move some files from com.cloud to org.apache.cloudstack
ustcweizhou d7b51ec
LB config: set uuid instead of id in response
ustcweizhou 95c1a9b
LB config: add method validateParameters
ustcweizhou 3d7bcda
Merge remote-tracking branch 'apache/master' into 4.15-lbconfigs
ustcweizhou 26ccc8e
#4141: Support config list like "config[0].global.maxconn=XXX"
ustcweizhou 454b660
#4141 LB config: Fix spring-server-core-managers-context.xml
ustcweizhou 1ccff82
#4141: return empty list if config is null
ustcweizhou 9d303ed
#4141 Ignore case for protocol name in LB rules
b3d4e72
Merge remote-tracking branch 'apache/master' into 4.15-lbconfigs
ustcweizhou 6e2e86b
#4141 LB config: fix many 'mkdir -p /etc/ssl/cloudstack/' in /var/lo…
ustcweizhou c1c07a9
Merge remote-tracking branch 'apache/master' into 4.15-lbconfigs
ustcweizhou 9f1860c
LB config: String values should not contain whitespace
ustcweizhou 39e7def
LB: verify haproxy config before haproxy restart/reload
ustcweizhou 24c1206
Load balancer configurations using HAProxy
ravening 2f07a1f
LB: fix pylint check failure
ustcweizhou 5690847
LB: fix ui npm lint error
ustcweizhou b59b4b8
Merge remote-tracking branch 'apache/master' into 4.15-lbconfigs
ustcweizhou fd8e6b2
LB config: move sql to schema-41510to41600.sql
ustcweizhou 0009b8d
Merge remote-tracking branch 'apache/master' into 4.15-lbconfigs
ustcweizhou 4125854
Merge remote-tracking branch 'apache/main' into 4.15-lbconfigs
weizhouapache 444d37a
Merge branch 'main' of https://github.com/apache/cloudstack into apac…
317ecbb
Merge branch 'apache-main' into 4.15-lbconfigs
f5e5d0c
Refactored the code, regarding the code change suggetions by GutoVero…
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
42 changes: 42 additions & 0 deletions
42
api/src/main/java/com/cloud/agent/api/to/LoadBalancerConfigTO.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
// Licensed to the Apache Software Foundation (ASF) under one | ||
// or more contributor license agreements. See the NOTICE file | ||
// distributed with this work for additional information | ||
// regarding copyright ownership. The ASF licenses this file | ||
// to you under the Apache License, Version 2.0 (the | ||
// "License"); you may not use this file except in compliance | ||
// with the License. You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, | ||
// software distributed under the License is distributed on an | ||
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
// KIND, either express or implied. See the License for the | ||
// specific language governing permissions and limitations | ||
// under the License. | ||
package com.cloud.agent.api.to; | ||
|
||
import org.apache.cloudstack.network.lb.LoadBalancerConfig; | ||
|
||
public class LoadBalancerConfigTO { | ||
private String name; | ||
private String value; | ||
|
||
public LoadBalancerConfigTO(String name, String value) { | ||
this.name = name; | ||
this.value = value; | ||
} | ||
|
||
public LoadBalancerConfigTO(LoadBalancerConfig config) { | ||
this.name = config.getName(); | ||
this.value = config.getValue(); | ||
} | ||
|
||
public String getName() { | ||
return name; | ||
} | ||
|
||
public String getValue() { | ||
return value; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
@weizhouapache advised changes to improve similar code, consider this as well. thanks.
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.
@sureshanaparti this has been changed in commit as well
1ccff82