-
Notifications
You must be signed in to change notification settings - Fork 10
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
feat: implement install and uninstall flow #68
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14f46be
to
7619510
Compare
phyrog
reviewed
Apr 1, 2024
7619510
to
d906ef9
Compare
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.OpenSSF Scorecard
Scanned Manifest Files |
d55633e
to
236ca00
Compare
0b5da93
to
cd16a63
Compare
c76feb2
to
cd16a63
Compare
0xE282B0
approved these changes
May 21, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some notes:
- SpinKube uses
wasmtime-spin-v2
as default, to use the RCM example together with the SpinKube Quickstart theruntimeClassName
in theSpinAppExecutor
resource needs to be adapted tospin-v2
(we should choose the same for both quickstarts) - Every installer job on every node does a download as init step. (just a note)
- I did not face the
known issue
in my setup, but we will face it more often when we run jobs in parallel that try to restart containerd.
LGTM: Install/Uninstall functionality works for me.
flavio
pushed a commit
to flavio/runtime-class-manager
that referenced
this pull request
Sep 11, 2024
add node-installer and shim-downloader to install job
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe your changes
Issue ticket number and link
Addresses #52
How to test
Install Spin Shim
# create spin shim resource kubectl apply -f ./config/samples/test_shim_spin.yaml
Two jobs will be scheduled on nodes with label
spin=true
kwasm-worker-spin-v2-install
kwasm-worker2-spin-v2-install
After jobs will eventually succeed:
Check containerd config on worker and worker2:
bash docker exec -it $(docker ps --format json | jq -r '. | "\(.ID) \(.Names)"' | grep kwasm-worker2 | awk '{print $1}') cat /etc/containerd/config.toml
[...] # KWASM runtime config for spin-v2 [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.spin-v2] runtime_type = "/opt/kwasm/bin/containerd-shim-spin-v2"
Check spin-v2 runtime binary:
Uninstall Spin Shim
# delete spin shim resource kubectl delete shim spin-v2
Two jobs will be scheduled on nodes with label
spin=true
kwasm-worker2-spin-v2-uninstall
kwasm-worker-spin-v2-uninstall
Check containerd config of worker or worker2; directive for spin-v2 is successfully removed:
bash docker exec -it $(docker ps --format json | jq -r '. | "\(.ID) \(.Names)"' | grep kwasm-worker2 | awk '{print $1}') cat /etc/containerd/config.toml
Check for binary, which is also removed:
Known Issues
Install and uninstall Jobs spawn two pods in total: one pod successfully doing install/uninstall operations, but ending in unknown state. The other one in "completed" state, doing effectively nothing. This is not as clean as I want it to be.
Bug is documented here: #140
A fix of this bug should be done in a separate PR.
Checklist before requesting a review
If it is a core feature, I have added thorough tests.installation/uninstallation procedure should be tested in a dedicated CI job; right now a helm chart is missing