Commit Graph

1062 Commits

Author SHA1 Message Date
Michael Crosby
89934640d8 Merge pull request #1174 from dmcgowan/refactor-committedat-createdat
Rename CommittedAt to CreatedAt in content interface
2017-07-12 17:11:02 -07:00
Derek McGowan
6a03917c38 Merge pull request #1173 from stevvooe/remote-container-store
containerd: remove GRPC service export
2017-07-12 17:05:28 -07:00
Stephen J Day
b385798695 containerd: remove GRPC service export
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-07-12 16:57:47 -07:00
Derek McGowan
6d032b99f2 Rename CommittedAt to CreatedAt in content interface
Use "created at" terminology to be consistent with the rest
of the containerd interfaces.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-07-12 16:51:16 -07:00
Michael Crosby
39dd45ebc6 Merge pull request #1150 from dmcgowan/content-labels
Content labels
2017-07-12 16:47:48 -07:00
Derek McGowan
a78d0bdeac Update the content interface to return info from update
Namespace keys used by client for uncompressed

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-07-12 16:22:13 -07:00
Michael Crosby
3b8018d8cf Remove protos from Go client API
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-07-12 14:32:37 -07:00
Derek McGowan
fba7463ed3 Add labels and fileters to content
Update list content command to support filters
Add label subcommand to content in dist tool to update labels
Add uncompressed label on unpack

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-07-12 13:59:17 -07:00
Derek McGowan
1a49f5ea79 Merge pull request #1167 from crosbymichael/multi-ss
support using multiple snapshotters simultaneously
2017-07-12 13:34:31 -07:00
Akihiro Suda
b06aab713a support using multiple snapshotters simultaneously
e.g. dist pull --snapshotter btrfs ...; ctr run --snapshotter btrfs ...
(empty string defaults for overlayfs)

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-07-12 11:16:12 -07:00
Michael Crosby
2b6d790ff4 Refactor runtime events into Task* types
This removes the RuntimeEvent super proto with enums into separate
runtime event protos to be inline with the other events that are output
by containerd.

This also renames the runtime events into Task* events.

Fixes #1071

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-07-12 10:57:57 -07:00
Michael Crosby
4e8943f7bb Update runtime-spec rc6
This should be the same commit tagged as the 1.0 release

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-07-12 09:32:41 -07:00
Stephen Day
d173454719 Merge pull request #1129 from dmcgowan/content-namespace
Namespace content
2017-07-11 16:07:34 -07:00
Phil Estes
dad7e06238 Ignore SIGPIPE
Similar to code in the Docker daemon and containerd 0.2.x. Even if we
have a better deployment model in containerd 1.0 seems reasonable to
have this same fix in the rare case that it bites someone using
containerd 1.0.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2017-07-11 14:51:56 -04:00
Derek McGowan
b6d58f63a8 Support for ingest namespacing
Move content status to list statuses and add single status
to interface.
Updates API to support list statuses and status
Updates snapshot key creation to be generic

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-07-11 11:11:10 -07:00
Derek McGowan
106c7504f4 Merge pull request #1151 from stevvooe/image-metadata-service
images, containers: converge metadata API conventions
2017-07-11 11:05:01 -07:00
Stephen J Day
7f4c4aecf7 images, containers: converge metadata API conventions
The primary feature we get with this PR is support for filters and
labels on the image metadata store. In the process of doing this, the
conventions for the API have been converged between containers and
images, providing a model for other services.

With images, `Put` (renamed to `Update` briefly) has been split into a
`Create` and `Update`, allowing one to control the behavior around these
operations. `Update` now includes support for masking fields at the
datastore-level across both the containers and image service. Filters
are now just string values to interpreted directly within the data
store. This should allow for some interesting future use cases in which
the datastore might use the syntax for more efficient query paths.

The containers service has been updated to follow these conventions as
closely as possible.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-07-11 10:45:12 -07:00
Sunny Gogoi
2c1b54f573 cmd/ctr: add prepare subcommand to snapshot
This changeset adds `prepare` subcommand to `ctr snapshot` and removes
`prepare` from `dist rootfs` to keep the basic snapshot operation commands
together.

Signed-off-by: Sunny Gogoi <me@darkowlzz.space>
2017-07-11 21:30:40 +05:30
Kenfe-Mickaël Laventure
13f90e95a7 Merge pull request #1145 from crosbymichael/event-push
Implement Events Push via Service
2017-07-11 08:53:26 +02:00
Michael Crosby
bc6095d0dd Merge pull request #1146 from darkowlzz/1092-ctr-info-output-fix
cmd/ctr: info marshal Container proto struct
2017-07-10 10:08:54 -07:00
Sunny Gogoi
99461053f3 cmd/ctr: info marshal Container proto struct
Marshaling Container interface resulted in empty json. Use Container proto
struct to get proper container attributes.

