Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix status syncer and fix Istio integration values for discoveryAddress, istioMetaMeshId and istioMetaClusterId #9625

Merged
merged 15 commits into from
Jun 20, 2024

Conversation

npolshakova
Copy link
Contributor

@npolshakova npolshakova commented Jun 14, 2024

Description

This PR fixes two bugs:

  • The status syncer used to report a panic when HandleProxyReports is called before QueueStatusForProxies
  • The GatewayParameters discoveryAddress, istioMetaMeshId and istioMetaClusterId values were hard coded to the default

The status syncer error can happen in several cases:

  • If a Gloo edge resource (upstream, etc.) updates, both the k8s proxy syncer and gloo edge translator pieces update. This can cause HandleProxyReports to be called before QueueStatusForProxies. This is a valid case that we want to emit a debug log. Once the proxy syncer is called, HandleProxyReports will be called again and correctly sync the status.
  • If a k8s resource is frequently changing "flickering", the HandleProxyReports can be called first. This is fixed by checking all iterations are handled before removing.

The fix:

  • Adds a resyncsPerIteration to check all iterations are handled before removing registryPerSync
  • Changes the log line to debug from panic.

API changes

None

Code changes

  • Fixed the status syncer to not panic when HandleProxyReports is called before QueueStatusForProxies
  • Fixed GatewayParameters to pass through the configured discoveryAddress, istioMetaMeshId and istioMetaClusterId

CI changes

None

Docs changes

None

Context

Users ran into this bug doing ... \ Users needed this feature to ...

See slack conversation here

Interesting decisions

We chose to do things this way because ...

Testing steps

  1. Flickering HTTPRoute:

I applied these resources to test based on Rinor's comment on the issue:

kind: Gateway
apiVersion: gateway.networking.k8s.io/v1
metadata:
  name: http
  namespace: k8s-gw-test
spec:
  gatewayClassName: gloo-gateway
  listeners:
  - protocol: HTTP
    port: 80
    name: http
    allowedRoutes:
      namespaces:
        from: All
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: httpbin
  namespace: httpbin
spec:
  parentRefs:
    - name: http
      namespace: k8s-gw-test
      sectionName: http
  hostnames:
    - "httpbin.example.com"
  rules:
    - backendRefs:
        - name: httpbin1
          port: 8000

I manually verified behavior by running a watch for the log line:

❯ k logs gloo-65586667bf-khfl8 -n k8s-gw-test -f | grep "status_syncer"
{"level":"debug","ts":"2024-06-17T21:47:03.508Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 1"}
{"level":"debug","ts":"2024-06-17T21:47:03.515Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 2"}
{"level":"debug","ts":"2024-06-17T21:47:03.525Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 3"}
{"level":"debug","ts":"2024-06-17T21:47:03.535Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 4"}
{"level":"debug","ts":"2024-06-17T21:47:04.178Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:47:05.050Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 5"}
{"level":"debug","ts":"2024-06-17T21:47:05.182Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:47:10.124Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 6"}
{"level":"debug","ts":"2024-06-17T21:47:10.173Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:47:13.181Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:47:15.224Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 7"}
{"level":"debug","ts":"2024-06-17T21:47:16.187Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:47:20.312Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 8"}
{"level":"debug","ts":"2024-06-17T21:47:21.183Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:47:25.417Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 9"}
{"level":"debug","ts":"2024-06-17T21:47:26.176Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:47:30.501Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 10"}
{"level":"debug","ts":"2024-06-17T21:47:31.187Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:47:35.617Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 11"}
{"level":"debug","ts":"2024-06-17T21:47:36.185Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}

No logs are found for:

❯ k logs gloo-65586667bf-khfl8 -n k8s-gw-test -f | grep "no registry found for proxy sync count"


While running this script to delete and recreate the HTTP route:

❯ cat delete-apply.sh
#!/bin/bash -ex

while true; do
  kubectl apply -f httproute-test.yaml
  sleep 15
  kubectl delete -f httproute-test.yaml
  sleep 15
done

While the script ran, the debug line was not present when running the control plane with LOG_LEVEL=debug:

❯ ./delete-apply.sh
+ true
+ kubectl apply -f httproute-test.yaml
httproute.gateway.networking.k8s.io/httpbin created
+ sleep 15
+ kubectl delete -f httproute-test.yaml
httproute.gateway.networking.k8s.io "httpbin" deleted
+ sleep 15
+ true
+ kubectl apply -f httproute-test.yaml
httproute.gateway.networking.k8s.io/httpbin created
+ sleep 15

Versus on main, the panic is hit when the control plane starts up as the script runs to make the HTTPRoute flicker, then stabelizes:

❯ k logs gloo-65586667bf-qp2cp -n k8s-gw-test -f | grep "status_syncer"
{"level":"debug","ts":"2024-06-17T22:04:02.989Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 1"}
{"level":"debug","ts":"2024-06-17T22:04:02.999Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 2"}
{"level":"debug","ts":"2024-06-17T22:04:03.005Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 3"}
{"level":"debug","ts":"2024-06-17T22:04:03.012Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 4"}
{"level":"debug","ts":"2024-06-17T22:04:03.022Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 5"}
{"level":"debug","ts":"2024-06-17T22:04:03.672Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T22:04:05.902Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 6"}
{"level":"debug","ts":"2024-06-17T22:04:06.670Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T22:04:10.981Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 7"}
{"level":"debug","ts":"2024-06-17T22:04:11.665Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T22:04:12.665Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"dpanic","ts":"2024-06-17T22:04:12.665Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:114","msg":"no registry found for proxy sync count 7","version":"1.0.0-ci1","stacktrace":"github.com/solo-io/gloo/projects/gateway2/status.(*statusSyncerFactory).HandleProxyReports\n\t/Users/ninapolshakova/gloo/projects/gateway2/status/status_syncer.go:114\ngithub.com/solo-io/gloo/projects/gloo/pkg/syncer.(*translatorSyncer).syncEnvoy\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/syncer/envoy_translator_syncer.go:193\ngithub.com/solo-io/gloo/projects/gloo/pkg/syncer.(*translatorSyncer).Sync\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/syncer/translator_syncer.go:135\ngithub.com/solo-io/gloo/projects/gloo/pkg/api/v1/gloosnapshot.ApiSyncers.Sync\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/api/v1/gloosnapshot/api_event_loop.sk.go:50\ngithub.com/solo-io/gloo/projects/gloo/pkg/api/v1/gloosnapshot.(*apiEventLoop).Run.func1\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/api/v1/gloosnapshot/api_event_loop.sk.go:107"}
{"level":"debug","ts":"2024-06-17T22:04:16.086Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 8"}
{"level":"debug","ts":"2024-06-17T22:04:16.671Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T22:04:21.160Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 9"}
{"level":"debug","ts":"2024-06-17T22:04:21.666Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T22:04:26.245Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 10"}
  1. Flickering Upstream

I used the same Gateway as before, and applied these resources to test:

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: httpbin
  namespace: httpbin
spec:
  parentRefs:
    - name: http
      namespace: k8s-gw-test
      sectionName: http
  hostnames:
    - "httpbin.example.com"
  rules:
    - backendRefs:
        - name: test-upstream
          port: 80
          kind: Upstream
          group: gloo.solo.io
---
apiVersion: gloo.solo.io/v1
kind: Upstream
metadata:
  name: test-upstream
spec:
  kube:
    selector:
      app: httpbin
    serviceName: httpbin
    serviceNamespace: httpbin
    servicePort: 8000

Then created a script to apply/delete the upstream:

❯ cat delete-apply.sh
#!/bin/bash -ex

while true; do
  kubectl apply -f httproute-test.yaml
  sleep 5
  kubectl delete -f httproute-test.yaml
  sleep 5
done

Then ran the script while watching the logs:

❯ ./delete-apply-upstream.sh
+ true
+ kubectl apply -f upstream-test.yaml
upstream.gloo.solo.io/test-upstream created
+ sleep 5
+ kubectl delete -f upstream-test.yaml
upstream.gloo.solo.io "test-upstream" deleted
+ sleep 5
+ true
+ kubectl apply -f upstream-test.yaml
upstream.gloo.solo.io/test-upstream created

The status syncer logs were hit:

{"level":"debug","ts":"2024-06-17T21:53:34.744Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 40"}
{"level":"debug","ts":"2024-06-17T21:53:35.175Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:37.187Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:39.845Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 41"}
{"level":"debug","ts":"2024-06-17T21:53:40.188Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:41.185Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:41.200Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 42"}
{"level":"debug","ts":"2024-06-17T21:53:42.189Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:44.936Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 43"}
{"level":"debug","ts":"2024-06-17T21:53:45.186Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:47.183Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:50.048Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 44"}
{"level":"debug","ts":"2024-06-17T21:53:50.183Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:51.187Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:51.195Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 45"}
{"level":"debug","ts":"2024-06-17T21:53:52.177Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:53.176Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:55.131Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:71","msg":"queueing 1 proxies for sync 46"}
{"level":"debug","ts":"2024-06-17T21:53:55.173Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T21:53:57.184Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:93","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}

But the error did not occur:

❯ k logs gloo-65586667bf-khfl8 -n k8s-gw-test -f | grep "no registry found for proxy sync count"


Versus the original code on main (with log lines added to the start of QueueStatusForProxies and HandleProxyReports):

❯ k logs gloo-65586667bf-4wkxv -n k8s-gw-test -f | grep "status_syncer"
{"level":"debug","ts":"2024-06-17T22:00:39.905Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 1"}
{"level":"debug","ts":"2024-06-17T22:00:39.920Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 2"}
{"level":"debug","ts":"2024-06-17T22:00:39.931Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 3"}
{"level":"debug","ts":"2024-06-17T22:00:40.589Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T22:00:49.577Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"dpanic","ts":"2024-06-17T22:00:49.577Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:114","msg":"no registry found for proxy sync count 3","version":"1.0.0-ci1","stacktrace":"github.com/solo-io/gloo/projects/gateway2/status.(*statusSyncerFactory).HandleProxyReports\n\t/Users/ninapolshakova/gloo/projects/gateway2/status/status_syncer.go:114\ngithub.com/solo-io/gloo/projects/gloo/pkg/syncer.(*translatorSyncer).syncEnvoy\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/syncer/envoy_translator_syncer.go:193\ngithub.com/solo-io/gloo/projects/gloo/pkg/syncer.(*translatorSyncer).Sync\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/syncer/translator_syncer.go:135\ngithub.com/solo-io/gloo/projects/gloo/pkg/api/v1/gloosnapshot.ApiSyncers.Sync\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/api/v1/gloosnapshot/api_event_loop.sk.go:50\ngithub.com/solo-io/gloo/projects/gloo/pkg/api/v1/gloosnapshot.(*apiEventLoop).Run.func1\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/api/v1/gloosnapshot/api_event_loop.sk.go:107"}

{"level":"debug","ts":"2024-06-17T22:01:09.809Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 4"}
{"level":"debug","ts":"2024-06-17T22:01:10.582Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T22:01:10.598Z","logger":"k8s-gw-syncer","caller":"status/status_syncer.go:68","msg":"queueing 1 proxies for sync 5"}
{"level":"debug","ts":"2024-06-17T22:01:11.586Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"debug","ts":"2024-06-17T22:01:12.583Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:84","msg":"handling proxy reports for 1 proxies","version":"1.0.0-ci1"}
{"level":"dpanic","ts":"2024-06-17T22:01:12.583Z","logger":"gloo.v1.event_loop.setup.gloosnapshot.event_loop.envoyTranslatorSyncer","caller":"status/status_syncer.go:114","msg":"no registry found for proxy sync count 5","version":"1.0.0-ci1","stacktrace":"github.com/solo-io/gloo/projects/gateway2/status.(*statusSyncerFactory).HandleProxyReports\n\t/Users/ninapolshakova/gloo/projects/gateway2/status/status_syncer.go:114\ngithub.com/solo-io/gloo/projects/gloo/pkg/syncer.(*translatorSyncer).syncEnvoy\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/syncer/envoy_translator_syncer.go:193\ngithub.com/solo-io/gloo/projects/gloo/pkg/syncer.(*translatorSyncer).Sync\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/syncer/translator_syncer.go:135\ngithub.com/solo-io/gloo/projects/gloo/pkg/api/v1/gloosnapshot.ApiSyncers.Sync\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/api/v1/gloosnapshot/api_event_loop.sk.go:50\ngithub.com/solo-io/gloo/projects/gloo/pkg/api/v1/gloosnapshot.(*apiEventLoop).Run.func1\n\t/Users/ninapolshakova/gloo/projects/gloo/pkg/api/v1/gloosnapshot/api_event_loop.sk.go:107"}

Notes for reviewers

None

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works

BOT NOTES:
resolves https://github.com/solo-io/solo-projects/issues/6304
resolves https://github.com/solo-io/solo-projects/issues/6107

@solo-changelog-bot
Copy link

@github-actions github-actions bot added the keep pr updated signals bulldozer to keep pr up to date with base branch label Jun 14, 2024
Copy link

github-actions bot commented Jun 14, 2024

Visit the preview URL for this PR (updated for commit 85e4c59):

https://gloo-edge--pr9625-npolshak-fix-proxy-s-6nbtf8fa.web.app

(expires Thu, 27 Jun 2024 12:30:14 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 77c2b86e287749579b7ff9cadb81e099042ef677

Copy link
Contributor

@sam-heilbron sam-heilbron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some questions around how we track the statuses, and how much we publish to users about the internals of the system. Thanks for the clear testing steps!

projects/gateway2/status/status_syncer.go Outdated Show resolved Hide resolved
projects/gateway2/status/status_syncer.go Show resolved Hide resolved
projects/gateway2/status/status_syncer.go Show resolved Hide resolved
@jbohanon
Copy link
Contributor

I don't know enough about the Proxy Syncer to assess those changes, but the GatewayParameters changes look good to me

@soloio-bulldozer soloio-bulldozer bot merged commit 4a6bc1c into main Jun 20, 2024
20 checks passed
@soloio-bulldozer soloio-bulldozer bot deleted the npolshak/fix-proxy-status-fix-istio-template branch June 20, 2024 17:57
npolshakova added a commit that referenced this pull request Jun 20, 2024
…ss, istioMetaMeshId and istioMetaClusterId (#9625)

* initial fixes

* cleanup

* add log lines

* pr feedback

* pr feedback

---------

Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com>
npolshakova added a commit that referenced this pull request Jun 20, 2024
…or discoveryAddress, istioMetaMeshId and istioMetaClusterId (#9653)

* Fix status syncer and fix Istio integration values for discoveryAddress, istioMetaMeshId and istioMetaClusterId (#9625)

* initial fixes

* cleanup

* add log lines

* pr feedback

* pr feedback

---------

Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com>

* move changelog

---------

Co-authored-by: soloio-bulldozer[bot] <48420018+soloio-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Sam Heilbron <SamHeilbron@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
keep pr updated signals bulldozer to keep pr up to date with base branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants