spotahome / redis-operator

Redis Operator creates/configures/manages high availability redis with sentinel automatic failover atop Kubernetes.
Apache License 2.0
1.51k stars 359 forks source link

Generating the CRD and applying fails #561

Closed samof76 closed 1 year ago

samof76 commented 1 year ago

Expected behaviour

Generating the CRD, and replacing should pass without any failures

Actual behaviour

Now it fails with the following error...

The CustomResourceDefinition "redisfailovers.databases.spotahome.com" is invalid: 
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[initContainers].items.properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[extraContainers].items.properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[exporter].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[extraVolumes].items.properties[ephemeral].properties[volumeClaimTemplate].properties[spec].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[storage].properties[persistentVolumeClaim].properties[spec].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[sentinel].properties[extraContainers].items.properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[sentinel].properties[initContainers].items.properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[sentinel].properties[extraVolumes].items.properties[ephemeral].properties[volumeClaimTemplate].properties[spec].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[sentinel].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[sentinel].properties[exporter].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set

Steps to reproduce the behaviour

make generate-crd 
cd manifests
kubectx kind-kind
kubectl replace -f databases.spotahome.com_redisfailovers.yaml

Describe step by step what you've have done to get to this point

Environment

How are the pieces configured?

Logs

> kubectl -v=8 replace -f databases.spotahome.com_redisfailovers.yaml                                                                     
I0204 10:18:08.525582  785338 loader.go:372] Config loaded from file:  /home/sam/.kube/config
I0204 10:18:08.526570  785338 round_trippers.go:432] GET https://127.0.0.1:34095/openapi/v2?timeout=32s
I0204 10:18:08.526579  785338 round_trippers.go:438] Request Headers:
I0204 10:18:08.526584  785338 round_trippers.go:442]     Accept: application/com.github.proto-openapi.spec.v2@v1.0+protobuf
I0204 10:18:08.526588  785338 round_trippers.go:442]     User-Agent: kubectl/v1.22.15 (linux/amd64) kubernetes/1d79bc3
I0204 10:18:08.542730  785338 round_trippers.go:457] Response Status: 200 OK in 16 milliseconds
I0204 10:18:08.542768  785338 round_trippers.go:460] Response Headers:
I0204 10:18:08.542773  785338 round_trippers.go:463]     X-Varied-Accept: application/com.github.proto-openapi.spec.v2@v1.0+protobuf
I0204 10:18:08.542779  785338 round_trippers.go:463]     Accept-Ranges: bytes
I0204 10:18:08.542783  785338 round_trippers.go:463]     Audit-Id: e16f4727-833b-4159-ab5d-e825e5f329a8
I0204 10:18:08.542787  785338 round_trippers.go:463]     Date: Sat, 04 Feb 2023 04:48:08 GMT
I0204 10:18:08.542791  785338 round_trippers.go:463]     Last-Modified: Thu, 26 Jan 2023 05:31:07 GMT
I0204 10:18:08.542795  785338 round_trippers.go:463]     Vary: Accept-Encoding
I0204 10:18:08.542799  785338 round_trippers.go:463]     Vary: Accept
I0204 10:18:08.542803  785338 round_trippers.go:463]     X-From-Cache: 1
I0204 10:18:08.542807  785338 round_trippers.go:463]     Content-Type: application/octet-stream
I0204 10:18:08.542811  785338 round_trippers.go:463]     X-Kubernetes-Pf-Flowschema-Uid: 9b988678-0fe4-402e-8f3d-b30c692e6968
I0204 10:18:08.542816  785338 round_trippers.go:463]     X-Kubernetes-Pf-Prioritylevel-Uid: 7a5ffb10-719e-44ac-9c3e-a4ea7ca9de11
I0204 10:18:08.542819  785338 round_trippers.go:463]     Cache-Control: no-cache, private
I0204 10:18:08.542823  785338 round_trippers.go:463]     Etag: "3BE8DAA0BD56F044C714BF7D958FE0F1CA58869FC609AE188351FA3BFDCF703AD2D3278E5220DCA69AEDA04D6CA5DE37A901F70CFF91F0E28EA913CE8C68F6DC"
I0204 10:18:08.645252  785338 request.go:1179] Response Body:
00000000  0a 03 32 2e 30 12 16 0a  0a 4b 75 62 65 72 6e 65  |..2.0....Kuberne|
00000010  74 65 73 12 08 76 31 2e  32 33 2e 31 33 42 a4 9c  |tes..v1.23.13B..|
00000020  86 01 12 8c 02 0a 22 2f  2e 77 65 6c 6c 2d 6b 6e  |......"/.well-kn|
00000030  6f 77 6e 2f 6f 70 65 6e  69 64 2d 63 6f 6e 66 69  |own/openid-confi|
00000040  67 75 72 61 74 69 6f 6e  2f 12 e5 01 12 e2 01 0a  |guration/.......|
00000050  09 57 65 6c 6c 4b 6e 6f  77 6e 1a 57 67 65 74 20  |.WellKnown.Wget |
00000060  73 65 72 76 69 63 65 20  61 63 63 6f 75 6e 74 20  |service account |
00000070  69 73 73 75 65 72 20 4f  70 65 6e 49 44 20 63 6f  |issuer OpenID co|
00000080  6e 66 69 67 75 72 61 74  69 6f 6e 2c 20 61 6c 73  |nfiguration, als|
00000090  6f 20 6b 6e 6f 77 6e 20  61 73 20 74 68 65 20 27  |o known as the '|
000000a0  4f 49 44 43 20 64 69 73  63 6f 76 65 72 79 20 64  |OIDC discovery d|
000000b0  6f 63 27 2a 2a 67 65 74  53 65 72 76 69 63 65 41  |oc'**getServiceA|
000000c0  63 63 6f 75 6e 74 49 73  73 75 65 72 4f 70 65 6e  |ccountIssuerOpe [truncated 16215700 chars]
I0204 10:18:08.759836  785338 round_trippers.go:432] GET https://127.0.0.1:34095/apis/apiextensions.k8s.io/v1/customresourcedefinitions/redisfailovers.databases.spotahome.com
I0204 10:18:08.759851  785338 round_trippers.go:438] Request Headers:
I0204 10:18:08.759856  785338 round_trippers.go:442]     User-Agent: kubectl/v1.22.15 (linux/amd64) kubernetes/1d79bc3
I0204 10:18:08.759860  785338 round_trippers.go:442]     Accept: application/json
I0204 10:18:08.788859  785338 round_trippers.go:457] Response Status: 200 OK in 28 milliseconds
I0204 10:18:08.788904  785338 round_trippers.go:460] Response Headers:
I0204 10:18:08.788914  785338 round_trippers.go:463]     Audit-Id: aecf7bcb-1561-460e-8c63-4fa4784cd528
I0204 10:18:08.788921  785338 round_trippers.go:463]     Cache-Control: no-cache, private
I0204 10:18:08.788931  785338 round_trippers.go:463]     Content-Type: application/json
I0204 10:18:08.788937  785338 round_trippers.go:463]     Vary: Accept-Encoding
I0204 10:18:08.788943  785338 round_trippers.go:463]     X-Kubernetes-Pf-Flowschema-Uid: 9b988678-0fe4-402e-8f3d-b30c692e6968
I0204 10:18:08.788950  785338 round_trippers.go:463]     X-Kubernetes-Pf-Prioritylevel-Uid: 7a5ffb10-719e-44ac-9c3e-a4ea7ca9de11
I0204 10:18:08.788956  785338 round_trippers.go:463]     Date: Sat, 04 Feb 2023 04:48:08 GMT
I0204 10:18:08.794178  785338 request.go:1181] Response Body: {"kind":"CustomResourceDefinition","apiVersion":"apiextensions.k8s.io/v1","metadata":{"name":"redisfailovers.databases.spotahome.com","uid":"b9b07d09-e42b-491f-9979-0bb076db48a3","resourceVersion":"215825","generation":1,"creationTimestamp":"2023-01-26T05:31:06Z","annotations":{"controller-gen.kubebuilder.io/version":"(devel)"},"managedFields":[{"manager":"kubectl-create","operation":"Update","apiVersion":"apiextensions.k8s.io/v1","time":"2023-01-26T05:31:06Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:controller-gen.kubebuilder.io/version":{}}},"f:spec":{"f:conversion":{".":{},"f:strategy":{}},"f:group":{},"f:names":{"f:kind":{},"f:listKind":{},"f:plural":{},"f:shortNames":{},"f:singular":{}},"f:scope":{},"f:versions":{}}}},{"manager":"kube-apiserver","operation":"Update","apiVersion":"apiextensions.k8s.io/v1","time":"2023-01-26T05:31:07Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:acceptedNames":{"f:kind":{},"f:listKind":{},"f:plural":{},"f:shortNames":{},"f:singula [truncated 421871 chars]
I0204 10:18:08.811035  785338 request.go:1181] Request Body: {"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"annotations":{"controller-gen.kubebuilder.io/version":"(devel)"},"creationTimestamp":null,"name":"redisfailovers.databases.spotahome.com","resourceVersion":"215825"},"spec":{"group":"databases.spotahome.com","names":{"kind":"RedisFailover","listKind":"RedisFailoverList","plural":"redisfailovers","shortNames":["rf"],"singular":"redisfailover"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"jsonPath":".metadata.name","name":"NAME","type":"string"},{"jsonPath":".spec.redis.replicas","name":"REDIS","type":"integer"},{"jsonPath":".spec.sentinel.replicas","name":"SENTINELS","type":"integer"},{"jsonPath":".metadata.creationTimestamp","name":"AGE","type":"date"}],"name":"v1","schema":{"openAPIV3Schema":{"description":"RedisFailover represents a Redis failover","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized sch [truncated 434183 chars]
I0204 10:18:08.811104  785338 round_trippers.go:432] PUT https://127.0.0.1:34095/apis/apiextensions.k8s.io/v1/customresourcedefinitions/redisfailovers.databases.spotahome.com?fieldManager=kubectl-replace
I0204 10:18:08.811113  785338 round_trippers.go:438] Request Headers:
I0204 10:18:08.811119  785338 round_trippers.go:442]     Accept: application/json
I0204 10:18:08.811125  785338 round_trippers.go:442]     Content-Type: application/json
I0204 10:18:08.811131  785338 round_trippers.go:442]     User-Agent: kubectl/v1.22.15 (linux/amd64) kubernetes/1d79bc3
I0204 10:18:08.977555  785338 round_trippers.go:457] Response Status: 422 Unprocessable Entity in 166 milliseconds
I0204 10:18:08.977574  785338 round_trippers.go:460] Response Headers:
I0204 10:18:08.977583  785338 round_trippers.go:463]     Audit-Id: 71b7d605-2d07-46f1-85f9-ca7df21b5c93
I0204 10:18:08.977590  785338 round_trippers.go:463]     Cache-Control: no-cache, private
I0204 10:18:08.977595  785338 round_trippers.go:463]     Content-Type: application/json
I0204 10:18:08.977602  785338 round_trippers.go:463]     X-Kubernetes-Pf-Flowschema-Uid: 9b988678-0fe4-402e-8f3d-b30c692e6968
I0204 10:18:08.977607  785338 round_trippers.go:463]     X-Kubernetes-Pf-Prioritylevel-Uid: 7a5ffb10-719e-44ac-9c3e-a4ea7ca9de11
I0204 10:18:08.977613  785338 round_trippers.go:463]     Date: Sat, 04 Feb 2023 04:48:08 GMT
I0204 10:18:08.977693  785338 request.go:1181] Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"CustomResourceDefinition.apiextensions.k8s.io \"redisfailovers.databases.spotahome.com\" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: \"null\": must be atomic as item of a list with x-kubernetes-list-type=set, spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[storage].properties[persistentVolumeClaim].properties[spec].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: \"null\": must be atomic as item of a list with x-kubernetes-list-type=set, spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[exporter].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: \"null\": must be atomic as item of a list with x-kubernetes-list-type=set, spec.validation.openAPIV3Schema.properties[spec].properties[redis]. [truncated 5834 chars]
F0204 10:18:08.978079  785338 helpers.go:116] The CustomResourceDefinition "redisfailovers.databases.spotahome.com" is invalid: 
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[storage].properties[persistentVolumeClaim].properties[spec].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[exporter].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[initContainers].items.properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[extraContainers].items.properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[redis].properties[extraVolumes].items.properties[ephemeral].properties[volumeClaimTemplate].properties[spec].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[sentinel].properties[initContainers].items.properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[sentinel].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[sentinel].properties[extraContainers].items.properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[sentinel].properties[exporter].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
* spec.validation.openAPIV3Schema.properties[spec].properties[sentinel].properties[extraVolumes].items.properties[ephemeral].properties[volumeClaimTemplate].properties[spec].properties[resources].properties[claims].items.x-kubernetes-map-type: Invalid value: "null": must be atomic as item of a list with x-kubernetes-list-type=set
goroutine 1 [running]:
k8s.io/kubernetes/vendor/k8s.io/klog/v2.stacks(0xc000130001, 0xc0000fd200, 0xc14, 0xc66)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:1026 +0xb9
k8s.io/kubernetes/vendor/k8s.io/klog/v2.(*loggingT).output(0x30d43a0, 0xc000000003, 0x0, 0x0, 0xc0002c4540, 0x2, 0x27f5cf8, 0xa, 0x74, 0x40e300)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:975 +0x1e5
k8s.io/kubernetes/vendor/k8s.io/klog/v2.(*loggingT).printDepth(0x30d43a0, 0xc000000003, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc0000e18b0, 0x1, 0x1)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:735 +0x185
k8s.io/kubernetes/vendor/k8s.io/klog/v2.FatalDepth(...)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:1500
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/util.fatal(0xc00024bc00, 0xbe6, 0x1)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/util/helpers.go:94 +0x288
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/util.checkErr(0x226a000, 0xc00121be00, 0x20ed4a8)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/util/helpers.go:158 +0x352
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/util.CheckErr(...)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/util/helpers.go:116
k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/replace.NewCmdReplace.func1(0xc0004a4a00, 0xc00069c870, 0x0, 0x3)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/replace/replace.go:121 +0x12b
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute(0xc0004a4a00, 0xc00069c840, 0x3, 0x3, 0xc0004a4a00, 0xc00069c840)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:856 +0x2c2
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc000490780, 0xc000132120, 0xc000138000, 0x5)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:960 +0x375
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).Execute(...)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:897
main.main()
        _output/dockerized/go/src/k8s.io/kubernetes/cmd/kubectl/kubectl.go:49 +0x1f7

goroutine 18 [chan receive]:
k8s.io/kubernetes/vendor/k8s.io/klog/v2.(*loggingT).flushDaemon(0x30d43a0)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:1169 +0x8b
created by k8s.io/kubernetes/vendor/k8s.io/klog/v2.init.0
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:420 +0xdf

goroutine 8 [select]:
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0x20ed3b0, 0x226a300, 0xc000538000, 0x1, 0xc000100b40)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:167 +0x118
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.JitterUntil(0x20ed3b0, 0x12a05f200, 0x0, 0x1, 0xc000100b40)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x98
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.Until(0x20ed3b0, 0x12a05f200, 0xc000100b40)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90 +0x4d
created by k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/util/logs.InitLogs
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/util/logs/logs.go:51 +0x96

goroutine 25 [IO wait]:
internal/poll.runtime_pollWait(0x7f87cb4c43d8, 0x72, 0xffffffffffffffff)
        /usr/local/go/src/runtime/netpoll.go:227 +0x55
internal/poll.(*pollDesc).wait(0xc000998118, 0x72, 0x3d00, 0x3dab, 0xffffffffffffffff)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000998100, 0xc001370000, 0x3dab, 0x3dab, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc000998100, 0xc001370000, 0x3dab, 0x3dab, 0x3da6, 0xc001370000, 0x155)
        /usr/local/go/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0004ea018, 0xc001370000, 0x3dab, 0x3dab, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/net.go:183 +0x91
