Skip to content

Infra Manager Unable to Create Service When Gateway Has Multiple Ports #517

@danehans

Description

@danehans

Create a Gateway with multiple ports:

apiVersion: gateway.networking.k8s.io/v1alpha2
kind: Gateway
metadata:
  name: eg
spec:
  gatewayClassName: eg
  listeners:
    - name: http
      protocol: HTTP
      port: 80
    - name: tls
      protocol: HTTPS
      port: 8443
...

The Infra Manager is unable to create the Service:

2022-10-07T09:17:39.098-0700  ERROR runner/runner.go:56 failed to create new infra  {"runner": "infrastructure", "error": "failed to create service envoy-gateway-system/envoy-default-eg: Service \"envoy-default-eg\" is invalid: spec.ports[1].name: Duplicate value: \"default-eg\""}

You can see the duplicate port name in the infra IR:

2022-10-07T09:17:37.526-0700  INFO  runner/runner.go:90 default-eg:
  Proxy:
    Config: null
    Image: envoyproxy/envoy:v1.23-latest
    Listeners:
    - Address: ""
      Ports:
      - ContainerPort: 80
        Name: default-eg
        Protocol: HTTP
        ServicePort: 8080
      - ContainerPort: 8443
        Name: default-eg
        Protocol: HTTPS
        ServicePort: 443
    Metadata:
      Labels:
        gateway.envoyproxy.io/owning-gateway-name: eg
        gateway.envoyproxy.io/owning-gateway-namespace: default
    Name: default-eg
  {"runner": "gateway-api", "output": "infra-ir"}

Metadata

Metadata

Assignees

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