-
Notifications
You must be signed in to change notification settings - Fork 18
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
Feature: Implement Instance snapshots #381
Conversation
* Feature: Restore existing snapshot from reference. * Feature: Forget old snapshots also before delete the file. * Fix: Use python SDK instead the connector to retrieve the snapshot messages by ref. * Fix: Fixed code quality issues. * Fix: Save snapshots in the correct path. * Fix: Retrieve the most recent snapshot and fix un-compression and mounting issues. * Fix: Code quality issues. * Fix: Fixed missing aioipfs dependency. * Fix: Downgraded aioipfs version. * Fix: Added missing python SDK dependency. * Fix: Added missing wheel dependency for Debian 12. * Fix: Fixing dependency error for Debian 12. * Fix: Fixing dependency error for Debian 12. * Fix: Build dependency error for Debian 12. --------- Co-authored-by: Andres D. Molins <[email protected]>
fa1e8a7
to
46c837d
Compare
# Use local ipfs node by default. TODO: Add a general setting to allow to customize it | ||
client = aioipfs.AsyncIPFS(host="localhost", port=5001) | ||
ipfs_hash = None | ||
async for added_file in client.add(str(path), recursive=True): |
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.
Why is this recursive if the goal is to upload a single file ?
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.
Because it accepts different files, and it return different results.
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.
In practice I only see it used in one place, snapshot_hash = await ipfs_upload_file(self.path)
, with a single file.
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.
Yes, I mean that the client.add
method call, it accepts different files, and return different results.
async def send_forget_ipfs_message( | ||
item_hash: ItemHash, reason: Optional[str] = "" | ||
) -> None: | ||
pkey = get_fallback_private_key() |
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.
This function should never be used in production: the creation of the key should be explicit and during installation. A key that is missing should cause an error.
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.
How I can get it?
I am closing this PR since we are facing performance issues in this implementation and want to evaluate the use of Qcow2 as a replacement. |
Feature: Upload VM snapshots using Aleph STORE message.
Feature: Restore existing snapshots as STORE Aleph message.