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 коммит произвёл GitHub
Родитель 8f11896a45 227c7e4e8d
Коммит ebb157ec46
1 изменённых файлов: 16 добавлений и 0 удалений

Просмотреть файл

@ -1,6 +1,7 @@
package container package container
import ( import (
"sort"
"strings" "strings"
executorpkg "github.com/docker/docker/daemon/cluster/executor" 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("Network", append([]string{"overlay"}, info.Plugins.Network...))
addPlugins("Authorization", info.Plugins.Authorization) addPlugins("Authorization", info.Plugins.Authorization)
sort.Sort(sortedPlugins(plugins))
// parse []string labels into a map[string]string // parse []string labels into a map[string]string
labels := map[string]string{} labels := map[string]string{}
for _, l := range info.Labels { for _, l := range info.Labels {
@ -137,3 +140,16 @@ func (e *executor) SetNetworkBootstrapKeys(keys []*api.EncryptionKey) error {
return nil 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
}