Details
-
Task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
Mesosphere Sprint 57
-
5
Description
Right now DEBUG containers can only be started using the LaunchNestedContainerSession API call. They will enter its parent’s namespaces, inherit environment variables, stream its I/O, and Mesos will tie their life-cycle to the lifetime of the HTTP connection.
Streaming the I/O of a container requires an I/O Switchboard and adds some overhead and complexity:
- Mesos will launch an extra process, called an I/O Switchboard for each nested container. These process aren’t free, they take some time to create/destroy and consume resources.
- I/O Switchboards are managed by a complex isolator.
- /O Swichboards introduce new race conditions, and have been a source of deadlocks in the past.
Some use cases require some of the features provided by DEBUG containers, but don’t need the functionality provided by the I/O switchboard. For instance, the Default Executor uses DEBUG containers to perform (health)checks, but it doesn’t need to stream anything to/from the container.
Attachments
Issue Links
- is related to
-
MESOS-7500 Command checks via agent lead to flaky tests.
- Resolved
- relates to
-
MESOS-7121 Make IO Switchboard optional for debug containers
- Open