Skip to content

Mechanism to catch unversioned Firecracker state struct changes #1855

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

Closed
acatangiu opened this issue May 4, 2020 · 3 comments
Closed

Mechanism to catch unversioned Firecracker state struct changes #1855

acatangiu opened this issue May 4, 2020 · 3 comments
Assignees
Labels
Type: Enhancement Indicates new feature requests

Comments

@acatangiu
Copy link
Contributor

No description provided.

@alsrdn
Copy link

alsrdn commented May 3, 2022

We either need to move this issue to the versionize repository or create a mechanism in Firecracker to verify that structs implementing versionize were not changed.

@sandreim
Copy link
Contributor

sandreim commented May 3, 2022

I would look at options to ensure state format is an invariant when serializing/deserializing the same version (meaning the version of all structs that make up the state) of Firecracker, but some support needs to be provided by the versionize crates. For starters, you can have a test that builds FC with a special flag which enables versionize to compute the hash of the compile time metadata. Then traverse the state and write all of these versions and hashes of all structs from the state and save them to disk. You would then just compare these versus the "gold values" commited in the repo.

@JonathanWoollett-Light JonathanWoollett-Light added Type: Enhancement Indicates new feature requests and removed Feature: Snapshotting labels Mar 23, 2023
@roypat
Copy link
Contributor

roypat commented Jan 29, 2024

Firecracker is no longer using versionize, having replace it with serde in #4230. Closing this issue as no longer applicable

@roypat roypat closed this as not planned Won't fix, can't repro, duplicate, stale Jan 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Enhancement Indicates new feature requests
Projects
None yet
Development

No branches or pull requests

6 participants