-
Notifications
You must be signed in to change notification settings - Fork 50
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
Best practice for checking if KF web apps are reachable during integration tests #621
Comments
My 2 cents on this one would be:
The main reasons being that:
That's why I think it makes more sense to move this tests closer to where the more frequent breaking changes are, or to the bundle (which usually is the fallback case of testing) |
Summarizing @kimwnasptd comment, let's test the web apps by using the unit/k8s-svc IP directly instead of going through istio's ingressgateway. |
One thing to keep in mind is that Istio adds the These are not a blocker, but good to keep in mind when writing tests. |
An example to implementing this in tests can be seen here https://github.com/canonical/notebook-operators/pull/271/files#diff-d36bbd65e732dee2edad9c591d360a76f178d9c56b6a73aa7ba27eed527bd2d4. |
Context
Having as a starting point this comment by @DnPlas, we started a discussion as to how we should check if a WA is reachable during integration tests. cc @ca-scribner
Issue
Until now, in some WAs (TWA with this PR and JUI (Jupyter-UI) ) we made the above check by sending a request straight to the IP of the WA's unit. This indeed checks that the service backing the WA is working. However, this doesn't ensure that the WA will be reachable during deployment since it won't catch the case where TWA asks for the ingress incorrectly. It doesn't check essentially that requests are routed correctly.
Regarding other WAs, at the moment
istio-ingressgateway-workload
serviceistio-ingressgateway-workload
service.Proposed solution
In order to make sure that requests go to the correct route, we should test through Istio's IngressGateway. However the following question arises:
Will we need to go through authentication?
The question is if this authentication flow will be triggered when we send a request to Istio's IngressGateway. If yes, then we will need to also deploy
OIDC-Authservice
andDex-Auth
alongside.I 'm adding a detailed analysis of Istio's workflow that @kimwnasptd provided us.
However, we see that in all tests above there is neither OIDC-Authservice neither Dex-Auth deployed.
The text was updated successfully, but these errors were encountered: