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

Sort plugin names in node description
This commit is contained in:
Tibor Vass 2016-07-25 15:45:25 -07:00 committed by GitHub
commit ebb157ec46
1 changed files with 16 additions and 0 deletions

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
}