Skip to content

Commit

Permalink
Merge pull request #35 from AliyunContainerService/master
Browse files Browse the repository at this point in the history
Support placement preferences in stack deployment
  • Loading branch information
Vincent Demeester authored May 9, 2017
2 parents 2daa598 + b345993 commit 3d58c3f
Show file tree
Hide file tree
Showing 7 changed files with 565 additions and 6 deletions.
14 changes: 14 additions & 0 deletions cli/compose/convert/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ func convertService(
RestartPolicy: restartPolicy,
Placement: &swarm.Placement{
Constraints: service.Deploy.Placement.Constraints,
Preferences: getPlacementPreference(service.Deploy.Placement.Preferences),
},
},
EndpointSpec: endpoint,
Expand All @@ -157,6 +158,19 @@ func convertService(
return serviceSpec, nil
}

func getPlacementPreference(preferences []composetypes.PlacementPreferences) []swarm.PlacementPreference {
result := []swarm.PlacementPreference{}
for _, preference := range preferences {
spreadDescriptor := preference.Spread
result = append(result, swarm.PlacementPreference{
Spread: &swarm.SpreadOver{
SpreadDescriptor: spreadDescriptor,
},
})
}
return result
}

func sortStrings(strs []string) []string {
sort.Strings(strs)
return strs
Expand Down
4 changes: 3 additions & 1 deletion cli/compose/loader/full-example.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "3.2"
version: "3.3"

services:
foo:
Expand Down Expand Up @@ -45,6 +45,8 @@ services:
window: 120s
placement:
constraints: [node=foo]
preferences:
- spread: node.labels.az
endpoint_mode: dnsrr

devices:
Expand Down
5 changes: 5 additions & 0 deletions cli/compose/loader/loader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -673,6 +673,11 @@ func TestFullExample(t *testing.T) {
},
Placement: types.Placement{
Constraints: []string{"node=foo"},
Preferences: []types.PlacementPreferences{
{
Spread: "node.labels.az",
},
},
},
EndpointMode: "dnsrr",
},
Expand Down
33 changes: 28 additions & 5 deletions cli/compose/schema/bindata.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 3d58c3f

Please sign in to comment.