Commit ef8f744
feat(loadbalancer): Add LoadBalancerType Client Side Weighted Round Robin (#7407)
* Add support for ClientSideWeightedRoundRobin load balancer policy in Gateway CRDs, ensuring configurable parameters and validation rules are integrated. Includes e2e test for validation.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Adds / Updates test cases for client wrr
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Fix: gen-check ci, coverage-check
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Remove `enableOOBLoadReport` and `oobReportingPeriod` fields from gateway CRDs and related configurations. Update associated test data and documentation.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Remove `enableOOBLoadReport` and `oobReportingPeriod` fields from ClientSideWeightedRoundRobin configuration, update affected tests and CRDs.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Update: Change `ErrorUtilizationPenalty` type from float to integer across Gateway CRDs, configuration files, and related tests. Adjust documentation to reflect percentage-based representation.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Update: Refactor `ErrorUtilizationPenalty` to use integer type with percentage-based representation in Gateway CRDs, configurations, and tests. Adjust related documentation and ensure backward compatibility.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Refactor: Replace `ptr.To(metav1.Duration)` with `ir.MetaV1DurationPtr` across gateway configurations and tests for cleaner and consistent duration handling. Remove unused `metav1` imports where applicable.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Update: Add support for SlowStart configuration for ClientSideWeightedRoundRobin load balancer in Gateway CRDs, configurations, and tests. Adjust validation rules and documentation accordingly.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Update: Replace `ClientSideWeightedRoundRobin` load balancer type with `BackendUtilization` in Gateway CRDs, configurations, and tests. Revise validation rules, documentation, and enums accordingly.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Update: Replace `ClientSideWeightedRoundRobin` references with `BackendUtilization` in load balancing tests and documentation.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Update: Replace `lb-backend-bu` references with `lb-backend-utilization` across tests, configurations, and load balancing policies for consistency.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Remove: Delete obsolete BackendUtilization OOB and penalty load balancing tests.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Update: Add detailed documentation and configuration examples for Backend Utilization (ORCA) load balancing in Gateway CRDs and related docs. Refine header handling and metric formats.
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
* Update: Rename `ErrorUtilizationPenalty` to `ErrorUtilizationPenaltyPercent` across API, tests, and internal logic for clarity and precision. Adjust related documentation and validations.
Signed-off-by: anurag.ag <6075379+altaiezior@users.noreply.github.com>
* Update: Add support for `removeResponseHeaders` in `BackendUtilization`. Adjust logic, tests, and documentation to highlight default value and ORCA header removal.
Signed-off-by: anurag.ag <6075379+altaiezior@users.noreply.github.com>
* Update: Replace `removeResponseHeaders` with `keepResponseHeaders` across API, internal logic, and templates. Adjust defaults, documentation, and validations to reflect behavior change.
Signed-off-by: anurag.ag <6075379+altaiezior@users.noreply.github.com>
* Refactor: Reorganize import order in `cluster_test.go` for consistency.
Signed-off-by: anurag.ag <6075379+altaiezior@users.noreply.github.com>
* Update: Fix formatting and alignment in `load_balancing.go` and `loadbalancer_types.go` for consistency.
Signed-off-by: altaiezior <6075379+altaiezior@users.noreply.github.com>
* Update: Add validation to disallow ZoneAware routing for BackendUtilization load balancers. Adjust tests to reflect the new validation rule.
Signed-off-by: altaiezior <6075379+altaiezior@users.noreply.github.com>
* Update: Add error handling for invalid duration values in `BackendUtilization` fields (`BlackoutPeriod`, `WeightExpirationPeriod`, `WeightUpdatePeriod`).
Signed-off-by: altaiezior <6075379+altaiezior@users.noreply.github.com>
* Refactor: Simplify nil check and assignment logic in `BackendUtilization` handling within cluster translator.
Signed-off-by: altaiezior <6075379+altaiezior@users.noreply.github.com>
* Update: Add support for BackendUtilization load balancing policy in BackendTrafficPolicy.
Signed-off-by: altaiezior <6075379+altaiezior@users.noreply.github.com>
---------
Signed-off-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
Signed-off-by: anurag.ag <6075379+altaiezior@users.noreply.github.com>
Signed-off-by: Arko Dasgupta <arkodg@users.noreply.github.com>
Signed-off-by: altaiezior <6075379+altaiezior@users.noreply.github.com>
Signed-off-by: Isaac Wilson <isaac.wilson514@gmail.com>
Co-authored-by: anurag.ag <anuragagarwal561994@users.noreply.github.com>
Co-authored-by: Isaac <10012479+jukie@users.noreply.github.com>
Co-authored-by: Arko Dasgupta <arkodg@users.noreply.github.com>
Co-authored-by: Isaac Wilson <isaac.wilson514@gmail.com>1 parent c4db7cf commit ef8f744
38 files changed
Lines changed: 5121 additions & 420 deletions
File tree
- api/v1alpha1
- charts
- gateway-crds-helm/templates/generated
- gateway-helm/charts/crds/crds/generated
- internal
- gatewayapi
- testdata
- ir
- xds/translator
- testdata
- in/xds-ir
- out/xds-ir
- release-notes
- site/content/en/latest
- api
- concepts
- test
- cel-validation
- e2e
- testdata
- tests
- fuzz/testdata/FuzzGatewayAPIToXDS
- helm/gateway-crds-helm
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
| 15 | + | |
15 | 16 | | |
| 17 | + | |
16 | 18 | | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
23 | | - | |
| 25 | + | |
| 26 | + | |
24 | 27 | | |
25 | 28 | | |
26 | 29 | | |
| |||
30 | 33 | | |
31 | 34 | | |
32 | 35 | | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
33 | 42 | | |
34 | 43 | | |
35 | 44 | | |
| |||
40 | 49 | | |
41 | 50 | | |
42 | 51 | | |
43 | | - | |
| 52 | + | |
44 | 53 | | |
45 | 54 | | |
46 | 55 | | |
| |||
52 | 61 | | |
53 | 62 | | |
54 | 63 | | |
55 | | - | |
| 64 | + | |
56 | 65 | | |
57 | 66 | | |
58 | 67 | | |
| |||
64 | 73 | | |
65 | 74 | | |
66 | 75 | | |
| 76 | + | |
| 77 | + | |
67 | 78 | | |
68 | 79 | | |
69 | 80 | | |
| |||
149 | 160 | | |
150 | 161 | | |
151 | 162 | | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
152 | 220 | | |
153 | 221 | | |
154 | 222 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 68 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
814 | 814 | | |
815 | 815 | | |
816 | 816 | | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
817 | 870 | | |
818 | 871 | | |
819 | 872 | | |
| |||
960 | 1013 | | |
961 | 1014 | | |
962 | 1015 | | |
963 | | - | |
| 1016 | + | |
964 | 1017 | | |
965 | 1018 | | |
966 | 1019 | | |
| |||
980 | 1033 | | |
981 | 1034 | | |
982 | 1035 | | |
983 | | - | |
| 1036 | + | |
| 1037 | + | |
984 | 1038 | | |
985 | 1039 | | |
986 | 1040 | | |
987 | 1041 | | |
988 | 1042 | | |
| 1043 | + | |
989 | 1044 | | |
990 | 1045 | | |
991 | 1046 | | |
| |||
1061 | 1116 | | |
1062 | 1117 | | |
1063 | 1118 | | |
1064 | | - | |
1065 | | - | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
1066 | 1125 | | |
1067 | 1126 | | |
1068 | 1127 | | |
1069 | 1128 | | |
1070 | 1129 | | |
1071 | 1130 | | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
1072 | 1136 | | |
1073 | 1137 | | |
1074 | 1138 | | |
| |||
0 commit comments