crypto/tls.(*atLeastReader).Read(0xc000182030, 0xc001370000, 0x3dab, 0x3dab, 0x3da6, 0xc00003c800, 0x0)
        /usr/local/go/src/crypto/tls/conn.go:776 +0x63
bytes.(*Buffer).ReadFrom(0xc000352278, 0x2268160, 0xc000182030, 0x40b985, 0x1c2acc0, 0x1debe80)
        /usr/local/go/src/bytes/buffer.go:204 +0xbe
crypto/tls.(*Conn).readFromUntil(0xc000352000, 0x226ba40, 0xc0004ea018, 0x5, 0xc0004ea018, 0x9)
        /usr/local/go/src/crypto/tls/conn.go:798 +0xf3
crypto/tls.(*Conn).readRecordOrCCS(0xc000352000, 0x0, 0x0, 0x970d7e)
        /usr/local/go/src/crypto/tls/conn.go:605 +0x115
crypto/tls.(*Conn).readRecord(...)
        /usr/local/go/src/crypto/tls/conn.go:573
crypto/tls.(*Conn).Read(0xc000352000, 0xc000203000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/conn.go:1276 +0x165
bufio.(*Reader).Read(0xc000428a20, 0xc00017c900, 0x9, 0x9, 0x4675a0, 0xc000683800, 0x3)
        /usr/local/go/src/bufio/bufio.go:227 +0x222
io.ReadAtLeast(0x2267f60, 0xc000428a20, 0xc00017c900, 0x9, 0x9, 0x9, 0xc00070d708, 0x2268360, 0xc00010a060)
        /usr/local/go/src/io/io.go:328 +0x87
io.ReadFull(...)
        /usr/local/go/src/io/io.go:347
k8s.io/kubernetes/vendor/golang.org/x/net/http2.readFrameHeader(0xc00017c900, 0x9, 0x9, 0x2267f60, 0xc000428a20, 0x0, 0x0, 0xc00003c800, 0xc0010b5950)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/frame.go:237 +0x89
k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*Framer).ReadFrame(0xc00017c8c0, 0xc0010b5950, 0x0, 0x0, 0x0)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/frame.go:498 +0xa5
k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*clientConnReadLoop).run(0xc000125fb0, 0x0, 0x0)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/transport.go:2101 +0xa6
k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*ClientConn).readLoop(0xc00018b080)
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/transport.go:1997 +0x65
created by k8s.io/kubernetes/vendor/golang.org/x/net/http2.(*Transport).newClientConn
        /workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/golang.org/x/net/http2/transport.go:725 +0x710
