pravega / zookeeper-operator

Kubernetes Operator for Zookeeper
Apache License 2.0
364 stars 203 forks source link

zookeeper operator crashes #603

Closed aloosnetmatch closed 5 months ago

aloosnetmatch commented 5 months ago

Description

I installed the solr-operator 0.8.0 on my AKS cluster As part of this , the zookeeper operator is installed by the helm chart.

zookeeper operator crashes with an "panic: runtime error: invalid memory address or nil pointer dereference"

This is the pod log `{"level":"info","ts":1712677612.5142717,"logger":"cmd","msg":"zookeeper-operator Version: 0.2.14-16"} {"level":"info","ts":1712677612.5143504,"logger":"cmd","msg":"Git SHA: 28d1f69"} {"level":"info","ts":1712677612.5143676,"logger":"cmd","msg":"Go Version: go1.19.7"} {"level":"info","ts":1712677612.5143929,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"} panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x11b2f51]

goroutine 1 [running]: sigs.k8s.io/controller-runtime/pkg/client.(*client).Get(0xc000100000?, {0x18f2828?, 0xc00004a038?}, {{0xc0005a2060?, 0xc00027b920?}, {0x16c33c5?, 0x18f8138?}}, {0x1903e48?, 0xc000596500?}) /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.12.1/pkg/client/client.go:253 +0x2d1 github.com/pravega/zookeeper-operator/pkg/utils.getConfigMapWithLock({0x18f2828, 0xc00004a038}, {0x18f8ad8, 0x0}, {0x16c33c5, 0x17}, {0xc0005a2060, 0x12}) /src/pkg/utils/leader.go:102 +0xca github.com/pravega/zookeeper-operator/pkg/utils.precheckLeaderLock({0x18f2828, 0xc00004a038}, {0x18f8ad8, 0x0}, {0x16c33c5?, 0xc000270000?}, {0xc0005a2060, 0x12}) /src/pkg/utils/leader.go:42 +0x66 `

Importance

blocker

Location

(Where is the piece of code, package, or document affected by this issue?)

Suggestions for an improvement

(How do you suggest to fix or proceed with this issue?)

aloosnetmatch commented 5 months ago

This issue was fixed by creating a network policy which allowed egress for the zookeeper operator.

gdelgado commented 1 month ago

@aloosnetmatch Could you post the network policy your using as I am also encountering this issue.

Thanks..

aloosnetmatch commented 1 month ago

I used this.

spec: podSelector: matchLabels: component: zookeeper-operator egress:

OneCricketeer commented 1 month ago

That policy seems excessive. Does the operator really need egress access to everything? The panic on getConfigMapWithLock seems like it only requires access to the kubernetes api-server