Commit Graph

5275 Commits

Author SHA1 Message Date
Derek McGowan
3e0c50c2c9 Merge pull request #954 from ijc25/copy-bolt-db-slices
Copy byte slices contained in bolt db objects
2017-06-06 11:21:02 -07:00
Kenfe-Mickaël Laventure
d5be7ff39d Merge pull request #958 from crosbymichael/client-cr
Add checkpoint and restore to client package
2017-06-06 10:42:16 -07:00
Michael Crosby
a8c5542ba8 Add checkpoint and restore to client package
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-06 09:58:33 -07:00
Ian Campbell
961e12b736 Copy container.Spec when reading.
In `execution.Create()` I was seeing `opts.Spec` unexpectedly becoming a slice
full of nulls instead of the expected data (often this occurred at the
`s.mu.Lock()`)

https://github.com/boltdb/bolt#caveats--limitations says:

> Byte slices returned from Bolt are only valid during a transaction. Once the
> transaction has been committed or rolled back then the memory they point to
> can be reused by a new page or can be unmapped from virtual memory and you'll
> see an unexpected fault address panic when accessing it.

Since `opts.Spec` = `container.Spec` where the latter is a byte slice returned
from Bolt we must copy it. The best place to do this is when reading, so that
callers need not worry about this.

I also checked metadata/*.go for similar issues and found no others.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-06 11:26:51 +01:00
Akihiro Suda
0ab2227377 mount: add mount.Lookup for ease of implementing snapshotters
`func Lookup(dir string) (Info, error)` returns the mount
info that corresponds to the dir

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-06-06 09:27:53 +00:00
Stephen Day
2a6731f0d2 Merge pull request #959 from stevvooe/image-command-layout
cmd/dist: better organization and aliases for image command
2017-06-05 14:01:21 -07:00
Derek McGowan
73763b954f
service/content: fix logic error on storing extra data
Clarify logic that extra data is stored when the target
buffer is full. Existing logic allows for extra data to
be stored even when more data will be read into buffer
when the remaining space is less than what was copied
from the last receive.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-06-05 13:50:56 -07:00
Stephen J Day
f8fe5605dd
cmd/dist: better organization and aliases for image command
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-06-05 13:41:04 -07:00
Stephen Day
f105db9626 Merge pull request #933 from kunalkushwaha/timestamp
Timestamp added to container object.
2017-06-05 12:00:33 -07:00
Michael Crosby
bf2fee2da1 Merge pull request #909 from vburenin/diff-plugin
Make Diff/Apply plugable
2017-06-05 11:04:34 -07:00
Phil Estes
71575bf413 Merge pull request #948 from crosbymichael/client-tty
Add client terminal support for IO
2017-06-05 09:41:11 -04:00
Kunal Kushwaha
0008ac7f3d Timestamp added to container object.
Fix for #912

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2017-06-05 14:30:49 +09:00
Michael Crosby
4ae34cccc5 Merge pull request #951 from WeiZhang555/typo
Fix typo
2017-06-02 09:41:13 -07:00
Zhang Wei
4a23bb9761 Fix typo
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2017-06-02 16:09:37 +08:00
Stephen Day
12c596be29 Merge pull request #949 from stevvooe/continue-on-error
cmd/dist: don't display undeleted images
2017-06-01 17:58:38 -07:00
Stephen Day
305c04154e Merge pull request #950 from stevvooe/remote-path-manip
cmd/dist: remove unnecessary path manipulation
2017-06-01 17:58:13 -07:00
Stephen J Day
06c2d85e46
cmd/dist: remove unnecessary path manipulation
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-06-01 16:56:14 -07:00
Stephen J Day
640493adbf
cmd/dist: don't display undeleted images
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-06-01 16:53:55 -07:00
Volodymyr Burenin
3c76a667b6 Make Diff/Apply plugable
Signed-off-by: Volodymyr Burenin <vburenin@gmail.com>
2017-06-01 18:38:33 -05:00
Michael Crosby
35d74aa9d8 Merge pull request #803 from yuexiao-wang/fix-background
optimize for shim
2017-06-01 15:12:04 -07:00
Michael Crosby
887a149417 Add terminal support
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-01 14:46:14 -07:00
Michael Crosby
e022cf3ad0 Add Resize pty support to client
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-01 14:32:19 -07:00
Phil Estes
7071276f64 Merge pull request #943 from mlaventure/honor-runtime-conf
Use conf value when killing loaded container
2017-06-01 17:12:17 -04:00
Michael Crosby
00734ab04a Return fifo paths from Shim
This allows attach of existing fifos to be done without any information
stored on the client side.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-01 14:12:02 -07:00
Michael Crosby
43fb19e01c Add Load for container and Task with Attach
This adds both container and task loading of running tasks as well as
reattaching to the IO of the task after load.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-01 14:12:02 -07:00
Michael Crosby
1db752bca8 Add CloseStdin to exec Process
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-01 14:10:04 -07:00
Michael Crosby
9890bed1e1 Add CloseStdin to task
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-01 14:10:04 -07:00
Stephen Day
6aeeefe2b2 Merge pull request #937 from dmcgowan/client-push
Add push to client
2017-06-01 14:03:55 -07:00
Phil Estes
85d568e19f Merge pull request #885 from dmcgowan/remote-create-writer-pre-fetch
Avoid fetch call to registry when blob already exists
2017-06-01 13:44:08 -04:00
Michael Crosby
6ff220a116 Merge pull request #939 from ijc25/reconnect-shim-event-stream
Reconnect to shim event stream after containerd restart
2017-06-01 09:52:13 -07:00
Kenfe-Mickael Laventure
357c47b1a3 Use conf value when killing loaded container
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-05-31 14:51:28 -07:00
Kenfe-Mickaël Laventure
47430d8909 Merge pull request #942 from dmcgowan/travis-make-build
Travis make build
2017-05-31 14:10:50 -07:00
Derek McGowan
91f084c6ac Merge pull request #941 from crosbymichael/client-processes
Add Processes() to client
2017-05-31 13:57:38 -07:00
Derek McGowan
dfce91854e
Update travis to run make build
Ensure all packages can be built, even those not yet imported by binaries.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-05-31 13:35:03 -07:00
Derek McGowan
a4b2e580f2
Update continuity
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-05-31 13:35:03 -07:00
Michael Crosby
ff54c88e99 Add Processes() to client
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-05-31 13:34:38 -07:00
Derek McGowan
126aa07ad2
Push client support
Update dist tool to use client package

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-05-31 13:07:53 -07:00
Stephen Day
8ec5c30d83 Merge pull request #940 from crosbymichael/client-exec
Add exec support to client
2017-05-31 11:59:53 -07:00
Kenfe-Mickaël Laventure
95446e8f43 Merge pull request #938 from dmcgowan/client-windows-compile
Fix windows build for client
2017-05-31 11:58:36 -07:00
Michael Crosby
ebf935d990 Add exec support to client
This also fixes a deadlock in the shim's reaper where execs would lockup
and/or miss a quick exiting exec process's exit status.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-05-31 11:50:23 -07:00
Ian Campbell
a5d246404c Reconnect to shim event stream after containerd restart
There are three aspects which need to be covered:

 - the runtime needs to restart its event pump when it reconnects (in
   loadContainer).
 - on the server side shim needs to monitor the stream context so it knows when
   the connection goes away.
 - if the shim's stream.Send() fails (because the stream died between taking
   the event off the channel and calling stream.Send()) then to avoid losing
   that event the shim should remember it and send it out first on the next
   stream.

The shim's event production machinery only handles producing a single event
stream, so add an interlock to ensure there is only one reader of the
`s.events` channel at a time. Subsequent attempts to use Events will block
until the existing owner is done.

Fixes #921.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-31 13:48:44 +01:00
yuexiao-wang
41308ffa57 optimize for shimCreateCommand
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2017-05-31 13:57:36 +08:00
Derek McGowan
b1a45c2aee
Fix windows build for client
Move io copy logic from ctr utils to io_windows.go.
Fix compilation errors on Windows.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-05-30 16:57:34 -07:00
Michael Crosby
5e82767d9d Merge pull request #923 from dmcgowan/push-refactor-handler
Move push handler from dist to remotes
2017-05-30 12:54:57 -07:00
Derek McGowan
a7a764adfa Merge pull request #926 from stevvooe/merge-metadata-storage
metadata: merge storage into package
2017-05-30 12:26:44 -07:00
Kenfe-Mickaël Laventure
0e56c47f8c Merge pull request #928 from AkihiroSuda/oci-rc6
vendor: OCI Image Spec v1.0.0-rc6
2017-05-30 10:09:28 -07:00
Michael Crosby
f55f40eeec Merge pull request #927 from miaoyq/fix-description-for-pprof
Fix the description of cmd 'pprof threadcreate'
2017-05-30 09:13:57 -07:00
Michael Crosby
1ee2e14a47 Merge pull request #931 from AkihiroSuda/ctr-shim-flag-fix
ctr shim exec: fix cli flag
2017-05-30 09:13:32 -07:00
Akihiro Suda
967a4e0e5a ctr shim exec: fix cli flag
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-05-27 14:54:38 +00:00
Akihiro Suda
f9039092c5 vendor: OCI Image Spec v1.0.0-rc6
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-05-27 12:27:14 +00:00