sort volume drivers and auth plugins in info response

Signed-off-by: allencloud <allen.sun@daocloud.io>
This commit is contained in:
allencloud 2017-01-22 14:59:29 +08:00
parent 9c94fa4563
commit 1d1362bdb2
3 changed files with 17 additions and 1 deletions

View File

@ -8,6 +8,7 @@ import (
"io"
"io/ioutil"
"runtime"
"sort"
"strings"
"sync"
@ -523,3 +524,16 @@ func ValidateConfiguration(config *Config) error {
return nil
}
// GetAuthorizationPlugins returns daemon's sorted authorization plugins
func (config *Config) GetAuthorizationPlugins() []string {
config.reloadLock.Lock()
defer config.reloadLock.Unlock()
authPlugins := make([]string, 0, len(config.AuthorizationPlugins))
for _, p := range config.AuthorizationPlugins {
authPlugins = append(authPlugins, p)
}
sort.Strings(authPlugins)
return authPlugins
}

View File

@ -174,7 +174,7 @@ func (daemon *Daemon) showPluginsInfo() types.PluginsInfo {
pluginsInfo.Volume = volumedrivers.GetDriverList()
pluginsInfo.Network = daemon.GetNetworkDriverList()
pluginsInfo.Authorization = daemon.configStore.AuthorizationPlugins
pluginsInfo.Authorization = daemon.configStore.GetAuthorizationPlugins()
return pluginsInfo
}

View File

@ -4,6 +4,7 @@ package volumedrivers
import (
"fmt"
"sort"
"sync"
"github.com/docker/docker/pkg/locker"
@ -176,6 +177,7 @@ func GetDriverList() []string {
driverList = append(driverList, driverName)
}
drivers.Unlock()
sort.Strings(driverList)
return driverList
}