Michael Crosby
c6b8e57bad
Only lock on map get for process state
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-12-21 13:03:51 -05:00
Michael Crosby
8e598fcb21
Check that process exists before it is returned
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-12-21 13:03:51 -05:00
Michael Crosby
f78bad2cc7
Remove panic from newCommand
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-12-06 14:02:24 -05:00
Stephen J Day
c5fe021d5e
api: lock down 1.0 API descriptors
...
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-12-05 13:17:08 -08:00
Michael Crosby
b0ca685874
Retry unmount on EBUSY and return errors
...
This is another WIP to fix #1785 .
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-12-04 11:31:08 -05:00
Michael Crosby
fd2e3cd326
Remove mount namespace from shim
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-12-01 17:35:14 -05:00
Michael Crosby
74b3cb3391
Fix exit event handling in shim
...
Could issues where when exec processes fail the wait block is not
released.
Second, you could not dump stacks if the reaper loop locks up.
Third, the publisher was not waiting on the correct pid.
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-28 14:32:06 -05:00
Stephen J Day
e8f52c35ce
linux/shim: reduce memory overhead by using ttrpc
...
By replacing grpc with ttrpc, we can reduce total memory runtime
requirements and binary size. With minimal code changes, the shim can
now be controlled by the much lightweight protocol, reducing the total
memory required per container.
When reviewing this change, take particular notice of the generated shim
code.
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-11-22 12:21:48 -08:00
Michael Crosby
e830112efd
Add lock around task cgroup
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-22 11:14:08 -05:00
Daniel Nephin
f74862a0dd
Add structcheck, unused, and varcheck linters.
...
Warn on unused and dead code
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-11-21 11:14:37 -05:00
Michael Crosby
67232e93dc
Merge pull request #1779 from AkihiroSuda/resolve-util-bin
...
shim: support non-default binary name
2017-11-17 17:53:43 -05:00
Akihiro Suda
7ef4aa5c25
shim: support non-default binary name
...
The binary name used for executing "containerd publish" was hard-coded
in the shim code, and hence it did not work with customized daemon
binary name. (e.g. `docker-containerd`)
This commit allows specifying custom daemon binary via `containerd-shim
-containerd-binary ...`.
The daemon invokes this command with `os.Executable()` path.
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-11-17 22:21:54 +00:00
Stephen J Day
50532f231a
api: use weak imports for plugin protobufs
...
Because of a side-effect import, we have the possibility of pulling in
several unnecessary packages that are used by the plugin and not at
runtime to implement protobuf structures. Setting these imports to
`weak` prevents this from happening, reducing the total import set,
reducing memory usage and binary size.
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-11-16 20:18:15 -08:00
Derek McGowan
5c6e789dde
Merge pull request #1769 from stevvooe/split-events-types
...
api/events: split event types from events service
2017-11-16 16:29:28 -08:00
Stephen J Day
09b5ca1072
api/events: split event types from events service
...
To avoid importing all of grpc when consuming events, the types of
events have been split in to a separate package. This should allow a
reduction in memory usage in cases where a package is consuming events
but not using the gprc service directly.
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-11-16 15:20:46 -08:00
Stephen J Day
c5022ad92d
protobuf: use the gogo/types package for empty
...
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-11-15 19:08:54 -08:00
Michael Crosby
8376b50b19
Add grpc methods to errdefs
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-13 16:45:25 -05:00
Michael Crosby
c81788b129
Remove errdefs and shimapi types from proc package
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-13 16:45:25 -05:00
Michael Crosby
9abde39bf7
Fix lint issues on init process
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-13 16:45:25 -05:00
Michael Crosby
66a70e7fda
Refactor runtime initialization
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-13 16:45:25 -05:00
Michael Crosby
36e5548e76
Remove namepsaces and id imports from shim
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-13 16:45:25 -05:00
Michael Crosby
a7343b0773
Move events from shim into linux runtime
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-13 16:45:25 -05:00
Michael Crosby
1fe5a251c4
Move Exec creation to init process
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-13 16:45:25 -05:00
Michael Crosby
6e25898ff0
Move shim process code to package
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-13 16:45:25 -05:00
Kenfe-Mickael Laventure
231c96098e
containerd-shim: Delete exec pidfile on exit
...
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-11-13 08:42:25 -08:00
Jess Valarezo
0961807715
rename runcopts to runctypes
...
Signed-off-by: Jess Valarezo <valarezo.jessica@gmail.com>
2017-11-10 11:43:51 -08:00
Jess Valarezo
807f4d2ec7
expose exec-id on ctr task ps
...
Signed-off-by: Jess Valarezo <valarezo.jessica@gmail.com>
2017-11-10 11:38:51 -08:00
Stephen J Day
08d1e72cc0
api,linux,windows: update generated protobufs
...
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-11-09 13:37:06 -08:00
Michael Crosby
d01fb047f4
Fix runtime root with no-shim
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-07 12:12:53 -05:00
Michael Crosby
fc08f019f3
Fix windows compile for dialer package
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-07 10:56:02 -05:00
Michael Crosby
bba473aeb1
Move shim client into subpackage
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-07 10:51:12 -05:00
Michael Crosby
13c7c3ef10
Remove urfave cli dep from shim
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-07 10:51:12 -05:00
Michael Crosby
a70b95b202
Move events exchange into subpackage
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-07 10:51:12 -05:00
Michael Crosby
5fd0415985
Add comments and fix common lint issues
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-10-20 13:19:14 -04:00
Kenfe-Mickael Laventure
71f0bb3e3c
linux: Pass correct path to runc when doing a checkpoint
...
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-10-16 10:45:03 -07:00
Stephen J Day
8508e8252b
plugin: refactor plugin system to support initialization reporting
...
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-10-10 16:40:47 -07:00
Michael Crosby
12c79cc0d9
Merge pull request #1604 from jessvalarezo/windows-listpids
...
ListPids returns process details in addition to process IDs.
2017-10-10 19:26:47 -04:00
Jess
061c719209
ListPids returns process ID and other info
...
Signed-off-by: Jess <jessica.valarezo@docker.com>
2017-10-10 22:57:15 +00:00
Kenfe-Mickael Laventure
c807ba8379
Allow setting the uid & gid of the io pipes
...
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-10-10 13:24:12 -07:00
Phil Estes
987fcd1201
Merge pull request #1598 from Random-Liu/fix-load-task
...
Fix task load.
2017-10-06 16:38:40 -04:00
Stephen Day
8558b98eb1
Merge pull request #1582 from dmcgowan/metadata-db-object
...
Create metadata db object
2017-10-05 16:50:44 -07:00
Lantao Liu
28ca8f05d3
Fix task load.
...
Signed-off-by: Lantao Liu <lantaol@google.com>
2017-10-05 21:03:24 +00:00
Derek McGowan
56c1b79a4c
Create metadata db object
...
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-10-04 11:16:22 -07:00
Kenfe-Mickael Laventure
26d4c2c217
Add an option to prevent putting the shim in a new mount namespace
...
This is needed for users on kernel older than 3.18 so they can avoid EBUSY
errors when trying to unlink, rename or remove a mountpoint that is present in
a shim namespace.
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-10-04 09:16:02 -07:00
Ace-Tang
2231de3760
Remove a blank line
...
Signed-off-by: Ace-Tang <aceapril@126.com>
2017-10-03 20:58:51 +08:00
Michael Crosby
451421b615
Comment more packages to pass go lint
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-10-02 13:54:56 -04:00
Michael Crosby
d67763d922
Add wait API endpoint for waiting on process exit
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-09-21 15:03:58 -04:00
Michael Crosby
7030a4add0
Close epoller on task stop
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-09-20 11:29:13 -04:00
Michael Crosby
d22160c28e
Vendor typeurl package
...
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-09-19 09:43:55 -04:00
Kenfe-Mickael Laventure
f2d1459929
Remove omitempty from toml tags
...
The encoder only support changing the name of the key.
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-09-14 20:49:22 -07:00