-
Notifications
You must be signed in to change notification settings - Fork 21
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
Wish list: make Sieve more general and ergonomic #93
Comments
Hello @marshtompsxd I remember you from verus, I worked on that with Andrea. I wanted to instrument argo-workflows which uses client-go directly but wasn't really able to find any bugs. I know for certain that the controller has plenty of bugs. If I push my changes, do you think you'd have time to take a look and inform me of where I am making a mistake? Thanks. |
Hi @isubasinghe. Thank you for reaching out. Testing argo-workflows using Sieve sounds very cool. Please feel free to open a PR with the changes you made to instrument the controller and I will help review it.
What types of bugs are you looking for in this controller? Do you have some concrete examples (e.g., historical bugs)? I want to make sure Sieve is the right tool to help you find bugs. |
Thanks a lot @marshtompsxd, I will push my changes when I get a chance in that case. I've found multiple bugs of various kinds, varying from race conditions to unhandled bits of logic resulting in workflows being stuck in |
Ergonomics
There is a manual porting process to onboard a project to use Sieve. We hope to automate this step by integrating Sieve with existing frameworks like operator-sdk so that users can build controllers that are Sieve-friendly from the very beginning.
Generality
Sieve currently places the instrumentation in controller-runtime to intercept the interactions between the controller and the Kubernetes API. That said, we also need to support controllers that are not built on top of controller-runtime but directly rely on client-go.
Move instrumentation from controller write APIs to rest call APIs #85
Move instrumentation from controller cache read APIs to store/cache APIs #96
Miscellaneous
The text was updated successfully, but these errors were encountered: