-
Notifications
You must be signed in to change notification settings - Fork 0
Freeze VM on Startup #120
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: v2.3.1
Are you sure you want to change the base?
Freeze VM on Startup #120
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Code Review for PR #120: Freeze VM on StartupSummaryThis PR introduces VM state persistence functionality by adding save/restore methods to the Code Quality & Best Practices✅ Strengths
|
I had initially thought snapshots could effectively freeze VM state. But since they only capture drive state, they’re not really any different from switching off the VM and then cold-booting. On quit, write state to a file within the machine bundle. On next “start”, check for the file and restore from it instead. Delete the file. Also, persist MAC address. Required for save/restore to work.
68d25e4 to
9978af3
Compare
Code Review for PR #120: Freeze VM on StartupI've completed a thorough review of this pull request. Below are my findings organized by category: 🔴 Critical Issues1. Breaking Change: NetworkConfiguration Codable CompatibilityLocation: The addition of
Recommendation:
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
id = try container.decode(UUID.self, forKey: .id)
attachment = try container.decode(NetworkingConfigurationAttachment.self, forKey: .attachment)
macAddress = try container.decodeIfPresent(String.self, forKey: .macAddress)
}
2. Missing Protocol ImplementationLocation: The new methods
Recommendation:
|
No description provided.