bugfest / tor-controller

Tor toolkit for Kubernetes (Tor instances, onion services and more)
Apache License 2.0
102 stars 16 forks source link

[BUG] Invalid selector for OnionBalancedService #58

Closed stevefan1999-personal closed 1 year ago

stevefan1999-personal commented 1 year ago

Describe the bug

I see that there is some weird name selector problem when using OnionBalancedService. This caused the balanced service itself to not work, but the backends (OBB) still worked

I0809 12:11:50.648859       1 request.go:665] Waited for 1.024788492s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/network.kubesphere.io/v1alpha2?timeout=32s
time="2023-08-09T12:11:52Z" level=info msg="Listening for events"
time="2023-08-09T12:11:52Z" level=info msg="Running event controller"
time="2023-08-09T12:11:52Z" level=info msg="Starting controller"
W0809 12:11:52.008129       1 shared_informer.go:372] The sharedIndexInformer has started, run more than once is not allowed
W0809 12:11:52.010323       1 reflector.go:324] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
E0809 12:11:52.010444       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
W0809 12:11:53.599169       1 reflector.go:324] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
E0809 12:11:53.599335       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
W0809 12:11:56.530255       1 reflector.go:324] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
E0809 12:11:56.530287       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
W0809 12:11:59.916694       1 reflector.go:324] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
E0809 12:11:59.916813       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
W0809 12:12:11.362886       1 reflector.go:324] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
E0809 12:12:11.363052       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
W0809 12:12:27.750180       1 reflector.go:324] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'
E0809 12:12:27.750367       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.23.4/tools/cache/reflector.go:167: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: invalid selector: 'metadata.nameexample-onionbalanced-service'; can't understand 'metadata.nameexample-onionbalanced-service'

Additional context Using the latest version of Helm chart (tor-controller-0.1.13)

stevefan1999-personal commented 1 year ago

I downgraded tor-onionbalance-manager to 0.9.0 and it worked. So a regression bug confirmed

stevefan1999-personal commented 1 year ago

https://github.com/bugfest/tor-controller/blob/f274e4c93757ce53af90f38f303fa4f01732ab6c/agents/onionbalance/local/client.go#L157-L161

gotcha

stevefan1999-personal commented 1 year ago

Yep, tor-daemon also kicked the bucket for some reason, reverting to 0.9.0 works

bugfest commented 1 year ago

Hi @stevefan1999-personal! Thanks for the bug report (and the fix!) I can see this was introduced some time ago by https://github.com/bugfest/tor-controller/commit/382a511f7dee7081d1f010075c75a3b696b9ce78#diff-ac504e9ab45f16525f55f1d00bfa75ce16cd489cc1b7c5eec1bf6eee49e69190 during the linting changes.