Skip to content
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

Breaking postcard version updates cause unclear version mismatch error #414

Open
FelixMcFelix opened this issue Nov 3, 2023 · 0 comments
Labels

Comments

@FelixMcFelix
Copy link
Collaborator

As seen in omicron#4414, upgrading the version of postcard from 0.x -> 1.x leads to mutual unintelligibility between OPTE 0.25 and 0.26. There is every possibility this could happen again in future: either via postcard 2.0, or we might choose another wire format.

We can probably:

  • make this error clearer in the API surface (i.e., indicate in our Error impl that a DeserCmdErr may well be an API version mismatch). The two main consumers here are opteadm and sled-agent, most likely.
  • move one or more fields outside of the OpteCmdIoctl struct: api_version being the obvious one, or we could prepend a separate wire-format version. This would still cause another messy break in parse behaviour, so we'd need to combine it with some clarifiaction of the failure mode.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant