-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
SEGFAULT on nomad status #2918
Comments
Incompatibility between the 0.6 client and 0.5.6 server for the status command. |
@hynek I believe the documented method is to update the servers first. |
Hey, As others have mentioned, you should update your servers, then your clients. That avoids incompatibilities like this. Check out the upgrade guide for more info: https://www.nomadproject.io/docs/upgrade/index.html |
OK I think I miswrote because I tapped into the trap of Nomad’s (IMHO unfortunate) nomenclature of “client = cluster node”. When I wrote client, I meant the CLI client on my desktop, that got updated under my butt by homebrew that I use to query the cluster occasionally. It doesn’t get mentioned in the guide and I’m sure I’m not the only one and would expect more people be burned by that. In any case a SEGFAULT seems an odd backward-compatibility behavior… |
I agree with @hynek ; a SEGFAULT does make things look bad. A cleaner exit would be better I think! |
@hynek Sorry you ran into this. The reason for the segfault was that the CLI was operating on a newer version of the API structs than was returned by the server because of the version mismatch. As such the CLI dereferenced a pointer that should never be nil in 0.6.0. However this isn't to say that a segfault is an acceptable exit code. In the future we may want to detect the version of the CLI and the Server version and exit early if there are known incompatibilities to avoid issues like this. Sorry if my original message to you came across dismissive. Bug reports like this are great because it gets us thinking about improvements to the product. Hopefully in future versions we will be able to detect these cases and print a nice error 😄 Thanks, |
This PR goes through the CLI commands and ensures that a 0.6.X cli gracefully handles interacting with a 0.5.X Nomad Agent. Fixes #2918
I'm going to lock this issue because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active issues. |
Nomad version
Remote CLI client: Nomad v0.6.0
Cluster servers and clients: Nomad v0.5.6
Operating system and Environment details
macOS 10.12.6, nomad installed by homebrew
Cluster running on Xenial
Issue
Nomad status crashes:
Reproduction steps
Have a 0.5.6 cluster running and try to ask for a job status with the 0.6.0 client.
I don’t know if there’s anything special about that combination but for hopefully understandable reasons, I’m very reluctant to update the cluster itself. :)
The text was updated successfully, but these errors were encountered: