Skip to content

Commit 0bdb03d

Browse files
committed
Bump kubetest2 binaries
1 parent 65fb20a commit 0bdb03d

File tree

4 files changed

+47
-80
lines changed

4 files changed

+47
-80
lines changed

hack/bin/BUILD.bazel

+9-31
Original file line numberDiff line numberDiff line change
@@ -143,38 +143,16 @@ genrule(
143143
genrule(
144144
name = "fetch_kubetest2",
145145
srcs = select({
146-
":m1": ["@kubetest2_darwin//file"],
147-
":darwin": ["@kubetest2_darwin//file"],
148-
":k8": ["@kubetest2_linux//file"],
146+
":m1": ["@kubetest2_darwin//:files"],
147+
":darwin": ["@kubetest2_darwin//:files"],
148+
":k8": ["@kubetest2_linux//:files"],
149149
}),
150-
outs = ["kubetest2"],
151-
cmd = "cp $(SRCS) $@",
152-
visibility = ["//visibility:public"],
153-
)
154-
155-
# fetch_kubetest2_gke rules to fetch the binary for kubetest2_gke used on e2e tests that are saved on a google cloud bucket
156-
genrule(
157-
name = "fetch_kubetest2_gke",
158-
srcs = select({
159-
":m1": ["@kubetest2_gke_darwin//file"],
160-
":darwin": ["@kubetest2_gke_darwin//file"],
161-
":k8": ["@kubetest2_gke_linux//file"],
162-
}),
163-
outs = ["kubetest2-gke"],
164-
cmd = "cp $(SRCS) $@",
165-
visibility = ["//visibility:public"],
166-
)
167-
168-
# fetch_kubetest2_exe`rules to fetch the binary for kubetest2_exe used on e2e tests that are saved on a google cloud bucket
169-
genrule(
170-
name = "fetch_kubetest2_exe",
171-
srcs = select({
172-
":m1": ["@kubetest2_exe_darwin//file"],
173-
":darwin": ["@kubetest2_exe_darwin//file"],
174-
":k8": ["@kubetest2_exe_linux//file"],
175-
}),
176-
outs = ["kubetest2-tester-exec"],
177-
cmd = "cp $(SRCS) $@",
150+
outs = [
151+
"kubetest2",
152+
"kubetest2-gke",
153+
"kubetest2-tester-exec",
154+
],
155+
cmd = "cp $(SRCS) $(@D)",
178156
visibility = ["//visibility:public"],
179157
)
180158

hack/bin/deps.bzl

+21-46
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@ def install():
6464
install_k3d()
6565
install_kubetest2()
6666
install_kubetest2_aws()
67-
install_kubetest2_exe()
68-
install_kubetest2_gke()
6967
install_kustomize()
7068
install_oc()
7169
install_operator_sdk()
@@ -266,54 +264,31 @@ filegroup(
266264

267265
## Fetch kubetest2 binary used during e2e tests
268266
def install_kubetest2():
269-
# install kubetest2 binary
270-
http_file(
271-
name = "kubetest2_darwin",
272-
executable = 1,
273-
sha256 = "5b20aadd05eca47dead180a7c8296d75e81c184aabf182d4a41ef96597db543d",
274-
urls = ["https://storage.googleapis.com/crdb-bazel-artifacts/osx/kubetest2"],
275-
)
267+
url = "https://github.com/pseudomuto/kubetest2/releases/download/v0.1.0/kubetest2_0.1.0_{}_amd64.tar.gz"
268+
content = """
269+
filegroup(
270+
name = "files",
271+
srcs = [
272+
"kubetest2",
273+
"kubetest2-gke",
274+
"kubetest2-tester-exec",
275+
],
276+
visibility = ["//visibility:public"],
277+
)
278+
"""
276279

277-
http_file(
280+
http_archive(
278281
name = "kubetest2_linux",
279-
executable = 1,
280-
sha256 = "7f0b05654fa43ca1c607db297b5f3a775f65eea90355bb6b10137a7fffff5e1a",
281-
urls = ["https://storage.googleapis.com/crdb-bazel-artifacts/linux/kubetest2"],
282+
sha256 = "04319fb9cef1a5370548c47a0c65fa8d4f85a1b6d4417b318a93125d72590d1b",
283+
urls = [url.format("linux")],
284+
build_file_content = content,
282285
)
283286

284-
## Fetch kubetest2-gke binary used during e2e tests
285-
def install_kubetest2_gke():
286-
# install kubetest2-gke binary
287-
# TODO osx support
288-
http_file(
289-
name = "kubetest2_gke_darwin",
290-
executable = 1,
291-
sha256 = "a1cbe02f61931dbe6c8d1662442f42cb538c81e4ec8cdd40f548f0e05cbd55a7",
292-
urls = ["https://storage.googleapis.com/crdb-bazel-artifacts/osx/kubetest2-gke"],
293-
)
294-
295-
http_file(
296-
name = "kubetest2_gke_linux",
297-
executable = 1,
298-
sha256 = "9ac658234efc7f59968888662dd2d21908587789f6b812392ac5b6766b17c0b4",
299-
urls = ["https://storage.googleapis.com/crdb-bazel-artifacts/linux/kubetest2-gke"],
300-
)
301-
## Fetch kubetest2-tester-exe binary used during e2e tests
302-
def install_kubetest2_exe():
303-
# install kubetest2-exe binary
304-
# TODO osx support
305-
http_file(
306-
name = "kubetest2_exe_darwin",
307-
executable = 1,
308-
sha256 = "818690cb55590440e163b18dd139c8a8714df9480f869bafe19eb344047cf37c",
309-
urls = ["https://storage.googleapis.com/crdb-bazel-artifacts/osx/kubetest2-tester-exec"],
310-
)
311-
312-
http_file(
313-
name = "kubetest2_exe_linux",
314-
executable = 1,
315-
sha256 = "4483f40f48b98e8a6aa41f58bfdf1f2787066a4e1ad1343e4281892aa1326736",
316-
urls = ["https://storage.googleapis.com/crdb-bazel-artifacts/linux/kubetest2-tester-exec"],
287+
http_archive(
288+
name = "kubetest2_darwin",
289+
sha256 = "972d639e9548f296c8470c3418630baa4176aabc2b2e5d47d62b9eb8ee2b91cf",
290+
urls = [url.format("darwin")],
291+
build_file_content = content,
317292
)
318293

319294
## Fetch operator-sdk used on generating csv

pkg/resource/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ go_library(
5757
go_test(
5858
name = "go_default_test",
5959
srcs = [
60-
"cluster_test.go",
6160
"certificate_test.go",
61+
"cluster_test.go",
6262
"discovery_service_test.go",
6363
"pod_distruption_budget_test.go",
6464
"public_service_test.go",

pkg/testutil/env/env.go

+16-2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,13 @@ import (
2020
"flag"
2121
"fmt"
2222
"os"
23+
"time"
2324

2425
api "github.com/cockroachdb/cockroach-operator/apis/v1alpha1"
26+
backoff "github.com/cockroachdb/cockroach-operator/bazel-cockroach-operator/external/com_github_cenkalti_backoff"
2527
customClient "github.com/cockroachdb/cockroach-operator/pkg/client/clientset/versioned"
2628
"github.com/cockroachdb/errors"
29+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2730
"k8s.io/apimachinery/pkg/runtime"
2831
apiruntime "k8s.io/apimachinery/pkg/runtime"
2932
"k8s.io/apimachinery/pkg/runtime/schema"
@@ -139,8 +142,19 @@ func CreateActiveEnvForTest() *Env {
139142
}
140143

141144
func loadResources(k *k8s) ([]schema.GroupVersionResource, error) {
142-
lists, err := k.DiscoveryClient.ServerPreferredResources()
143-
if err != nil {
145+
b := backoff.NewExponentialBackOff()
146+
b.MaxElapsedTime = 60 * time.Second
147+
lists := make([]*metav1.APIResourceList, 0)
148+
149+
// GKE was having issues fetching api resources. Giving it some time
150+
// (tested via time.Sleep(10*time.Second)) seemed to resolve this issue.
151+
// Rather than a sleep call, we should retry until it's ready or ultimately
152+
// fails.
153+
if err := backoff.Retry(func() error {
154+
var err error
155+
lists, err = k.DiscoveryClient.ServerPreferredResources()
156+
return err
157+
}, b); err != nil {
144158
return nil, errors.Wrap(err, "failed to fetch preferred server resource")
145159
}
146160

0 commit comments

Comments
 (0)