-
Notifications
You must be signed in to change notification settings - Fork 200
Simplify the runtime configuration #59
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
Comments
Not sure about all the others but I think |
Yep, I think so too. |
I believe the jailer socket path (not settable) is |
Opened #76 to track the use-case for separate VM sizing parameters for different VMs |
This has been changed in firecracker-go-sdk and we've now inherited that change such that it defaults to |
That looks accurate. I think for now I'm going to hard-code the socket (instead of making it configurable) as |
The Firecracker API socket is important for the runtime, as it uses the socket to communicate with Firecracker. Allowing the runtime to fully control the API socket (including its path) removes a potential failure condition from misconfiguration. The API socket is hard-coded to exist within the current working directory. Part of the contract that containerd exposes for runtimes is that they are started with the current working directory changed to be that of the OCI bundle. Using an API socket in the OCI bundle makes its location well-known and predictable to the runtime. Related: firecracker-microvm#59 Related: firecracker-microvm/firecracker-go-sdk#88 Signed-off-by: Samuel Karp <[email protected]>
The Firecracker API socket is important for the runtime, as it uses the socket to communicate with Firecracker. Allowing the runtime to fully control the API socket (including its path) removes a potential failure condition from misconfiguration. The API socket is hard-coded to exist within the current working directory. Part of the contract that containerd exposes for runtimes is that they are started with the current working directory changed to be that of the OCI bundle. Using an API socket in the OCI bundle makes its location well-known and predictable to the runtime. Related: firecracker-microvm#59 Related: firecracker-microvm/firecracker-go-sdk#88 Signed-off-by: Samuel Karp <[email protected]>
Per discussion with @nmeyerhans, my plan is to use "console=ttyS0 noapic reboot=k panic=1 pci=off nomodules rw" as the default for now. |
Related: firecracker-microvm#59 Signed-off-by: Samuel Karp <[email protected]>
Related: firecracker-microvm#59 Signed-off-by: Samuel Karp <[email protected]>
The console field was already removed, but stale documentation continued to reference it. This commit removes the stale documentation. Related: firecracker-microvm#59 Signed-off-by: Samuel Karp <[email protected]>
This field was removed, I'll remove it from this list. |
The console field was already removed, but stale documentation continued to reference it. This commit removes the stale documentation. Related: firecracker-microvm#59 Signed-off-by: Samuel Karp <[email protected]>
Related: firecracker-microvm#59 Signed-off-by: Samuel Karp <[email protected]>
Everything that I had outlined doing in the overview is now done, so resolving. Any further runtime configuration changes should be a separate issue. |
Uh oh!
There was an error while loading. Please reload this page.
The runtime configuration is fairly complicated and has a number of fields that need reasonable defaults.
firecracker_binary_path
- the relative path default is unreasonable, since the working directory changes every time containerd executes a new container (working directory is inside the container bundle)socket_path
- needs a reasonable default, probably relative inside the working directory/bundlekernel_image_path
- could use a default lookup pathkernel_args
- needs a reasonable defaultroot_drive
- could use a default lookup pathcpu_count
- might want to pick this dynamically from the OCI spec, with perhaps a reasonable defaultconsole
- should it default to "stdio"?Related to #57
The text was updated successfully, but these errors were encountered: