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

Add support for firecracker snapshots #760

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

CuriousGeorgiy
Copy link

@CuriousGeorgiy CuriousGeorgiy commented Aug 22, 2023

Description of changes:

In order to support firecracker snapshots we need to make the following
changes:

  • add a new CreateSnapshot request;
  • add new parameters for snapshot loading to the CreateVM request
    (following the firecracker Golang SDK design, snapshot loading is
    essentially creating a VM with additional snapshot options).

Also add a NetNS (network namespace) parameter to the CreateVM request,
since the current NetNS parameter nested in the JailerConfig parameter
requires specifying the entire jailer configuration, which is not
convenient.

Issue #, if available: #759

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

The current network namespace parameter nested in the JailerConfig
parameter requires specifying the entire jailer configuration, which is not
convenient and doesn't allow using the noop jailer with a network
namespace.

To overcome this limitation, add a new NetNS parameter to the CreateVM
request.

See also a similar change in firecracker-microvm/firecracker-go-sdk#155.

Signed-off-by: Georgiy Lebedev <lebedev.gk@phystech.edu>
@CuriousGeorgiy CuriousGeorgiy force-pushed the vhive-integration branch 4 times, most recently from 09e74c6 to 9a7a2bd Compare September 8, 2023 11:39
In order to support firecracker snapshot-restore we need to make the
following changes:
* add a new CreateSnapshot request;
* add new parameters for snapshot loading to the CreateVM request
(following the firecracker Golang SDK design, snapshot loading is
essentially creating a VM with additional snapshot options).

When a VM is created by loading a snapshot, it's container snapshot drives
are already mounted, so the drive mount stub creation and mounting is
skipped.

Also add a NetNS (network namespace) parameter to the CreateVM request,
since the current NetNS parameter nested in the JailerConfig parameter
requires specifying the entire jailer configuration, which is not
convenient.

Signed-off-by: Georgiy Lebedev <lebedev.gk@phystech.edu>
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.

1 participant