cri-o/oci
Samuel Ortiz 4c7583b467
oci: Do not call the container runtime from ExecSync
Some OCI container runtimes (in particular the hypervisor
based ones) will typically create a shim process between
the hypervisor and the runtime caller, in order to not
rely on the hypervisor process for e.g. forwarding the
output streams or getting a command exit code.

When executing a command inside a running container those
runtimes will create that shim process and terminate.
Therefore calling and monitoring them directly from
ExecSync() will fail. Instead we need to have a subreaper
calling the runtime and monitoring the shim process.
This change uses conmon as the subreaper from ExecSync(),
monitors the shim process and read the exec'ed command
exit code from the synchronization pipe.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2017-01-14 02:02:43 +01:00
..
history.go use an in memory store for containers 2016-09-19 13:11:36 +02:00
memory_store.go fix typo to make go report more happy 2017-01-04 14:24:11 +08:00
oci.go oci: Do not call the container runtime from ExecSync 2017-01-14 02:02:43 +01:00
store.go use an in memory store for containers 2016-09-19 13:11:36 +02:00