mirror of https://github.com/kubernetes/kops.git
upup: move string-slice comparison functions to utils
This commit is contained in:
parent
1aeea67510
commit
3aeaf73788
|
|
@ -126,18 +126,6 @@ func (t *CloudInitTarget) Chown(path string, user, group string) {
|
||||||
t.AddCommand(Always, "chown", user+":"+group, path)
|
t.AddCommand(Always, "chown", user+":"+group, path)
|
||||||
}
|
}
|
||||||
|
|
||||||
func stringSlicesEquals(l, r []string) bool {
|
|
||||||
if len(l) != len(r) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
for i, v := range l {
|
|
||||||
if r[i] != v {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *CloudInitTarget) AddCommand(addBehaviour AddBehaviour, args ...string) {
|
func (t *CloudInitTarget) AddCommand(addBehaviour AddBehaviour, args ...string) {
|
||||||
switch addBehaviour {
|
switch addBehaviour {
|
||||||
case Always:
|
case Always:
|
||||||
|
|
@ -145,7 +133,7 @@ func (t *CloudInitTarget) AddCommand(addBehaviour AddBehaviour, args ...string)
|
||||||
|
|
||||||
case Once:
|
case Once:
|
||||||
for _, c := range t.Config.RunCommmands {
|
for _, c := range t.Config.RunCommmands {
|
||||||
if stringSlicesEquals(args, c) {
|
if utils.StringSlicesEqual(args, c) {
|
||||||
glog.V(2).Infof("skipping pre-existing command because AddBehaviour=Once: %q", args)
|
glog.V(2).Infof("skipping pre-existing command because AddBehaviour=Once: %q", args)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package utils
|
||||||
|
|
||||||
|
func StringSlicesEqual(l, r []string) bool {
|
||||||
|
if len(l) != len(r) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
for i, v := range l {
|
||||||
|
if r[i] != v {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func StringSlicesEqualIgnoreOrder(l, r []string) bool {
|
||||||
|
if len(l) != len(r) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
lMap := map[string]bool{}
|
||||||
|
for _, lv := range l {
|
||||||
|
lMap[lv] = true
|
||||||
|
}
|
||||||
|
for _, rv := range r {
|
||||||
|
if !lMap[rv] {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue