Commit Graph

68 Commits

Author SHA1 Message Date
Amit Krishnan
62e1370f91 containerd build clean on Solaris (#203)
* containerd build clean on Solaris

Signed-off-by: Amit Krishnan <krish.amit@gmail.com>

* Vendor golang.org/x/sys

Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
2016-05-19 10:12:50 -07:00
Michael Crosby
847690583f Remove sigchld reaper from containerd process
Because we are launching alot of different runc commands to do
operations there is a race between doing a `cmd.Wait()` and getting the
sigchld and reaping it.  We can remove the sigchild reaper from
containerd as long as we make sure we reap the shim process if we are
the parent, i.e. not restored.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-04-27 16:02:03 -07:00
Michael Crosby
f7f4d8677f Remove windows code and simplify linux
Windows will not use containerd and its just unused code and unneed
complexity to keep it all around.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-04-26 14:10:41 -07:00
Aleksa Sarai
f88d701233 containerd: use docker/listeners to create the GRPC socket
This allows for the use of socket activation with the flag `-l fd://`
and similar. The semantics are identical to Docker, but it's important
to note that the semantics of the --listen flag have changed to require
a proto://addr formatted string.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-04-23 02:20:46 +10:00
Michael Crosby
a8dd154da1 Merge pull request #212 from mlaventure/test-containerd-restart
Test containerd restart
2016-04-21 10:24:31 -07:00
Kenfe-Mickael Laventure
7b2491bccc Use nanosecond timing for daemon log
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-04-20 18:08:23 -07:00
Michael Crosby
1b8cc65462 Set fixed event log size
Truncate the event log on disk and in memory so that it does not
grow forever.  This is mainly used for higher levels to receive past
events if they miss any.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-04-20 15:07:49 -07:00
mYmNeo
4eb27a5926 let user to specify the shim name or path
Signed-off-by: mYmNeo <thomassong@tencent.com>
2016-04-06 14:42:47 +08:00
Michael Crosby
3742ae3ec8 Add timeout flag for container start times
This currently depends on a runc PR:

https://github.com/opencontainers/runc/pull/703

We need this pr because we have to SIGKILL runc and the container root
dir will still be left around.

As for the containerd changes this adds a flag to containerd so that you
can configure the timeout without any more code changes.  It also adds
better handling in the error cases and will kill the containerd-shim and
runc ( as well as the user process if it exists ) if the timeout is hit.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-04-05 13:38:49 -07:00
Michael Crosby
3d72dc1e4e Merge pull request #161 from calavera/enable_pprof
Enable http pprof connections when pprof-address flag is set
2016-03-25 17:27:08 -07:00
David Calavera
06bcd7d03c Enable http pprof connections when pprof-address is set.
Add flag to specify the address where those connections listen.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-25 17:46:10 -04:00
Kenfe-Mickael Laventure
e500586d8f Disable metrics if interval is less or equal to 0
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-03-25 11:03:11 -07:00
Michael Crosby
6e4d5b385c Add runtimeArgs to pass to shim
This allows you to pass options like:

```bash
containerd --debug --runtime-args "--debug" --runtime-args
"--systemd-cgroup"
```

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-24 13:31:27 -07:00
Michael Crosby
1000723f2d Add tonis and mickael as maintainers
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-21 13:16:12 -07:00
Michael Crosby
c28a87cbc1 Handle term signals gracefully
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-21 12:54:57 -07:00
Kenfe-Mickael Laventure
febace3633 Add the git commit to the output version
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-03-18 15:29:22 -07:00
Michael Crosby
319af0765b Default metrics interval to 5m
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-01 11:22:08 -08:00
Michael Crosby
7cbe3e759d Remove oom flag on daemon
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-01 11:17:29 -08:00
John Howard
b044ff0f29 Refactor process.go for platform specific
Signed-off-by: John Howard <jhoward@microsoft.com>

Move process sorter to new file

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Sort containers by id

This will not be the most accurate sorting but atleast the list will be
consistent inbetween calls.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Allow runtime to be configurable via daemon start

This allows people to pass an alternate name or location to the runtime
binary to start containers.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Fix state output for containers

Return the proper state/status for a container by checking if the pid is
still alive.  Also fix the cleanup handling in the shim to make sure
containers are not left behind.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Properly wait for container start

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-02-29 10:43:35 -08:00
John Howard
3d8e37cf9d Making it not crash on Windows
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-28 19:02:24 -08:00
John Howard
dd192f4cd9 Final bit of compiling on Windows
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-26 15:38:05 -08:00
Jaana Burcu Dogan
f611b37834 Use a better package name for utility functions. 2016-02-17 00:10:18 +01:00
Michael Crosby
9341a95c26 add event log and timestamp to events api
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-02-12 10:17:59 -08:00
Michael Crosby
3dc59d565a Rename Events to task in supervisor
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-02-11 17:26:24 -08:00
Michael Crosby
36eb83cb99 Move fifo creation to client
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-02-03 13:56:15 -08:00
Michael Crosby
fe38efda50 Add shim for reattach of processes
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Remove runtime files from containerd

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Update supervisor for orphaned containers

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Remove ctr/container.go back to rpc calls

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Add attach to loaded container

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Add monitor based on epoll for process exits

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Convert pids in containerd to string

This is so that we no longer care about linux or system level pids and
processes in containerd have user defined process id(pid) kinda like the
exec process ids that docker has today.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Add reaper back to containerd

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Implement list containers with new process model

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Implement restore of processes

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Add NONBLOCK to exit fifo open

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Implement tty reattach

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Fix race in exit pipe creation

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Add delete to shim

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Update shim to use pid-file and not stdout

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-02-02 16:00:22 -08:00
Michael Crosby
1ade1f6d81 Remove authors from cli
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-01-25 15:15:35 -08:00
Burcu Dogan
a151f019fe containerd: do not export any symbols
Following up with #87.

Signed-off-by: Burcu Dogan <jbd@google.com>
2016-01-25 14:55:20 -08:00
Alexander Morozov
e55ebadb09 Revert "Use protoversion for containerd version"
This reverts commit d2e319523d.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-01-05 13:07:47 -08:00
Michael Crosby
7d4f74474e Add more metrics collection
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-18 16:54:02 -08:00
Peter Edge
d2e319523d Use protoversion for containerd version
Signed-off-by: Peter Edge <peter.edge@gmail.com>
2015-12-18 13:06:04 +00:00
Alexander Morozov
69f8f566a2 Move supervisor to it's own package
It allows to keep main namespace cleaner

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-12-17 16:18:48 -08:00
Michael Crosby
286b5aaa00 Merge pull request #34 from LK4D4/graphite_support
Add graphite metrics support
2015-12-16 16:09:44 -08:00
Alexander Morozov
f3d2b60bab Add graphite metrics support
I tried with https://github.com/hopsoft/docker-graphite-statsd and it
looks pretty nice. We can see how different metrics depends on a number of
containers and find bottlenecks under heavy load.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-12-16 16:03:08 -08:00
Michael Crosby
83eeb131d8 Update readme and documentation for release
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-16 12:15:22 -08:00
Michael Crosby
76cf593212 Add oom notifications and pid to create response
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-15 16:22:53 -08:00
Alexander Morozov
ca4191ce41 Use unix-socket as communication channel
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Conflicts:
	ctr/container.go
2015-12-14 17:35:49 -08:00
Michael Crosby
25973db0c9 Set higher rlimit for logs and pipes
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-11 14:33:48 -08:00
Michael Crosby
e0da266b71 Add comments to various functions
Don't export the notify subscribers method

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-10 14:11:00 -08:00
Michael Crosby
1d3349128e Replace rest api with grpc api
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-09 15:39:27 -08:00
Michael Crosby
2b108580fb Merge pull request #16 from LK4D4/grpc_api
Prototype of grpc API
2015-12-09 15:08:40 -08:00
Alexander Morozov
e14e4576c9 Prototype of grpc API
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-12-09 15:05:50 -08:00
Michael Crosby
6d3c60d8fb Add fd output to debug metrics
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-09 14:40:55 -08:00
Michael Crosby
f8ee26ffca Merge pull request #14 from LK4D4/add_logging
Add logging and more info
2015-12-08 11:38:13 -08:00
Michael Crosby
c0263b6b70 Make root makefile
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-08 11:37:55 -08:00
Alexander Morozov
64705f5263 Add buffer size to signal handler log
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-12-08 11:31:22 -08:00
Alexander Morozov
46b2a560c0 Add logging about subreaper
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-12-08 11:30:54 -08:00
Michael Crosby
d9e8fe62cb Add concurrency and id flag for daemon
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-07 15:19:56 -08:00
Michael Crosby
59093a22d0 Add prctl to utils package
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-07 10:36:48 -08:00
Michael Crosby
c10b3cde9f Implement proper shutdown logic
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-04 13:31:17 -08:00