Merge pull request #2184 from thaJeztah/19.03_backport_fix_max_replicas_per_node_interpolation

[19.03 backport] Add interpolation type cast for max_replicas_per_node
This commit is contained in:
Sebastiaan van Stijn 2020-01-16 21:17:38 +01:00 committed by GitHub
commit a7cad2fec2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View File

@ -19,6 +19,7 @@ var interpolateTypeCastMapping = map[interp.Path]interp.Cast{
servicePath("deploy", "rollback_config", "parallelism"): toInt,
servicePath("deploy", "rollback_config", "max_failure_ratio"): toFloat,
servicePath("deploy", "restart_policy", "max_attempts"): toInt,
servicePath("deploy", "placement", "max_replicas_per_node"): toInt,
servicePath("ports", interp.PathMatchList, "target"): toInt,
servicePath("ports", interp.PathMatchList, "published"): toInt,
servicePath("ulimits", interp.PathMatchAll): toInt,

View File

@ -582,7 +582,7 @@ volumes:
func TestLoadWithInterpolationCastFull(t *testing.T) {
dict, err := ParseYAML([]byte(`
version: "3.7"
version: "3.8"
services:
web:
configs:
@ -604,6 +604,8 @@ services:
max_failure_ratio: $thefloat
restart_policy:
max_attempts: $theint
placement:
max_replicas_per_node: $theint
ports:
- $theint
- "34567"
@ -652,7 +654,7 @@ networks:
assert.NilError(t, err)
expected := &types.Config{
Filename: "filename.yml",
Version: "3.7",
Version: "3.8",
Services: []types.ServiceConfig{
{
Name: "web",
@ -685,6 +687,9 @@ networks:
RestartPolicy: &types.RestartPolicy{
MaxAttempts: uint64Ptr(555),
},
Placement: types.Placement{
MaxReplicas: 555,
},
},
Ports: []types.ServicePortConfig{
{Target: 555, Mode: "ingress", Protocol: "tcp"},