Skip to content

Support multiple block and network devices over Solo5/MirageOS #315

@cmainas

Description

@cmainas

In the community meeting on 29 of October Reynir raised an issue about the hardcoded IDs we use for attaching network and block devices in MirageOS. This is a valid issue and we can easily confirm it looking at the code (e.g. for networking https://github.com/urunc-dev/urunc/blob/main/pkg/unikontainers/unikernels/mirage.go#L58).

According to the discussion during the community meeting MirageOS specifies the IDs for the network interfaces and block devices at build time and stores them in the Solo5 manifest https://github.com/Solo5/solo5/blob/main/docs/architecture.md#application-manifest. Therefore, urunc needs to extract these IDs and attach them to the respective host devices.

While this is quite easy for single block/net devices, in case of multiple ones, urunc needs to have the information of how to map each ID from the manifest to a host device. One idea to solve that would be to use annotations that instruct urunc to attach each device with the IDs in the manifest.

In order to resolve the above issues by providing a more generic and useful solution than the current hardcoded values, we can use this issue for suggestions and discussion. It would also be very helpful if people from MirageOS community help us with the design.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CoreRelated to urunc's internalsNetworkdesignInvolves design/architectureenhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions