Skip to content

Move the rootfs choice and preSetup step from reexec process to create process #779

Description

@cmainas

Currently, we let the reexec process to choose the appropriate rootfs for the guest based on the annotations and the monitor guest pair. Since this takes place in the reexec process we had problems in the past with the handling of the rootfs mount which was performed from the shim (See #562). This issue is still present in environments where the /run is not mounted with the MS_SHARED propagation flag. In these scenarios the unmount we perform in reexec does not propagate to the peer mount namespaces (namespace of create process).

Furthermore, due to the refactor we want to perform and use libcontainers for setting up the monitor execution environment, we will not be able to have access in the host rootfs and therefore update the block-based rootfs after the creation of the execution environment.

Taking into considaration all the above, we need to move the rootfs selection and the preSetup step in the create process and let reexec only read the selection from the annotations as it currently does when the shim selects the rootfs.

Metadata

Metadata

Assignees

Labels

CoreRelated to urunc's internalsdevInvolves development

Type

No fields configured for Task.

Projects

Status
Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions