-
Notifications
You must be signed in to change notification settings - Fork 38
[Disk Manager] Add disk manager filesystem snapshot dataplane schema #4779
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: main
Are you sure you want to change the base?
[Disk Manager] Add disk manager filesystem snapshot dataplane schema #4779
Conversation
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.
Pull request overview
This PR adds a new filesystem snapshot dataplane schema and storage layer for the disk manager. It introduces a YDB-backed storage implementation for managing filesystem snapshot metadata, including creation, deletion, locking, and lifecycle management operations. The implementation follows patterns established in the existing snapshot storage module.
Key Changes
- Introduces
FilesystemSnapshotMetastorage interface with YDB implementation supporting snapshot CRUD operations and locking mechanisms - Adds database schema with tables for filesystem snapshots, node metadata, and deletion tracking
- Provides comprehensive test coverage for all storage operations including idempotency, locking, and deletion workflows
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| cloud/disk_manager/internal/pkg/dataplane/ya.make | Adds filesystem_snapshot module to build configuration |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/ya.make | Defines build structure for filesystem_snapshot module |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/ya.make | Configures library with source files and test dependencies |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/tests/ya.make | Sets up test environment with YDB recipe and resource requirements |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/storage.go | Defines Storage interface and FilesystemSnapshotMeta structure |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/storage_ydb.go | Implements YDB storage backend with transaction handling and query operations |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/storage_ydb_test.go | Provides comprehensive test coverage for all storage operations |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/common.go | Defines internal state structures and snapshot status enumeration |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/schema/ya.make | Build configuration for schema package |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/schema/schema.go | Implements database schema creation and deletion with multiple tables |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/protos/ya.make | Build configuration for protobuf definitions |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/protos/types.proto | Defines DeletingFilesystemSnapshotKey message for deletion tracking |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/mocks/ya.make | Build configuration for mock implementations |
| cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/mocks/storage_mock.go | Provides StorageMock for testing using testify/mock |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/common.go
Outdated
Show resolved
Hide resolved
cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/storage_ydb.go
Outdated
Show resolved
Hide resolved
cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/storage_ydb_test.go
Show resolved
Hide resolved
cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/storage_ydb.go
Outdated
Show resolved
Hide resolved
cloud/disk_manager/internal/pkg/dataplane/filesystem_snapshot/storage/common.go
Show resolved
Hide resolved
Co-authored-by: Copilot <[email protected]>
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.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.