Skip to content

Commit c20366f

Browse files
committed
BUG/MINOR: userlists: fix ordering of users in userlist serialization
1 parent f7ca060 commit c20366f

File tree

3 files changed

+16
-67
lines changed

3 files changed

+16
-67
lines changed

configuration/structured_userlists.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package configuration
1717

1818
import (
1919
"fmt"
20+
"sort"
2021

2122
"github.com/go-openapi/strfmt"
2223
parser "github.com/haproxytech/client-native/v6/config-parser"
@@ -153,12 +154,25 @@ func serializeUserlistSection(a StructuredToParserArgs, u *models.Userlist) erro
153154
if err != nil {
154155
return err
155156
}
156-
for _, user := range u.Users {
157+
158+
userNames := make([]string, 0, len(u.Users))
159+
for name := range u.Users {
160+
userNames = append(userNames, name)
161+
}
162+
sort.Strings(userNames)
163+
for _, username := range userNames {
164+
user := u.Users[username]
157165
if err = p.Insert(parser.UserList, u.Name, "user", SerializeUser(user), -1); err != nil {
158166
return a.HandleError(user.Username, "userlist", u.Name, a.TID, a.TID == "", err)
159167
}
160168
}
161-
for _, group := range u.Groups {
169+
groupNames := make([]string, 0, len(u.Groups))
170+
for name := range u.Groups {
171+
groupNames = append(groupNames, name)
172+
}
173+
sort.Strings(groupNames)
174+
for _, name := range groupNames {
175+
group := u.Groups[name]
162176
if err = p.Insert(parser.UserList, u.Name, "group", SerializeGroup(group), -1); err != nil {
163177
return a.HandleError(group.Name, "userlist", u.Name, a.TID, a.TID == "", err)
164178
}

models/crtstorebase_diff_generated.go

Lines changed: 0 additions & 36 deletions
This file was deleted.

models/crtstorebase_equal_generated.go

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)