operator-sdk: make test fails
Bug Report
What did you do?
Create new folder and run
go mod init example.com/m/v2
operator-sdk init --plugins go/v3 --domain example.org --owner "Your name"
operator-sdk create api --group ship --version v1beta1 --kind Frigate
make test
What did you expect to see?
PASS
What did you see instead? Under which circumstances?
/home/deb/osdk/bin/controller-gen "crd:trivialVersions=true,preserveUnknownFields=false" rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases
/home/deb/osdk/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" paths="./..."
go fmt ./...
controllers/suite_test.go
go vet ./...
/home/deb/osdk/bin/setup-envtest use 1.21
Version: 1.21.2
OS/Arch: linux/amd64
Path: /home/deb/.local/share/kubebuilder-envtest/k8s/1.21.2-linux-amd64
go test ./... -coverprofile cover.out
? example.com/m/v2 [no test files]
? example.com/m/v2/api/v1beta1 [no test files]
Running Suite: Controller Suite
===============================
Random Seed: 1627252835
Will run 0 of 0 specs
STEP: bootstrapping test environment
2021-07-25T23:40:35.352+0100 DEBUG controller-runtime.test-env starting control plane
2021-07-25T23:40:35.353+0100 ERROR controller-runtime.test-env unable to start the controlplane {"tries": 0, "error": "fork/exec /usr/local/kubebuilder/bin/etcd: no such file or directory"}
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).startControlPlane
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:330
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).Start
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:260
example.com/m/v2/controllers.glob..func1
/home/deb/osdk/controllers/suite_test.go:58
github.com/onsi/ginkgo/internal/leafnodes.(*runner).runSync
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113
github.com/onsi/ginkgo/internal/leafnodes.(*runner).run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:64
github.com/onsi/ginkgo/internal/leafnodes.(*simpleSuiteNode).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/suite_nodes.go:25
github.com/onsi/ginkgo/internal/specrunner.(*SpecRunner).runBeforeSuite
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go:123
github.com/onsi/ginkgo/internal/specrunner.(*SpecRunner).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go:63
github.com/onsi/ginkgo/internal/suite.(*Suite).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/suite/suite.go:79
github.com/onsi/ginkgo.runSpecsWithCustomReporters
/home/deb/osdk/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go:238
github.com/onsi/ginkgo.RunSpecsWithDefaultAndCustomReporters
/home/deb/osdk/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go:221
example.com/m/v2/controllers.TestAPIs
/home/deb/osdk/controllers/suite_test.go:44
testing.tRunner
/usr/local/go/src/testing/testing.go:1193
2021-07-25T23:40:35.353+0100 ERROR controller-runtime.test-env unable to start the controlplane {"tries": 1, "error": "fork/exec /usr/local/kubebuilder/bin/etcd: no such file or directory"}
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).startControlPlane
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:330
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).Start
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:260
example.com/m/v2/controllers.glob..func1
/home/deb/osdk/controllers/suite_test.go:58
github.com/onsi/ginkgo/internal/leafnodes.(*runner).runSync
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113
github.com/onsi/ginkgo/internal/leafnodes.(*runner).run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:64
github.com/onsi/ginkgo/internal/leafnodes.(*simpleSuiteNode).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/suite_nodes.go:25
github.com/onsi/ginkgo/internal/specrunner.(*SpecRunner).runBeforeSuite
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go:123
github.com/onsi/ginkgo/internal/specrunner.(*SpecRunner).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go:63
github.com/onsi/ginkgo/internal/suite.(*Suite).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/suite/suite.go:79
github.com/onsi/ginkgo.runSpecsWithCustomReporters
/home/deb/osdk/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go:238
github.com/onsi/ginkgo.RunSpecsWithDefaultAndCustomReporters
/home/deb/osdk/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go:221
example.com/m/v2/controllers.TestAPIs
/home/deb/osdk/controllers/suite_test.go:44
testing.tRunner
/usr/local/go/src/testing/testing.go:1193
2021-07-25T23:40:35.354+0100 ERROR controller-runtime.test-env unable to start the controlplane {"tries": 2, "error": "fork/exec /usr/local/kubebuilder/bin/etcd: no such file or directory"}
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).startControlPlane
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:330
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).Start
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:260
example.com/m/v2/controllers.glob..func1
/home/deb/osdk/controllers/suite_test.go:58
github.com/onsi/ginkgo/internal/leafnodes.(*runner).runSync
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113
github.com/onsi/ginkgo/internal/leafnodes.(*runner).run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:64
github.com/onsi/ginkgo/internal/leafnodes.(*simpleSuiteNode).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/suite_nodes.go:25
github.com/onsi/ginkgo/internal/specrunner.(*SpecRunner).runBeforeSuite
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go:123
github.com/onsi/ginkgo/internal/specrunner.(*SpecRunner).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go:63
github.com/onsi/ginkgo/internal/suite.(*Suite).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/suite/suite.go:79
github.com/onsi/ginkgo.runSpecsWithCustomReporters
/home/deb/osdk/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go:238
github.com/onsi/ginkgo.RunSpecsWithDefaultAndCustomReporters
/home/deb/osdk/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go:221
example.com/m/v2/controllers.TestAPIs
/home/deb/osdk/controllers/suite_test.go:44
testing.tRunner
/usr/local/go/src/testing/testing.go:1193
2021-07-25T23:40:35.354+0100 ERROR controller-runtime.test-env unable to start the controlplane {"tries": 3, "error": "fork/exec /usr/local/kubebuilder/bin/etcd: no such file or directory"}
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).startControlPlane
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:330
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).Start
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:260
example.com/m/v2/controllers.glob..func1
/home/deb/osdk/controllers/suite_test.go:58
github.com/onsi/ginkgo/internal/leafnodes.(*runner).runSync
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113
github.com/onsi/ginkgo/internal/leafnodes.(*runner).run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:64
github.com/onsi/ginkgo/internal/leafnodes.(*simpleSuiteNode).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/suite_nodes.go:25
github.com/onsi/ginkgo/internal/specrunner.(*SpecRunner).runBeforeSuite
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go:123
github.com/onsi/ginkgo/internal/specrunner.(*SpecRunner).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go:63
github.com/onsi/ginkgo/internal/suite.(*Suite).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/suite/suite.go:79
github.com/onsi/ginkgo.runSpecsWithCustomReporters
/home/deb/osdk/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go:238
github.com/onsi/ginkgo.RunSpecsWithDefaultAndCustomReporters
/home/deb/osdk/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go:221
example.com/m/v2/controllers.TestAPIs
/home/deb/osdk/controllers/suite_test.go:44
testing.tRunner
/usr/local/go/src/testing/testing.go:1193
2021-07-25T23:40:35.354+0100 ERROR controller-runtime.test-env unable to start the controlplane {"tries": 4, "error": "fork/exec /usr/local/kubebuilder/bin/etcd: no such file or directory"}
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).startControlPlane
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:330
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).Start
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:260
example.com/m/v2/controllers.glob..func1
/home/deb/osdk/controllers/suite_test.go:58
github.com/onsi/ginkgo/internal/leafnodes.(*runner).runSync
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:113
github.com/onsi/ginkgo/internal/leafnodes.(*runner).run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/runner.go:64
github.com/onsi/ginkgo/internal/leafnodes.(*simpleSuiteNode).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/leafnodes/suite_nodes.go:25
github.com/onsi/ginkgo/internal/specrunner.(*SpecRunner).runBeforeSuite
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go:123
github.com/onsi/ginkgo/internal/specrunner.(*SpecRunner).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/specrunner/spec_runner.go:63
github.com/onsi/ginkgo/internal/suite.(*Suite).Run
/home/deb/osdk/vendor/github.com/onsi/ginkgo/internal/suite/suite.go:79
github.com/onsi/ginkgo.runSpecsWithCustomReporters
/home/deb/osdk/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go:238
github.com/onsi/ginkgo.RunSpecsWithDefaultAndCustomReporters
/home/deb/osdk/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go:221
example.com/m/v2/controllers.TestAPIs
/home/deb/osdk/controllers/suite_test.go:44
testing.tRunner
/usr/local/go/src/testing/testing.go:1193
Failure [0.002 seconds]
[BeforeSuite] BeforeSuite
/home/deb/osdk/controllers/suite_test.go:49
Unexpected error:
<*fmt.wrapError | 0xc00007e600>: {
msg: "unable to start control plane itself: failed to start the controlplane. retried 5 times: fork/exec /usr/local/kubebuilder/bin/etcd: no such file or directory",
err: <*fmt.wrapError | 0xc00007e5e0>{
msg: "failed to start the controlplane. retried 5 times: fork/exec /usr/local/kubebuilder/bin/etcd: no such file or directory",
err: <*fs.PathError | 0xc00033a7b0>{
Op: "fork/exec",
Path: "/usr/local/kubebuilder/bin/etcd",
Err: <syscall.Errno>0x2,
},
},
}
unable to start control plane itself: failed to start the controlplane. retried 5 times: fork/exec /usr/local/kubebuilder/bin/etcd: no such file or directory
occurred
/home/deb/osdk/controllers/suite_test.go:59
------------------------------
STEP: tearing down the test environment
Panic [0.000 seconds]
[AfterSuite] AfterSuite
/home/deb/osdk/controllers/suite_test.go:73
Test Panicked
runtime error: invalid memory address or nil pointer dereference
/usr/local/go/src/runtime/panic.go:212
Full Stack Trace
sigs.k8s.io/controller-runtime/pkg/internal/testing/controlplane.(*APIServer).Stop(0xc0005b4000, 0x4b6acd, 0x177ce51)
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/testing/controlplane/apiserver.go:417 +0x2d
sigs.k8s.io/controller-runtime/pkg/internal/testing/controlplane.(*ControlPlane).Stop(0xc0002ee000, 0x4f5b00, 0xc00011f560)
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/testing/controlplane/plane.go:87 +0x1e5
sigs.k8s.io/controller-runtime/pkg/envtest.(*Environment).Stop(0xc0002ee000, 0x21, 0x0)
/home/deb/osdk/vendor/sigs.k8s.io/controller-runtime/pkg/envtest/server.go:194 +0xa5
example.com/m/v2/controllers.glob..func2()
/home/deb/osdk/controllers/suite_test.go:75 +0x5b
example.com/m/v2/controllers.TestAPIs(0xc00048cc00)
/home/deb/osdk/controllers/suite_test.go:44 +0xcd
testing.tRunner(0xc00048cc00, 0x1823cb8)
/usr/local/go/src/testing/testing.go:1193 +0xef
created by testing.(*T).Run
/usr/local/go/src/testing/testing.go:1238 +0x2b3
------------------------------
Ran 0 of 0 Specs in 0.002 seconds
FAIL! -- 0 Passed | 0 Failed | 0 Pending | 0 Skipped
You're using deprecated Ginkgo functionality:
=============================================
Ginkgo 2.0 is under active development and will introduce (a small number of) breaking changes.
To learn more, view the migration guide at https://github.com/onsi/ginkgo/blob/v2/docs/MIGRATING_TO_V2.md
To comment, chime in at https://github.com/onsi/ginkgo/issues/711
You are using a custom reporter. Support for custom reporters will likely be removed in V2. Most users were using them to generate junit or teamcity reports and this functionality will be merged into the core reporter. In addition, Ginkgo 2.0 will support emitting a JSON-formatted report that users can then manipulate to generate custom reports.
If this change will be impactful to you please leave a comment on https://github.com/onsi/ginkgo/issues/711
Learn more at: https://github.com/onsi/ginkgo/blob/v2/docs/MIGRATING_TO_V2.md#removed-custom-reporters
To silence deprecations that can be silenced set the following environment variable:
ACK_GINKGO_DEPRECATIONS=1.16.4
--- FAIL: TestAPIs (0.00s)
FAIL
coverage: 0.0% of statements
FAIL example.com/m/v2/controllers 0.017s
FAIL
make: *** [Makefile:89: test] Error 1
Environment
Operator type:
/language go
Kubernetes cluster type:
vanilla
$ operator-sdk version
operator-sdk version: "unknown", commit: "unknown", kubernetes version: "unknown", go version: "go1.16.6", GOOS: "windows", GOARCH: "amd64"
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:12:48Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f79527be4afd95bf39", GitTreeState:"clean", BuildDate:"2021-07-15T20:59:07Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}
Possible Solution
Additional context
Running inside WSL 2 Ubuntu 20 on Windows 10
Doing shell = /bin/bash
does not work. Are KB and friends a prerequisite?
Video
https://user-images.githubusercontent.com/4870868/126916533-361eb546-3af0-4f59-a811-e67e82460f08.mp4
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 26 (3 by maintainers)
this problem is solved by these two differentials.
https://github.com/kubernetes-sigs/controller-runtime/issues/1657#issuecomment-988484517 https://github.com/ministryofjustice/analytical-platform-tools-operator/commit/fdca2114c6bb0084492ba6f2593afe8286b0e9cf
If we execute
make envtest
manually. We can executesetup-envtest use
manually to check the information and add thepath
it prints out to theBinaryAssetsDirectory
Yes, I hit the same issue again on WSL container.
https://github.com/kubernetes-sigs/kubebuilder/pull/2272 would solve this issue.