Skip to content

Commit 8e6e433

Browse files
feat(lb): add support for max-connections and timeout queue (#3258)
Co-authored-by: Rémy Léone <[email protected]>
1 parent 4e8cf38 commit 8e6e433

File tree

6 files changed

+53
-3
lines changed

6 files changed

+53
-3
lines changed

cmd/scw/testdata/test-all-usage-lb-backend-create-usage.golden

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ ARGS:
4747
[ignore-ssl-server-verify] Defines whether the server certificate verification should be ignored
4848
[redispatch-attempt-count] Whether to use another backend server on each attempt
4949
[max-retries] Number of retries when a backend server connection failed
50+
[max-connections] Maximum number of connections allowed per backend server
51+
[timeout-queue.seconds]
52+
[timeout-queue.nanos]
5053
[zone=fr-par-1] Zone to target. If none is passed will use default zone from the config (fr-par-1 | fr-par-2 | nl-ams-1 | nl-ams-2 | nl-ams-3 | pl-waw-1 | pl-waw-2)
5154

5255
DEPRECATED ARGS:

cmd/scw/testdata/test-all-usage-lb-backend-update-usage.golden

+3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ ARGS:
2323
[ignore-ssl-server-verify] Defines whether the server certificate verification should be ignored
2424
[redispatch-attempt-count] Whether to use another backend server on each attempt
2525
[max-retries] Number of retries when a backend server connection failed
26+
[max-connections] Maximum number of connections allowed per backend server
27+
[timeout-queue.seconds]
28+
[timeout-queue.nanos]
2629
[zone=fr-par-1] Zone to target. If none is passed will use default zone from the config (fr-par-1 | fr-par-2 | nl-ams-1 | nl-ams-2 | nl-ams-3 | pl-waw-1 | pl-waw-2)
2730

2831
DEPRECATED ARGS:

docs/commands/lb.md

+6
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,9 @@ scw lb backend create [arg=value ...]
320320
| ignore-ssl-server-verify | | Defines whether the server certificate verification should be ignored |
321321
| redispatch-attempt-count | | Whether to use another backend server on each attempt |
322322
| max-retries | | Number of retries when a backend server connection failed |
323+
| max-connections | | Maximum number of connections allowed per backend server |
324+
| timeout-queue.seconds | | |
325+
| timeout-queue.nanos | | |
323326
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `nl-ams-3`, `pl-waw-1`, `pl-waw-2` | Zone to target. If none is passed will use default zone from the config |
324327

325328

@@ -492,6 +495,9 @@ scw lb backend update <backend-id ...> [arg=value ...]
492495
| ignore-ssl-server-verify | | Defines whether the server certificate verification should be ignored |
493496
| redispatch-attempt-count | | Whether to use another backend server on each attempt |
494497
| max-retries | | Number of retries when a backend server connection failed |
498+
| max-connections | | Maximum number of connections allowed per backend server |
499+
| timeout-queue.seconds | | |
500+
| timeout-queue.nanos | | |
495501
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-2`, `nl-ams-1`, `nl-ams-2`, `nl-ams-3`, `pl-waw-1`, `pl-waw-2` | Zone to target. If none is passed will use default zone from the config |
496502

497503

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ require (
2424
github.com/moby/buildkit v0.11.6
2525
github.com/opencontainers/go-digest v1.0.0
2626
github.com/pkg/errors v0.9.1
27-
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.17.0.20230630135857-7255970b0203
27+
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.17.0.20230630150747-10731c512952
2828
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
2929
github.com/spf13/cobra v1.7.0
3030
github.com/spf13/pflag v1.0.5

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -497,8 +497,8 @@ github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncj
497497
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
498498
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI=
499499
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
500-
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.17.0.20230630135857-7255970b0203 h1:0A41ePzns5c5Did7m9hWnc9jtv++Chs6LxFC2tdiLGE=
501-
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.17.0.20230630135857-7255970b0203/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg=
500+
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.17.0.20230630150747-10731c512952 h1:Vn4FCfzj1vuBQPrQ/GK8LvKW8UpuRxedPshhGBfqVBU=
501+
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.17.0.20230630150747-10731c512952/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg=
502502
github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8=
503503
github.com/secure-systems-lab/go-securesystemslib v0.4.0 h1:b23VGrQhTA8cN2CbBw7/FulN9fTtqYUdS5+Oxzt+DUE=
504504
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=

internal/namespaces/lb/v1/lb_cli.go

+38
Original file line numberDiff line numberDiff line change
@@ -1012,6 +1012,25 @@ func lbBackendCreate() *core.Command {
10121012
Deprecated: false,
10131013
Positional: false,
10141014
},
1015+
{
1016+
Name: "max-connections",
1017+
Short: `Maximum number of connections allowed per backend server`,
1018+
Required: false,
1019+
Deprecated: false,
1020+
Positional: false,
1021+
},
1022+
{
1023+
Name: "timeout-queue.seconds",
1024+
Required: false,
1025+
Deprecated: false,
1026+
Positional: false,
1027+
},
1028+
{
1029+
Name: "timeout-queue.nanos",
1030+
Required: false,
1031+
Deprecated: false,
1032+
Positional: false,
1033+
},
10151034
core.ZoneArgSpec(scw.ZoneFrPar1, scw.ZoneFrPar2, scw.ZoneNlAms1, scw.ZoneNlAms2, scw.ZoneNlAms3, scw.ZonePlWaw1, scw.ZonePlWaw2),
10161035
},
10171036
Run: func(ctx context.Context, args interface{}) (i interface{}, e error) {
@@ -1199,6 +1218,25 @@ func lbBackendUpdate() *core.Command {
11991218
Deprecated: false,
12001219
Positional: false,
12011220
},
1221+
{
1222+
Name: "max-connections",
1223+
Short: `Maximum number of connections allowed per backend server`,
1224+
Required: false,
1225+
Deprecated: false,
1226+
Positional: false,
1227+
},
1228+
{
1229+
Name: "timeout-queue.seconds",
1230+
Required: false,
1231+
Deprecated: false,
1232+
Positional: false,
1233+
},
1234+
{
1235+
Name: "timeout-queue.nanos",
1236+
Required: false,
1237+
Deprecated: false,
1238+
Positional: false,
1239+
},
12021240
core.ZoneArgSpec(scw.ZoneFrPar1, scw.ZoneFrPar2, scw.ZoneNlAms1, scw.ZoneNlAms2, scw.ZoneNlAms3, scw.ZonePlWaw1, scw.ZonePlWaw2),
12031241
},
12041242
Run: func(ctx context.Context, args interface{}) (i interface{}, e error) {

0 commit comments

Comments
 (0)