-
Notifications
You must be signed in to change notification settings - Fork 150
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
Add fsfreeze functionality to snapshot #1083
Conversation
ad96ec2
to
2149c73
Compare
I found a pretty convenient way to modify the integration test that was written for this feature's original implementation to work with the current implementation. It tests basic functionality (e.g., when Otherwise, I manually tested the following scenarios using this modified engine and the modified instance manager. In the interest of time, I didn't write up an exhaustive description of how the tests were executed, but here are the basic commands involved:
Here are the test cases. All tests were executed on a known "good" kernel (Rocky 9.3 with an upstream Take a snapshot without --freeze-fs. Check:
Take a snapshot with --freeze-fs. Check: Take a snapshot with --freeze-fs. Ctrl+C the instance manager container while the freeze is ongoing. Check:
Take a snapshot with --freeze-fs. kill -9 the instance manager container while the freeze is ongoing. Check:
Take a snapshot with --freeze-fs. kill -9 the instance manager container BETWEEN FREEZE AND LOCK (need code modification). Then, restart instance-manager. Check:
Take a snapshot with --freeze-fs. Stop the engine using a call to instance-manager BETWEEN FREEZE AND LOCK (need code modification). Check:
Take a snapshot with --freeze-fs. kill -9 the engine process (but not instance-manager) BETWEEN FREEZE AND LOCK (need code modification).
Take a snapshot with --freeze-fs. Then, quickly take another snapshot.
|
This pull request is now in conflict. Could you fix it @ejweber? 🙏 |
c1fb482
to
94f3cdb
Compare
Reworking some things in response to @PhanLe1010's feedback. Will reopen again when I am back to fairly confident. |
a9d3226
to
5af2582
Compare
Squash the POC implementation history to avoid confusion. Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
TODO: Remove this before merging. Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Stop Codefactor from complaining. Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Moved back to ready for review @PhanLe1010. Sorry for the delay. I responded to all of your comments and made changes with respect to some of them. I also fixed an issue Codefactor had with my integration test and ensured we actually cleaned up the directories within the instance-manager container we bind mounted to (in case a long running instance-manager used too many!). I reran #1083 (comment) with the changes. |
This pull request is now in conflict. Could you fix it @ejweber? 🙏 |
Could you point me to this? Thank you |
Sorry for the confusion. This commit uses CleanupMountPoint in two places:
|
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.
LGTM
Thank you for the great implementation!
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.
Just a couple of nits in comments, no issues. LGTM
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Since longhorn/types#8 merged and I have two approving reviews, I will remove my debug commits and rebase in preparation for merge soon. |
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
This reverts commit 2240844. Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
Longhorn 2187 Signed-off-by: Eric Weber <eric.weber@suse.com>
After resolving the rebase and conflicts, it's good to go |
Which issue(s) this PR fixes:
longhorn/longhorn#2187
What this PR does / why we need it:
Additional documentation or context
Depends on longhorn/types#8.
We need to roll back the debugging commit and fix the imports before merging.