-
Notifications
You must be signed in to change notification settings - Fork 2
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
Explore running the UATs behind proxy #76
Comments
Thank you for reporting us your feedback! The internal ticket has been created: https://warthogs.atlassian.net/browse/KF-5946.
|
In #78 I did the exploration for Pipelines, it is the odd one out in our UATs because we cannot modify the container specs of pipelines runners directly, it has to be done through the UATs behind proxy (excluding Pipelines)I checked issue #27 and did some ad-hoc test runs in a proxy environment
Here are my proposals: Proposal 1: Apply a PodDefaultTo run the UATs behind proxy, we need to set the proxy environment variables listed above in 2 places:
This can be achieved by:
where
it is similar to the way we are disabling istio sidecar injection in the workloads run by the UATs. Proposal 2: Apply a ConfigMapIt is what Phoevos proposed in #27 and there's a POC implementation in this branch for only passing the proxy envs to the driver job, but not to the workloads.
The missing part is how to consume the ConfigMap from the workloads. This can be done in a similar way to Proposal 1, by editing the container spec to use the ConfigMap:
LimitationThe drawback of this proposal is that it cannot be used for both driver and notebooks method of running the UATs. I prefer the PodDefaults because when running from notebook, we can easily select it from Configurations dropdown menu. In this case, we can create a PodDefault that consumes the ConfigMap and apply it to Notebook. Pipelines UATs behind proxyBefore running the testApply the PodDefault in proposal 1 to the user namespace and have the Notebook/Job use it. Use the kfp sdk to inject the proxy environment variables into the pipelines runner pods.
|
Adding proxy option to toxAs mentioned in #54, we need to have an option to run the proxy tests with tox. This can be tricky because based on my above proposals, the notebooks will need to be slightly modified to be able to run behind proxy.
|
Really great work @NohaIhab! I have some questions, although they 're not a blocker, probably more things we 'll need to consider during implementation. Adding proxy option to toxAnother option would be to always keep the label there and apply the podDefault only when tox has the proper configuration. But for pipelines, we 'd still need to edit the notebook with the proxy code Running from UI
If yes, we 'll need instructions for those. |
thanks @orfeas-k for the review Adding proxy option to toxYour suggestion is a great idea actually, we can always have the label, and conditionally create the PodDefault if we are running the tests behind proxy. Running from the UI
|
closing the issue as now we have enough information to start the implementation |
Afterthoughts: |
Context
This task to explore and estimate the effort to be able to run the UATs behind the proxy. We need to look at issues #27 and #54 for initial pointers.
What needs to get done
Definition of Done
the effort for running UATs behind proxy is well understood and broken down
The text was updated successfully, but these errors were encountered: