Skip to content

bootstrap merge not working #2800

@zirain

Description

@zirain
apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
  name: eg
spec:
  controllerName: gateway.envoyproxy.io/gatewayclass-controller
  parametersRef:
    group: gateway.envoyproxy.io
    kind: EnvoyProxy
    name: proxy-config
    namespace: envoy-gateway-system
---
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: eg
spec:
  gatewayClassName: eg
  listeners:
    - name: http
      protocol: HTTP
      port: 80
---
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyProxy
metadata:
  name: proxy-config
  namespace: envoy-gateway-system
spec:
  bootstrap:
    type: Merge
    value: |
      stats_sinks:
        - name: envoy.stat_sinks.metrics_service
          typed_config:
            "@type": type.googleapis.com/envoy.config.metrics.v3.MetricsServiceConfig
            transport_api_version: V3
            grpc_service:
              envoy_grpc:
                cluster_name: metrics_cluster
      static_resources:
        clusters:
          - name: metrics_cluster
            type: STRICT_DNS
            lb_policy: ROUND_ROBIN
            load_assignment:
              cluster_name: metrics_cluster
              endpoints:
                - lb_endpoints:
                    - endpoint:
                        address:
                          socket_address:
                            address: skywalking-oap.skywalking.svc.cluster.local
                            port_value: 8080

Error message:

2024-03-06T13:46:56.265Z	INFO	provider	controller/controller.go:115	Observed a panic in reconciler: interface conversion: interface {} is nil, not []interface {}	{"runner": "provider", "controller": "gatewayapi", "object": {"name":"gateway.envoyproxy.io/gatewayclass-controller"}, "namespace": "", "name": "gateway.envoyproxy.io/gatewayclass-controller", "reconcileID": "2691f6d1-2b43-40a6-8ae3-0967b4cea3b5"}
panic: interface conversion: interface {} is nil, not []interface {} [recovered]
	panic: interface conversion: interface {} is nil, not []interface {}

goroutine 470 [running]:
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:116 +0x1a4
panic({0x1bbb000?, 0x400094d350?})
	/opt/hostedtoolcache/go/1.21.7/x64/src/runtime/panic.go:914 +0x218
github.com/envoyproxy/gateway/internal/utils/yaml.mergeMaps(0x4000775440, 0x400074c2c0?)
	/home/runner/work/gateway/gateway/internal/utils/yaml/yaml.go:56 +0x428
github.com/envoyproxy/gateway/internal/utils/yaml.MergeYAML({0x400023c000, 0xf34}, {0x400074c2c0, 0x2ad})
	/home/runner/work/gateway/gateway/internal/utils/yaml/yaml.go:31 +0x12c
github.com/envoyproxy/gateway/internal/xds/bootstrap.ApplyBootstrapConfig(0x0?, {0x400023c000?, 0x400006eb40?})
	/home/runner/work/gateway/gateway/internal/xds/bootstrap/util.go:17 +0x6c
github.com/envoyproxy/gateway/api/v1alpha1/validation.validateBootstrap(0x1fe56c6?)
	/home/runner/work/gateway/gateway/api/v1alpha1/validation/envoyproxy_validate.go:150 +0x58
github.com/envoyproxy/gateway/api/v1alpha1/validation.validateEnvoyProxySpec(0x400058e688)
	/home/runner/work/gateway/gateway/api/v1alpha1/validation/envoyproxy_validate.go:56 +0x1a0
github.com/envoyproxy/gateway/api/v1alpha1/validation.ValidateEnvoyProxy(0x2365218?)
	/home/runner/work/gateway/gateway/api/v1alpha1/validation/envoyproxy_validate.go:33 +0x28
github.com/envoyproxy/gateway/internal/provider/kubernetes.(*gatewayAPIReconciler).processParamsRef(0x400060f8c0, {0x2360638, 0x4000c11650}, 0x4000b6db80, 0x40004f4000)
	/home/runner/work/gateway/gateway/internal/provider/kubernetes/controller.go:1200 +0x658
github.com/envoyproxy/gateway/internal/provider/kubernetes.(*gatewayAPIReconciler).Reconcile(0x400060f8c0, {0x2360638, 0x4000c11650}, {{{0x1fe6e3f?, 0x5?}, {0x100?, 0x4000d19cf8?}}})
	/home/runner/work/gateway/gateway/internal/provider/kubernetes/controller.go:348 +0x9a4
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0x2365218?, {0x2360638?, 0x4000c11650?}, {{{0x0?, 0xb?}, {0x400067ce10?, 0x0?}}})
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:119 +0x8c
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0x40008506e0, {0x2360670, 0x4000846b40}, {0x1cd7f20?, 0x4000834f80?})
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:316 +0x2e8
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0x40008506e0, {0x2360670, 0x4000846b40})
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:266 +0x16c
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:227 +0x74
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2 in goroutine 126
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:223 +0x43c

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions