Sort plugin names in node description

Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
This commit is contained in:
Nishant Totla 2016-07-25 10:38:24 -07:00
parent caedb3f827
commit 227c7e4e8d
No known key found for this signature in database
GPG key ID: 7EA5781C9B3D0C19

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
}