Kong / kubernetes-ingress-controller

:gorilla: Kong for Kubernetes: The official Ingress Controller for Kubernetes.
https://docs.konghq.com/kubernetes-ingress-controller/
Apache License 2.0
2.22k stars 592 forks source link

Make sure KIC runs tests against an up to date GW image #3495

Open pmalek opened 1 year ago

pmalek commented 1 year ago

Is there an existing issue for this?

Problem Statement

3486 fixed an issue with an outdated GW image tag used in enterprise tests.

This issue tracks the effort of making this enforced in the repo so that we never encounter a similar problem again (i.e. running tests with not the most up to date Gateway image).

Proposed Solution

Tracking this via dependabot like we do for gateway-api i.e. use go.mod dependancy with some Makefile magic https://github.com/Kong/kubernetes-ingress-controller/blob/1abef9c45807f760c7d57cfdd75892cfa0ef037b/Makefile#L558-L582 and a small tool to update this for us https://github.com/Kong/kubernetes-ingress-controller/blob/68f63b302a93237b7dfd39a52ce9ba47aafcd2b4/test/internal/cmd/generate-gateway-api-urls/main.go so that appropriate consts can be generated:

https://github.com/Kong/kubernetes-ingress-controller/blob/89e925946309c5dabba664f09c7cf9b3a95b9f85/test/consts/zz_generated_gateway.go#L5-L9

This could be easily achieved for open source GW https://github.com/Kong/kong but for ee it would be more challenging because we'd need to use tokens to access the Github repo. Nonetheless, it's doable and automatable in Github Actions.

Additional information

No response

Acceptance Criteria

mflendrich commented 1 year ago

Does our current process (of testing against nightly builds of Gateway) + bumping the Gateway image before the Gateway release not achieve a similar result?

pmalek commented 1 year ago

It's rather a usability and feedback loop speed question:

One possible improvement I can see here is to add that workflow to a schedule but then, we're prone to flakiness that we inherit from Gateway master builds ( I believe this was already discussed at some point, @rainest do you recall where was it? ).

Relying on latest release of Gateway would nullify the above as released versioned have a substiantially higher bar of quality.

bumping the Gateway image before the ~Gateway~ KIC release

That is something that we can do and what we already have mentioned in our release issue template: https://github.com/Kong/kubernetes-ingress-controller/blob/3263907ff8911ff161e17645ac83c28b656c8644/.github/ISSUE_TEMPLATE/release.yaml#L25-L33

If we're fine with this and we don't want to make this process automatic (i.e. rely on dependabot to bump the Gateway version) then we can close this issue here.