From 04f5343139e2cc7b322aacab3e58a4387dbe080b Mon Sep 17 00:00:00 2001 From: Alessandro Boch Date: Fri, 15 Apr 2016 17:28:59 -0700 Subject: [PATCH] Make o/p of ipam DumpDatabase() consistent Signed-off-by: Alessandro Boch --- libnetwork/ipam/allocator.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libnetwork/ipam/allocator.go b/libnetwork/ipam/allocator.go index 9ff3301baa..009ab8b55c 100644 --- a/libnetwork/ipam/allocator.go +++ b/libnetwork/ipam/allocator.go @@ -3,6 +3,7 @@ package ipam import ( "fmt" "net" + "sort" "sync" log "github.com/Sirupsen/logrus" @@ -554,13 +555,18 @@ func (a *Allocator) getAddress(nw *net.IPNet, bitmask *bitseq.Handle, prefAddres func (a *Allocator) DumpDatabase() string { a.Lock() aspaces := make(map[string]*addrSpace, len(a.addrSpaces)) + orderedAS := make([]string, 0, len(a.addrSpaces)) for as, aSpace := range a.addrSpaces { + orderedAS = append(orderedAS, as) aspaces[as] = aSpace } a.Unlock() + sort.Strings(orderedAS) + var s string - for as, aSpace := range aspaces { + for _, as := range orderedAS { + aSpace := aspaces[as] s = fmt.Sprintf("\n\n%s Config", as) aSpace.Lock() for k, config := range aSpace.subnets {