-
Notifications
You must be signed in to change notification settings - Fork 278
NATS Driver Conformance Updates #549
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: master
Are you sure you want to change the base?
Conversation
samuelattwood
commented
Nov 7, 2025
- Brings NATS Backend up-to-date
- Resolves issues with Kubernetes Conformance test suite
- Adds read-after-write checks
- Various fixes and enhancements
|
This is great to see! Don't forget to --signoff your commits for DCO. |
801f07f to
9262069
Compare
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.
Please uncomment the core apiserver tests to validate that those pass as well:
Lines 10 to 11 in 1d571b0
| ### Disabled until NATS is validated to pass tests | |
| # KINE_IMAGE=$IMAGE KINE_ENDPOINT="nats://$ip:$port?noEmbed" GO_TEST_EXTRAFLAGS="-tags nats" run-apiserver-tests |
|
Any update on this? @samuelattwood I have some time to dedicate for this, let me know if I can do any reviews or pick up any blockers. |
|
There is a small fix I had to make after enabling the apiserver tests that wasn't caught by the Sonobuoy conformance suite. I have been at KubeCon this week but I will have that up tomorrow or Monday, in addition to some improvements regarding tombstones. |
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
Signed-off-by: Samuel Attwood <[email protected]>
6291ab3 to
6c05e8a
Compare
| // Shutdown on interrupt. | ||
| sigch := make(chan os.Signal, 1) | ||
| signal.Notify(sigch, os.Interrupt) | ||
| go func() { | ||
| <-sigch | ||
| ns.Shutdown() | ||
| logrus.Infof("embedded NATS server shutdown") | ||
| }() |
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.
No, don't do your own signal handling. This is handled by the CLI or calling application:
Line 225 in 1d571b0
ctx := signals.SetupSignalContext() Lines 34 to 37 in 1d571b0
// SetupSignalContext is same as SetupSignalHandler, but a context.Context is returned. // Only one of SetupSignalContext and SetupSignalHandler should be called, and only can // be called once. func SetupSignalContext() context.Context {
You should be using the context and waitGroup that you are provided - call wg.Add(1) when starting, do what you're going to do until the context is done, and then call wg.Done() when you've shut down.