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

feat(cloud): Add volume import partial checks #1586

Open
wants to merge 5 commits into
base: staging
Choose a base branch
from

Conversation

craciunoiuc
Copy link
Member

@craciunoiuc craciunoiuc commented Apr 22, 2024

Prerequisite checklist

  • Read the contribution guidelines regarding submitting new changes to the project;
  • Tested your changes against relevant architectures and platforms;
  • Ran make fmt on your commit series before opening this PR;
  • Updated relevant documentation.

Description of changes

Merging this PR is dependent on merging the counterpart from @smoga on volume importing.

It is also dependent on removing feat(cloud): Introduce debug code after testing of course.

It is also dependent on adding support for prompts in processes.

@craciunoiuc craciunoiuc force-pushed the craciunoiuc/volinit-add-checks branch from e82f531 to 70a1722 Compare April 23, 2024 12:43
@craciunoiuc craciunoiuc force-pushed the craciunoiuc/volinit-add-checks branch from 8330adb to ddf4bf0 Compare May 9, 2024 14:21
@craciunoiuc craciunoiuc requested a review from nderjung May 9, 2024 14:21
@craciunoiuc craciunoiuc changed the title wip(cloud): Add volume import partial checks feat(cloud): Add volume import partial checks May 9, 2024
@craciunoiuc craciunoiuc force-pushed the craciunoiuc/volinit-add-checks branch 2 times, most recently from 50ac66e to 1c888ed Compare May 14, 2024 16:14
@craciunoiuc craciunoiuc force-pushed the craciunoiuc/volinit-add-checks branch from 1c888ed to 3d21625 Compare May 23, 2024 09:54
Importing is done to ensure further support is easy to do, as the
library has been left mostly abandoned.

The most important exposal is the raw CPIO header, needed for external
processing.

Although unused, it also exposes the name and entry padding for
entries.

Signed-off-by: Cezar Craciunoiu <cezar.craciunoiu@unikraft.io>
The following steps sum up what the new algorithm does:
1.  Send the raw CPIO header -- wait for OK
2.  Send the name of the file (NUL terminated) -- wait for OK
2'. Stop if last entry detected
3.  Send the file content | Link destination -- wait for OK

At any time the volume-import unikernel can error out and report back
the error to kraftkit to forward to the user.

Signed-off-by: Cezar Craciunoiu <cezar.craciunoiu@unikraft.io>
To be removed after everything is confirmed working

Signed-off-by: Cezar Craciunoiu <cezar.craciunoiu@unikraft.io>
Signed-off-by: Cezar Craciunoiu <cezar.craciunoiu@unikraft.io>
Also prints statistics at the end and queries at start.

Signed-off-by: Cezar Craciunoiu <cezar.craciunoiu@unikraft.io>
@craciunoiuc craciunoiuc force-pushed the craciunoiuc/volinit-add-checks branch from 3d21625 to 6c511b4 Compare May 23, 2024 09:59
@craciunoiuc craciunoiuc marked this pull request as ready for review May 23, 2024 10:01
@craciunoiuc craciunoiuc added this to the KraftKit v0.9.0 milestone Jun 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant