1
0
mirror of https://github.com/docker/cli.git synced 2026-01-18 08:21:31 +03:00

Merge pull request #25018 from nishanttotla/stable-node-description-swarmkit

Sort plugin names in node description
Upstream-commit: ebb157ec463752d1766fcb19818d6ddd34ce3444
Component: engine
This commit is contained in:
Tibor Vass
2016-07-25 15:45:25 -07:00
committed by GitHub

View File

@@ -1,6 +1,7 @@
package container
import (
"sort"
"strings"
executorpkg "github.com/docker/docker/daemon/cluster/executor"
@@ -47,6 +48,8 @@ func (e *executor) Describe(ctx context.Context) (*api.NodeDescription, error) {
addPlugins("Network", append([]string{"overlay"}, info.Plugins.Network...))
addPlugins("Authorization", info.Plugins.Authorization)
sort.Sort(sortedPlugins(plugins))
// parse []string labels into a map[string]string
labels := map[string]string{}
for _, l := range info.Labels {
@@ -137,3 +140,16 @@ func (e *executor) SetNetworkBootstrapKeys(keys []*api.EncryptionKey) error {
return nil
}
type sortedPlugins []api.PluginDescription
func (sp sortedPlugins) Len() int { return len(sp) }
func (sp sortedPlugins) Swap(i, j int) { sp[i], sp[j] = sp[j], sp[i] }
func (sp sortedPlugins) Less(i, j int) bool {
if sp[i].Type != sp[j].Type {
return sp[i].Type < sp[j].Type
}
return sp[i].Name < sp[j].Name
}