samof76 commented 1 year ago

Notice the failures in this job as well... https://github.com/spotahome/redis-operator/actions/runs/4089636238/jobs/7052491278

samof76 commented 1 year ago

@ese Can you please check this?

samof76 commented 1 year ago

@Wouter0100 is this something you are also running into?

Wouter0100 commented 1 year ago

Not yet really

samof76 commented 1 year ago

@Wouter0100 / @ese do you know is there a way we could disable the alpha fields while generating the crds? I have been looking for this... if you guys already know i could just add it to the Makefile

miklezzzz commented 1 year ago

@samof76 according to this issue https://github.com/kubernetes-sigs/controller-tools/issues/600 it seems we have to come up with some sort of a workaround. I didn't find any flags/keys or whatever for controller-gen to prevent it from generating a crd witht alpha fields. Right now, I'm thinking of a recursive yaml parser for pruning based on description containing "This field is alpha-level". The question that is teasing me is how it worked before..

samof76 commented 1 year ago

There is dependabot PR that upgraded the api and apimachinery to 26 version. And introduced this regression. I have rolled back that changes in my feature for custom probes. But I think now the minikube github actions seems to be broken 😞

samof76 commented 1 year ago

@miklezzzz

A couple of things I have done fix... ... 1. The issue of the alpha fields. Downgraded k8s.io/api and k8s.io/apimachinery

go get -v k8s.io/api@v0.24.4
go get k8s.io/apimachinery@v0.24.4
go mod tidy
go mod vendor

And then generated CRD file.

... 2. The minikube new version has an issue with the cni plugin so downgraded it, as well.

miklezzzz commented 1 year ago

@samof76 Also bumped into minikube 1.29.0 cni issue :( p.s. for disabling alpha fields this may come in handy or not:

      - name: Install feature gate filter
        run: go get github.com/miklezzzz/k8sfeaturegatefilter && go install github.com/miklezzzz/k8sfeaturegatefilter
      - name: Add redisfailover CRD after sanitazing
        run: ~/go/bin/k8sfeaturegatefilter -file manifests/databases.spotahome.com_redisfailovers.yaml -gates DynamicResourceAllocation | kubectl create -f -
samof76 commented 1 year ago

@miklezzzz thanks. I see there a lot of PR still pending. I am not sure if there is some issue with the upstream folks.

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 45 days with no activity.

github-actions[bot] commented 1 year ago

This issue was closed because it has been inactive for 14 days since being marked as stale.