Signed-off-by: Sunny Gogoi <me@darkowlzz.space>
2017-07-09 18:20:21 +05:30
Michael Crosby
6578565216 Use event service post for shim events
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-07-07 16:30:57 -07:00
Darren Stahl
1e7c47d517 Set dist default address to containerd.DefaultAddress
Signed-off-by: Darren Stahl <darst@microsoft.com>
2017-07-07 15:18:05 -07:00
Michael Crosby
f93bfb6233 Add Exec IDs
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-07-06 15:23:08 -07:00
Michael Crosby
448dc0dfa8 Replace events/convert with typeurl
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-07-05 16:05:49 -07:00
Michael Crosby
a60511d5aa Use typeurl package for spec types
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-07-05 15:37:26 -07:00
Michael Crosby
3448c6bafb Merge pull request #1113 from dmcgowan/snapshot-namespaces
Snapshot namespaces
2017-06-30 16:36:40 -07:00
Stephen J Day
396d89e423 cmd/ctr, service/containers: implement container filter
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-06-30 11:49:16 -07:00
Derek McGowan
3db8adc5d7 Update plugin load and snapshot service
Allow plugins to be mapped and returned by their ID.
Add skip plugin to allow plugins to decide whether they should
be loaded.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-06-29 16:16:26 -07:00
Kenfe-Mickael Laventure
ccbe92dc08 Move WithExit to runcopts package
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-29 15:50:39 -07:00
Michael Crosby
82d0208aaa Implement options for runtime specific settings
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-29 15:32:45 -07:00
Stephen J Day
a4fadc596b errdefs: centralize error handling
Now that we have most of the services required for use with containerd,
it was found that common patterns were used throughout services. By
defining a central `errdefs` package, we ensure that services will map
errors to and from grpc consistently and cleanly. One can decorate an
error with as much context as necessary, using `pkg/errors` and still
have the error mapped correctly via grpc.

We make a few sacrifices. At this point, the common errors we use across
the repository all map directly to grpc error codes. While this seems
positively crazy, it actually works out quite well. The error conditions
that were specific weren't super necessary and the ones that were
necessary now simply have better context information. We lose the
ability to add new codes, but this constraint may not be a bad thing.

Effectively, as long as one uses the errors defined in `errdefs`, the
error class will be mapped correctly across the grpc boundary and
everything will be good. If you don't use those definitions, the error
maps to "unknown" and the error message is preserved.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-06-29 15:00:47 -07:00
Michael Crosby
cfcea71ab0 Update windows and darwin for spec changes
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-27 13:20:55 -07:00
Michael Crosby
49f9dc494f Update runc and runtime-spec dependencies
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-27 11:44:38 -07:00
Derek McGowan
7f9910d04e Fix ctr delete to remove snapshot
Fix the behavior of removing snapshot on container delete.
Adds a flag to keep the snapshot if desired.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-06-26 13:38:08 -07:00
Kunal Kushwaha
16b10bb55d Runtime name printed correctly.
Runtime is not printed while container listing due to typo introduced
in #935.
This fixes the Typo.

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2017-06-26 11:46:32 +09:00
Kenfe-Mickael Laventure
de632b1084 ctr: add remove subcommand to snapshot
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-06-23 18:24:46 -07:00
Kenfe-Mickael Laventure
5a02ae929c ctr: Properly delete snapshot if run is called with --rm
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-06-23 18:01:01 -07:00
Kenfe-Mickael Laventure
f8d3cfbc60 containerd: Do not fail on plugin failure
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-06-23 17:51:57 -07:00
Kenfe-Mickael Laventure
d3e7af2c0a containerd-shim: Refuse connection from uid/gid different from the shim process
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-06-23 17:50:13 -07:00
Kenfe-Mickael Laventure
95afeb7831 containerd-shim: Use abstract namespace for the unix socket
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-06-23 17:48:08 -07:00
Michael Crosby
990536f2cc Move shim protos into linux pkg
This moves the shim's API and protos out of the containerd services
package and into the linux runtime package. This is because the shim is
an implementation detail of the linux runtime that we have and it is not
a containerd user facing api.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-23 16:21:47 -07:00
Kenfe-Mickaël Laventure
40f2627ce1 Merge pull request #1008 from crosbymichael/kill-error
Fix error on double Kill calls
2017-06-23 13:48:49 -07:00
Michael Crosby
8302ca4c62 Merge pull request #1057 from crosbymichael/embed
Create server package for containerd daemon
2017-06-23 13:37:48 -07:00
Michael Crosby
3b9d9dfa3e Fix error on doulbe Kill calls
This returns a typed error for calls to Kill when the process has
already finished.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-23 13:28:48 -07:00
Michael Crosby
8d9ccd646b Merge pull request #935 from kunalkushwaha/ctr-fix-914
Container list and Task List printed separately.
2017-06-23 13:16:07 -07:00
Michael Crosby
003ad67375 Move platformInit and plugin load to server
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-23 12:06:31 -07:00
Stephen J Day
c05be46348 events: move types into service package
When using events, it was found to be fairly unwieldy with a number of
extra packages. For the most part, when interacting with the events
service, we want types of the same version of the service. This has been
accomplished by moving all events types into the events package.

In addition, several fixes to the way events are marshaled have been
included. Specifically, we defer to the protobuf type registration
system to assemble events and type urls, with a little bit sheen on top
of add a containerd.io oriented namespace.

This has resulted in much cleaner event consumption and has removed the
reliance on error prone type urls, in favor of concrete types.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-06-22 19:12:25 -07:00
Michael Crosby
a6e77432df Create server package for containerd daemon
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-22 13:08:19 -07:00
Kenfe-Mickaël Laventure
2fdb8020c4 Merge pull request #1062 from stevvooe/versioned-services
*: version protobuf service packages
2017-06-22 07:38:09 -07:00