mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
Merge pull request #37225 from thockin/no-bad-word-in-names
Automatic merge from submit-queue Remove vowels from rand.String, to avoid 'bad words' As reported by users via email. @aronchick
This commit is contained in:
commit
356170fee6
@ -70,6 +70,7 @@ go_test(
|
|||||||
"//pkg/runtime/schema:go_default_library",
|
"//pkg/runtime/schema:go_default_library",
|
||||||
"//pkg/util/rand:go_default_library",
|
"//pkg/util/rand:go_default_library",
|
||||||
"//pkg/util/sets:go_default_library",
|
"//pkg/util/sets:go_default_library",
|
||||||
|
"//vendor:github.com/davecgh/go-spew/spew",
|
||||||
"//vendor:github.com/golang/glog",
|
"//vendor:github.com/golang/glog",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -22,6 +22,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/davecgh/go-spew/spew"
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
@ -69,7 +70,7 @@ func tokenSecretReferences() []v1.ObjectReference {
|
|||||||
|
|
||||||
// addTokenSecretReference adds a reference to the ServiceAccountToken that will be created
|
// addTokenSecretReference adds a reference to the ServiceAccountToken that will be created
|
||||||
func addTokenSecretReference(refs []v1.ObjectReference) []v1.ObjectReference {
|
func addTokenSecretReference(refs []v1.ObjectReference) []v1.ObjectReference {
|
||||||
return addNamedTokenSecretReference(refs, "default-token-fplln")
|
return addNamedTokenSecretReference(refs, "default-token-p7w9c")
|
||||||
}
|
}
|
||||||
|
|
||||||
// addNamedTokenSecretReference adds a reference to the named ServiceAccountToken
|
// addNamedTokenSecretReference adds a reference to the named ServiceAccountToken
|
||||||
@ -114,9 +115,9 @@ func opaqueSecret() *v1.Secret {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// createdTokenSecret returns the ServiceAccountToken secret posted when creating a new token secret.
|
// createdTokenSecret returns the ServiceAccountToken secret posted when creating a new token secret.
|
||||||
// Named "default-token-fplln", since that is the first generated name after rand.Seed(1)
|
// Named "default-token-p7w9c", since that is the first generated name after rand.Seed(1)
|
||||||
func createdTokenSecret(overrideName ...string) *v1.Secret {
|
func createdTokenSecret(overrideName ...string) *v1.Secret {
|
||||||
return namedCreatedTokenSecret("default-token-fplln")
|
return namedCreatedTokenSecret("default-token-p7w9c")
|
||||||
}
|
}
|
||||||
|
|
||||||
// namedTokenSecret returns the ServiceAccountToken secret posted when creating a new token secret with the given name.
|
// namedTokenSecret returns the ServiceAccountToken secret posted when creating a new token secret with the given name.
|
||||||
@ -259,12 +260,12 @@ func TestTokenCreation(t *testing.T) {
|
|||||||
|
|
||||||
// Attempt 2
|
// Attempt 2
|
||||||
core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"),
|
core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"),
|
||||||
core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-gziey")),
|
core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-x50vb")),
|
||||||
|
|
||||||
// Attempt 3
|
// Attempt 3
|
||||||
core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"),
|
core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"),
|
||||||
core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-oh43e")),
|
core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-scq98")),
|
||||||
core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addNamedTokenSecretReference(emptySecretReferences(), "default-token-oh43e"))),
|
core.NewUpdateAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, serviceAccount(addNamedTokenSecretReference(emptySecretReferences(), "default-token-scq98"))),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"new serviceaccount with no secrets encountering unending create error": {
|
"new serviceaccount with no secrets encountering unending create error": {
|
||||||
@ -288,10 +289,10 @@ func TestTokenCreation(t *testing.T) {
|
|||||||
core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()),
|
core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, createdTokenSecret()),
|
||||||
// Retry 1
|
// Retry 1
|
||||||
core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"),
|
core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"),
|
||||||
core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-gziey")),
|
core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-x50vb")),
|
||||||
// Retry 2
|
// Retry 2
|
||||||
core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"),
|
core.NewGetAction(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, v1.NamespaceDefault, "default"),
|
||||||
core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-oh43e")),
|
core.NewCreateAction(schema.GroupVersionResource{Version: "v1", Resource: "secrets"}, v1.NamespaceDefault, namedCreatedTokenSecret("default-token-scq98")),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"new serviceaccount with missing secrets": {
|
"new serviceaccount with missing secrets": {
|
||||||
@ -652,7 +653,7 @@ func TestTokenCreation(t *testing.T) {
|
|||||||
|
|
||||||
expectedAction := tc.ExpectedActions[i]
|
expectedAction := tc.ExpectedActions[i]
|
||||||
if !reflect.DeepEqual(expectedAction, action) {
|
if !reflect.DeepEqual(expectedAction, action) {
|
||||||
t.Errorf("%s: Expected\n\t%#v\ngot\n\t%#v", k, expectedAction, action)
|
t.Errorf("%s:\nExpected:\n%s\ngot:\n%s", k, spew.Sdump(expectedAction), spew.Sdump(action))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,8 +23,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var letters = []rune("abcdefghijklmnopqrstuvwxyz0123456789")
|
|
||||||
var numLetters = len(letters)
|
|
||||||
var rng = struct {
|
var rng = struct {
|
||||||
sync.Mutex
|
sync.Mutex
|
||||||
rand *rand.Rand
|
rand *rand.Rand
|
||||||
@ -72,12 +70,16 @@ func Perm(n int) []int {
|
|||||||
return rng.rand.Perm(n)
|
return rng.rand.Perm(n)
|
||||||
}
|
}
|
||||||
|
|
||||||
// String generates a random alphanumeric string n characters long. This will
|
// We omit vowels from the set of available characters to reduce the chances
|
||||||
// panic if n is less than zero.
|
// of "bad words" being formed.
|
||||||
|
var alphanums = []rune("bcdfghjklmnpqrstvwxz0123456789")
|
||||||
|
|
||||||
|
// String generates a random alphanumeric string, without vowels, which is n
|
||||||
|
// characters long. This will panic if n is less than zero.
|
||||||
func String(length int) string {
|
func String(length int) string {
|
||||||
b := make([]rune, length)
|
b := make([]rune, length)
|
||||||
for i := range b {
|
for i := range b {
|
||||||
b[i] = letters[Intn(numLetters)]
|
b[i] = alphanums[Intn(len(alphanums))]
|
||||||
}
|
}
|
||||||
return string(b)
|
return string(b)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user