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

Snapshot support #3694

Merged
merged 7 commits into from
Oct 4, 2024
Merged

Conversation

mulkieran
Copy link
Member

No description provided.

Copy link

Congratulations! One of the builds has completed. 🍾

You can install the built RPMs by following these steps:

  • sudo yum install -y dnf-plugins-core on RHEL 8
  • sudo dnf install -y dnf-plugins-core on Fedora
  • dnf copr enable packit/stratis-storage-stratisd-3694
  • And now you can install the packages.

Please note that the RPMs should be used only in a testing environment.

@mulkieran
Copy link
Member Author

We expect all tests to pass

@mulkieran mulkieran force-pushed the snapshot-support branch 2 times, most recently from 5a5b21d to 6806499 Compare September 26, 2024 02:39
@mulkieran
Copy link
Member Author

Previous test failure was due to nothing worse than a missing chunk of test...

@mulkieran
Copy link
Member Author

Failing tests were caused by PoolStart call with extra fd in Python test code...

@mulkieran mulkieran force-pushed the snapshot-support branch 2 times, most recently from 5e3b985 to 479f2ec Compare September 27, 2024 02:04
@mulkieran
Copy link
Member Author

Squashed to eliminate some switchbacks

Copy link
Member

@jbaublitz jbaublitz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still going through the PR but so far just one comment.

src/engine/strat_engine/serde_structs.rs Outdated Show resolved Hide resolved
@mulkieran
Copy link
Member Author

@jbaublitz back at you...

Copy link
Member

@jbaublitz jbaublitz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I've finished reviewing this, so after these changes are addressed I'll approve it.

src/engine/strat_engine/thinpool/thinpool.rs Outdated Show resolved Hide resolved
src/engine/strat_engine/thinpool/thinpool.rs Outdated Show resolved Hide resolved
src/engine/sim_engine/pool.rs Outdated Show resolved Hide resolved
src/engine/strat_engine/thinpool/thinpool.rs Outdated Show resolved Hide resolved
src/engine/strat_engine/thinpool/thinpool.rs Outdated Show resolved Hide resolved
src/engine/strat_engine/thinpool/thinpool.rs Outdated Show resolved Hide resolved
src/engine/strat_engine/thinpool/thinpool.rs Outdated Show resolved Hide resolved
src/engine/strat_engine/thinpool/thinpool.rs Outdated Show resolved Hide resolved
src/engine/strat_engine/thinpool/thinpool.rs Outdated Show resolved Hide resolved
src/engine/sim_engine/pool.rs Show resolved Hide resolved
@mulkieran
Copy link
Member Author

@jbaublitz I decided to inline all the format strings that I could inline that were introduced by this PR.

@mulkieran
Copy link
Member Author

@jbaublitz Ok. This is ready again.

@mulkieran mulkieran requested a review from jbaublitz October 3, 2024 14:07
@mulkieran
Copy link
Member Author

squashed...

Add MergeRequested property to filesystem D-Bus interface.
Use it to set and unset the filesystem metadata field.

Change destroy_filesystems to take into account the merge status of a
filesystem.  Move all the destroy functionality into thinpool implementation.
Do more checks to avoid deleting filesystems that shouldn't be deleted.
Check for situations where multiple snapshots are referring to the same
deleted filesystem.

Check for invalid scheduling requests when requesting or canceling a
merge request.

Add merge field to SimFilesystem's metadata for completeness' sake.

Add some tests.

Signed-off-by: mulhern <[email protected]>
Verify that scheduled merges are permissible.

Return with an error without setting up any filesystems if duplicate
UUIDs or names are found.

Perform the merges before setting up any filesystems. If a merge can be
rolled back, set up the two filesystems in the merge relation in the
normal way.

Also set the reverted filesystem UUID to the origin's UUID.

After a revert has completed, patch up origin links.

Set a snapshot of the reverted snapshot to that snapshot's origin.

When reverting one snap, A into another snap, B, the reverted filesystem
should have B's origin.

Define a merge operation for the FilesystemSave struct.

Signed-off-by: mulhern <[email protected]>
Semantics preserving, so pass None where it is invoked.

Signed-off-by: mulhern <[email protected]>
Make this change visible on the D-Bus.

Signed-off-by: mulhern <[email protected]>
@mulkieran mulkieran force-pushed the snapshot-support branch 2 times, most recently from 11af265 to 45fed6c Compare October 3, 2024 20:02
@mulkieran
Copy link
Member Author

Gating tests and stratis-cli tests will fail...

@mulkieran mulkieran marked this pull request as ready for review October 4, 2024 00:56
@mulkieran
Copy link
Member Author

Only gating tests fail...

@mulkieran
Copy link
Member Author

Gating tests should no longer fail...

@mulkieran mulkieran self-assigned this Oct 4, 2024
@mulkieran
Copy link
Member Author

TMT is stuck on Cockpit tests, merging...

@mulkieran mulkieran merged commit 326ae2e into stratis-storage:rebase-3.6.0 Oct 4, 2024
49 of 50 checks passed
@mulkieran mulkieran deleted the snapshot-support branch October 4, 2024 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done(1)
Development

Successfully merging this pull request may close these issues.

3 participants