-
Notifications
You must be signed in to change notification settings - Fork 65
ci: add istio to e2e #646
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
base: notebooks-v2
Are you sure you want to change the base?
ci: add istio to e2e #646
Conversation
- Add InstallIstioctl() function to download and install istioctl binary - Add InstallIstioMinimalWithIngress() to set up Istio with minimal profile - Add IsIstioInstalled() and WaitIstioctlAvailable() helper functions - Use positional formatting in URL template for istioctl downloads - Support configurable Istio namespace for installation - Add error handling and proper command output redirection This enables e2e tests to automatically set up Istio service mesh components required for workspace HTTP proxy functionality. Signed-off-by: Yash Pal <[email protected]>
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/ok-to-test |
5e2b571
to
103e4a6
Compare
Verification"Empty"
|
Refactors work submitted by @yashpal2104 to be more aligned with the structure of cert-manager and prometheus. - Note I also rebased the branch off the latest upstream/notebooks-v2 branch. Includes a commented out block of code that adds istio-injection label on the namespaces created by e2e. - VirtualService objects must exist for this code to be uncommented - otherwise the Workspace connect endpoint is unreachable. Moved handling of `istioctl` dependency to the `Makefile` as that code was unwiedly/intimidating to manage in a `.go` file. Additionally, refactored utils module to be decomposed into multiple files as it was becoming unwieldy to manage everything in utils.go. Signed-off-by: Andy Stoneberg <[email protected]>
103e4a6
to
8065402
Compare
ℹ️ Refactors work originally submitted by @yashpal2104 to be more aligned with the structure of cert-manager and prometheus.
This commit ensures
istiod
(and required supporting resources) are available in thek8s
cluster used for thetest-e2e
command. Following behavior is being added:ISTIO_INSTALL_SKIP
to opt out ofe2e
trying to manageistio
entirelyMakefile
targets to support downloading theistioctl
binaryInstallXXX
+UninstallXXX
+IsXXXInstalled
+WaitIXXX(Ready|Available)
functions implemented both foristiod
as well asistio-ingressgateway
BeforeSuite
hook ofe2e
istioctl
is used to install any required resourcesBeforeSuite
are then cleaned up inAfterSuite
e2e
- it is NOT cleaned upistioctl
is used to uninstall any eligible resourcese2e/utils
package to have separate*.go
files based on areas of interest for better maintainabilityLabelNamespaceForIstioInjection
added for when we go to truly leverage Istio as part ofe2e
Please note while the Istio resources are now made availabe on the
e2e
cluster - no tests are actually using these resources (yet). They will get leveraged as part of #500 .