kubernetes: kubernetes unit tests fail with Panic messages stating "invalid type"
logs_ci-unit-kubernetes_50_build-log.txt
What happened: Below are the 27 unit tests that panic and FAIL while I run “make test”
Also the analysis says that the failure started occurring after the below PR merge: #https://github.com/kubernetes/kubernetes/pull/90582/commits/283d9f7483d9a5b30746921a68e7a5e586c2c80e This commit updates github.com/golang/protobuf from v1.3.3 to v1.4.2. The invalid Type failures that occur are from the newer implementation of protobuf that is added at “kubernetes/vendor/google.golang.org/protobuf” which did not exist prior to this commit.
Failure Message: panic: field etcdserverpb.Request.ID has invalid type: got uint64, want pointer
- pkg/master TestStorageVersionHashes
- pkg/registry/apps/daemonset/storage TestDelete
- pkg/registry/apps/replicaset/storage TestList
- pkg/registry/core/configmap/storage TestCreate
- pkg/registry/core/event/storage TestDelete
- pkg/registry/core/persistentvolume/storage TestCreate
- pkg/registry/core/persistentvolumeclaim/storage TestGet
- pkg/registry/core/pod/storage TestEviction
- pkg/registry/core/service/storage
- pkg/registry/scheduling/priorityclass/storage TestUpdate
- pkg/registry/storage/csinode/storage TestCreate
- pkg/registry/storage/volumeattachment/storage TestWatch
- vendor/k8s.io/apiserver/pkg/registry/generic/registry TestDryRunCreateDoesntCreate
- vendor/k8s.io/apiserver/pkg/storage/etcd3 TestCreateWithTTL
- vendor/k8s.io/apiserver/pkg/storage/tests TestWatchBookmarksWithCorrectResourceVersion Failure message: panic: invalid Go type int for field k8s_io.kubernetes.vendor.go_etcd_io.etcd.etcdserver.etcdserverpb.loggablePutRequest.value_size
- pkg/registry/apps/deployment/storage TestUpdate
- pkg/registry/apps/statefulset/storage TestStatusUpdate
- pkg/registry/batch/cronjob/storage TestCreate
- pkg/registry/core/namespace/storage TestCreate
- pkg/registry/core/node/storage TestList (
- pkg/registry/core/replicationcontroller/storage TestWatch
- pkg/registry/core/secret/storage TestCreate
- pkg/registry/networking/networkpolicy/storage TestCreate
- pkg/registry/settings/podpreset/storage TestUpdate
- pkg/registry/storage/csidriver/storage TestList
- pkg/registry/storage/storageclass/storage TestUpdate
- vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource
What you expected to happen: The unit tests must pass without error message.
How to reproduce it (as minimally and precisely as possible):
- Setup Go lang 1.13.5
- Clone kubernetes source code : git clone git@github.com:kubernetes/kubernetes.git
- Ensure you are on master branch : git checkout master
- cd kubernetes/hack/tools
- GO111MODULE=on go install gotest.tools/gotestsum
- make generated_files
- make test WHAT=<Path of any one test from above failures> eg: make test WHAT=k8s.io/kubernetes/pkg/registry/apps/deployment/storage/
Anything else we need to know?: This failure consistently occurs when unit test is run through an automated Jenkins pipeline. But the failure is seen intermittently when run “make test” manually. Sometimes, easily reproducible when we do “make clean”, “make clean_generated” followed by “make test” Please see the consistent failure at https://k8s-testgrid.appspot.com/sig-node-ppc64le#unit-tests
Environment: Architechture: linux/ppc64le
- Kubernetes version (use
kubectl version
): - Cloud provider or hardware configuration:
- OS (e.g:
cat /etc/os-release
): Ubuntu 18.04.4 - Kernel (e.g.
uname -a
): - Install tools:
- Network plugin and version (if this is a network-related bug):
- Others: @mkumatag
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 18 (17 by maintainers)
the fix is in the release-3.4 branch. However, 3.4.10 has not been released yet.
go.mod PR has been created as well.
No I haven’t. @liggitt Is there a solution?