From acebe24bf39542d5c74269f2634cb6f33fe4e906 Mon Sep 17 00:00:00 2001 From: Vish Kannan Date: Wed, 22 Jul 2015 12:51:29 -0700 Subject: [PATCH] Revert "Move rand string func to util for reuse" --- pkg/api/generate.go | 16 ++++++++++--- pkg/util/rand/rand.go | 48 -------------------------------------- pkg/util/rand/rand_test.go | 37 ----------------------------- 3 files changed, 13 insertions(+), 88 deletions(-) delete mode 100644 pkg/util/rand/rand.go delete mode 100644 pkg/util/rand/rand_test.go diff --git a/pkg/api/generate.go b/pkg/api/generate.go index 772873f90e4..a3cf5b2a785 100644 --- a/pkg/api/generate.go +++ b/pkg/api/generate.go @@ -18,8 +18,7 @@ package api import ( "fmt" - - utilrand "github.com/GoogleCloudPlatform/kubernetes/pkg/util/rand" + "math/rand" ) // NameGenerator generates names for objects. Some backends may have more information @@ -60,5 +59,16 @@ func (simpleNameGenerator) GenerateName(base string) string { if len(base) > maxGeneratedNameLength { base = base[:maxGeneratedNameLength] } - return fmt.Sprintf("%s%s", base, utilrand.String(randomLength)) + value := randSeq(randomLength) + return fmt.Sprintf("%s%s", base, value) +} + +var letters = []rune("abcdefghijklmnopqrstuvwxyz0123456789") + +func randSeq(n int) string { + b := make([]rune, n) + for i := range b { + b[i] = letters[rand.Intn(len(letters))] + } + return string(b) } diff --git a/pkg/util/rand/rand.go b/pkg/util/rand/rand.go deleted file mode 100644 index 9d3c7eb5c06..00000000000 --- a/pkg/util/rand/rand.go +++ /dev/null @@ -1,48 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Package rand provides utilities related to randomization. -package rand - -import ( - "math/rand" - "sync" - "time" -) - -var letters = []rune("abcdefghijklmnopqrstuvwxyz0123456789") -var numLetters = len(letters) -var rng = struct { - rand *rand.Rand - lock sync.Mutex -}{ - rand: rand.New(rand.NewSource(time.Now().UTC().UnixNano())), -} - -// String generates a random alphanumeric string n characters long. This will -// panic if n is less than zero. -func String(n int) string { - if n < 0 { - panic("out-of-bounds value") - } - b := make([]rune, n) - rng.lock.Lock() - defer rng.lock.Unlock() - for i := range b { - b[i] = letters[rng.rand.Intn(numLetters)] - } - return string(b) -} diff --git a/pkg/util/rand/rand_test.go b/pkg/util/rand/rand_test.go deleted file mode 100644 index 0c76885674e..00000000000 --- a/pkg/util/rand/rand_test.go +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package rand - -import ( - "strings" - "testing" -) - -func TestString(t *testing.T) { - valid := "0123456789abcdefghijklmnopqrstuvwxyz" - for _, l := range []int{0, 1, 2, 10, 123} { - s := String(l) - if len(s) != l { - t.Errorf("expected string of size %d, got %q", l, s) - } - for _, c := range s { - if !strings.ContainsRune(valid, c) { - t.Errorf("expected valid charaters, got %v", c) - } - } - } -}