Commit graph

849 commits

Author SHA1 Message Date
Michael Crosby
f240c3d1a7 Add scope to readme
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-02 14:54:45 -07:00
Stephen J Day
9008471a84
content: initial implementation of content store
After experimenting with pull, we've defined a transactional content
store for verified storage of fetched items. A base component of
containerkit, this will interact with both the runtime and distribution
sides of the system, avoiding coupling.

Blob access if provided through direct access to readonly files.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-11-01 18:43:15 -07:00
Michael Crosby
788e19d251 Move runtime and Mounts to container config
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-28 15:51:31 -07:00
Michael Crosby
3551d4c0b9 Implement live restore with shim
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-06 15:18:26 -07:00
Michael Crosby
a861ae9d18 Fix monitor with process events
Monitor was receiving multiple events for the process

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-06 15:06:34 -07:00
Michael Crosby
1911191f94 Implement Load for shim
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-06 11:54:59 -07:00
Michael Crosby
4641ab4101 Fix process wait with monitor
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-06 11:46:03 -07:00
Michael Crosby
90e4f130c8 Add working shim exec driver for start
Still need to implement a working Wait() on the process using epoll
because of the non-blocking exit fifo

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-06 11:39:12 -07:00
Michael Crosby
c76f883ccd Finish port of shim package
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-05 15:07:20 -07:00
Michael Crosby
0f33efb1f7 Add start of shim code to new interfaces
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-04 10:45:09 -07:00
Michael Crosby
5cdaf7f8bb Use interfaces for container creation
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-03 15:48:39 -07:00
Michael Crosby
be20dd0484 Update oci executor to use Opts
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-03 15:20:45 -07:00
Michael Crosby
23adfe42f9 Add loading of existing container
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-30 13:51:10 -07:00
Michael Crosby
06e42ec370 Rename runc to oci package
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-30 10:39:26 -07:00
Michael Crosby
49710435b7 Cleanup example usage and defaults
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-28 15:36:46 -07:00
Michael Crosby
df79231bdf Add exec to example
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-28 15:27:24 -07:00
Michael Crosby
b3ab74fee3 Add rough container type and runc runtime
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-28 15:09:22 -07:00
Stephen J Day
c2da97c4d1 containerkit: layer manipulator overlay poc
A light weight overlay implementation that emits working mounts is
demonstrated. One can prepare and commit changes. The diffs are
correctly held on disk.

The next step from here is to implement the changes methods and ensure
that we can work with the docker registry API.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-26 21:43:58 -07:00
Stephen J Day
34b630c861 layers: add design and structure of layer manipulator
We define the approach and API of the LayerManipulator. It provides a
model for a bare bones graph driver using a simplified snapshotting
model. Callers Prepare and Commit diff paths to build up a tree of
interelated layers, all without being coupled to the layer diff format
or an image runtime.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-26 19:34:43 -07:00
Stephen J Day
49ce56467e containerkit: change package name of root package
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-26 18:16:00 -07:00
Stephen J Day
ba1e290d12 containerkit: define mount type
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-26 18:15:19 -07:00
Michael Crosby
478f715836 Rename archutils to epoll
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-22 14:08:41 -07:00
Michael Crosby
97c3c3847a Refactor epoll monitor for generic use
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-22 14:03:45 -07:00
Michael Crosby
b6bf350a07 Merge container.protos
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-22 11:29:20 -07:00
Stephen J Day
32a25d5523
api: begin to define the containerkit api
This commit cuts out the structure for defining grpc services for this
project. To provide compatibility with go package generation and support
reuse, we use a single protobuf file per package and make the import
paths relative to the GOPATH.

This first pass attempts to position the Mount type as the lingua franca
of ContainerKit. The Images service will provide paths prepared for use
as a set of mounts of the container service.

We'll need to merge the container service in place with new file defined
here.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-20 20:22:23 -07:00
Michael Crosby
40003e7085 Add supervisor config
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-20 15:30:35 -07:00
Michael Crosby
0dcd3a034d Add additional request/response protos
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-20 12:01:28 -07:00
Michael Crosby
ce7702f2db Add initial container protos and service
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-20 11:20:48 -07:00
Michael Crosby
97dbfe9e1f Move cputicks into osutils package
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-20 11:20:17 -07:00
Michael Crosby
37260f75db Refactor containerd main
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-20 10:29:42 -07:00
Michael Crosby
435a1c825d Refactor api/http to just pprof
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-20 10:22:19 -07:00
Michael Crosby
058eea362a Remove go-metrics
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-20 10:14:53 -07:00
Michael Crosby
0645faf690 Update readme for containerkit
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-20 09:32:10 -07:00
Michael Crosby
2545227b03 Merge pull request #320 from mlaventure/handle-pid-host-children
Notify containerd of init death before waiting for children in Shim
2016-09-20 09:10:06 -07:00
Kenfe-Mickael Laventure
61338577b5 Notify containerd of init death before waiting for children in shim
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-19 15:15:09 -07:00
Michael Crosby
0eccb0d224 Merge pull request #319 from mlaventure/harmonize-event-status-type
Use uint32 as Event's Status type everywhere
2016-09-19 13:16:35 -07:00
Kenfe-Mickael Laventure
db9aed5a97 Use uint32 as Event's Status type everywhere
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-19 12:01:34 -07:00
Michael Crosby
4eb3147efc Merge pull request #317 from mlaventure/handle-exec-clingy-children
Handle exec clingy children
2016-09-19 11:53:06 -07:00
Kenfe-Mickael Laventure
600b4d1154 Remove containerd as subreaper
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-16 13:38:17 -07:00
Kenfe-Mickael Laventure
85050da1e0 Update ExitStatusFile correctly if process died while daemon was down
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-16 13:30:16 -07:00
Kenfe-Mickael Laventure
18c76025a1 Wait for all exec process child before exiting from shim
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-16 13:30:16 -07:00
Kenfe-Mickael Laventure
920a9c21d7 Don't hog task queue while waiting for exec process
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-16 13:30:16 -07:00
Michael Crosby
578bf0c70e Merge pull request #314 from mikedanese/update-grpc
update grpc dependency to v1.0.1-GA
2016-09-14 10:49:10 -07:00
Mike Danese
3492af35ba grpc: regenerate protos and adjust for new package API
Signed-off-by: Mike Danese <mikedanese@google.com>
2016-09-12 11:37:24 -07:00
Mike Danese
ea36fe0bb7 vendor: update grpc to v1.0.1-GA
The currently used go-grpc client is rather old (a commit from May).
Since then a GA release has been cut, so let's use that.

Signed-off-by: Mike Danese <mikedanese@google.com>
2016-09-12 11:36:39 -07:00
Kenfe-Mickaël Laventure
4c21ad662f Merge pull request #316 from mlaventure/add-missing-printf-arg
Add missing printf parameter when starttime write fails
2016-09-12 09:39:44 -07:00
Kenfe-Mickael Laventure
f7de90516f Add missing printf parameter when starttime write fails
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-12 09:32:51 -07:00
Kenfe-Mickaël Laventure
ddf95cb0fb Merge pull request #315 from LK4D4/add_health_check
Add grpc health check service
2016-09-12 07:37:32 -07:00
Alexander Morozov
d5f9910cee Add grpc health check service
Also, block on dial in integration tests

Signed-off-by: Alexander Morozov <lk4d4math@gmail.com>
2016-09-09 13:14:47 -07:00
Michael Crosby
35a736c471 Merge pull request #313 from mlaventure/handle-sigkilled-shim-the-return
Handle shim being sigkilled while containerd is down
2016-09-08 14:48:52 -07:00