Commit graph

1251 commits

Author SHA1 Message Date
bba09af70e
MAINTAINERS: replace BDFL with a Council of Ancients
Wording inspired from https://en.wikipedia.org/wiki/Council_of_Ancients

Much of the consensus approach drawn from
https://en.wikipedia.org/wiki/Consensus_decision-making

Some references drawn from
http://co-intelligence.org/I-comparisonRR-CC-DF.html

This proposal comes from having had discussions with a majority of the
current maintains of containerd and modeling a governance based on what
has been found to work for the group. A further motivation is a
deep desire to participate in a project with an expressly fair governance.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-04-11 15:21:52 -04:00
Phil Estes
62918511f3 Merge pull request #712 from crosbymichael/sysunix
Replace syscall with /x/sys/unix in execution code
2017-04-10 16:30:32 -04:00
Michael Crosby
9e1acba19f Update deps with sys/unix changes
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-10 13:07:41 -07:00
Derek McGowan
a17c10540d Merge pull request #711 from vbatts/config-subcommand
containerd: make a config subcommand
2017-04-10 13:03:10 -07:00
Michael Crosby
3db1ea8d07 [bin] Replace syscall with /x/sys/unix
Replace syscall usage with /sys/unix in the binaries and their packages

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-10 12:01:33 -07:00
Michael Crosby
4f7d521510 [exec] Replace syscall with /x/sys/unix
This replaces the syscall usage with sys/unix in the execution code

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-10 11:56:33 -07:00
f58f047b7f
containerd: revert the auto config creation
rather than automagically doing this, it is the user's responsibility to
review the output of `containerd config default` and create the config
themselves.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-04-10 14:54:36 -04:00
Phil Estes
4f33aa2b5c Merge pull request #702 from crosbymichael/attach
Expose Pty resize and CloseStdin RPCs
2017-04-10 14:38:30 -04:00
741c471753
containerd: make a config subcommand
For the purpose of reviewing the default config

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-04-10 14:33:29 -04:00
Michael Crosby
bb9f908cdf Merge pull request #710 from mlaventure/fix-dist-socket-arg
Fix dist socket parameter
2017-04-10 10:20:17 -07:00
Kenfe-Mickael Laventure
ab9c4c31d6 Fix dist socket parameter
It was renamed to address.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-04-10 09:37:43 -07:00
Kenfe-Mickaël Laventure
49e3c116ef Merge pull request #705 from crosbymichael/shim-dead
Handle restore with dead shim
2017-04-07 14:42:07 -07:00
Michael Crosby
7482962b9d Handle restore with dead shim
Add functionality for restoring containers after containerd dies and is
restarted with terminated shims.

This ensures that on restore, if a container no longer has a running
shim, containerd will kill and cleanup the container.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-07 14:22:43 -07:00
Stephen Day
87f8f8c94b Merge pull request #704 from stevvooe/simplify-image-service
services/images: simplify transaction management
2017-04-07 11:20:17 -07:00
Michael Crosby
a7da08b7ba Add Pty and CloseStdin RPCs
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-07 11:20:10 -07:00
Stephen Day
c1325a5aa9 Merge pull request #700 from mlaventure/rebased-windows
Initial windows runtime work
2017-04-07 11:15:45 -07:00
Kenfe-Mickael Laventure
c5843b7615 Initial windows runtime work
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-04-07 09:20:44 -07:00
Stephen J Day
23a9dd601c
services/images: simplify transaction management
For some reason, when I wrote this, I forgot about the `View` and
`Update` helpers on boltdb. These are now used and makes the code much
easier to follow.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-04-06 17:58:33 -07:00
Phil Estes
e5c8c5634a Merge pull request #696 from crosbymichael/exec
execution: add exec for additional processes
2017-04-06 13:53:46 -04:00
Michael Crosby
47225c130c Add ctr exec
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-06 10:36:47 -07:00
Qiang Huang
0a484cc5dc Merge pull request #698 from dmcgowan/snapshot-mkdir-exist
Update snapshot mkdir to check for directory exist
2017-04-06 17:08:22 +08:00
Derek McGowan
63f01733b0
Update snapshot mkdir to check for directory exist
When starting up a snapshot driver on subsequent runs, the
mkdir call will return an exist error, this can be safely
ignored.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-04-05 17:04:44 -07:00
Stephen Day
56972bf915 Merge pull request #697 from dmcgowan/snapshot-naive
Update naive driver to use storage package
2017-04-05 16:07:20 -07:00
Derek McGowan
8a73673b5b
Update naive driver to use storage package
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-04-05 15:35:34 -07:00
Michael Crosby
7715ddcefa Add exec APIs
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-05 11:51:56 -07:00
Derek McGowan
cccf5d3723 Merge pull request #695 from miaoyq/replace-gocontext-Background-with-ctx
Replace 'gocontext.Background' with the var 'ctx'
2017-04-05 10:14:49 -07:00
Derek McGowan
b2214e9ebe Merge pull request #692 from hqhq/fix_overlay_mkdir
Use MkdirAll when create snapshots directory
2017-04-05 10:11:26 -07:00
Yanqiang Miao
4aec91fd96 replace 'gocontext.Background' with the var 'ctx'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2017-04-05 17:40:48 +08:00
Qiang Huang
a0dda70b2d Use MkdirAll when create snapshots directory
Otherwise we'll get:
```
mkdir /var/lib/containerd/snapshot/overlay/snapshots: file exists
```
when we already have snapshots there.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2017-04-05 00:52:46 -04:00
Phil Estes
1ceb1595e7 Merge pull request #680 from hqhq/add_kill_api
Add kill api
2017-04-04 22:38:41 -04:00
Qiang Huang
e6f02dcb0b Add ctr kill command
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2017-04-05 09:04:59 +08:00
Qiang Huang
4764429cbe Add kill API for execution service
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2017-04-05 09:03:07 +08:00
Qiang Huang
6132bec05a Add Kill API for shim service
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2017-04-05 08:26:35 +08:00
Michael Crosby
2048f891d2 Merge pull request #663 from dmcgowan/snapshot-storage
Refactor snapshot storage package
2017-04-04 16:46:09 -07:00
Derek McGowan
e2b042e7c1 Merge pull request #675 from stevvooe/images-service
api/services/images: define images metadata service
2017-04-04 16:10:54 -07:00
Derek McGowan
1c2f5fe203
Update documentation to storage package
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-04-04 14:58:30 -07:00
Derek McGowan
9ffbfccdaf
Refactor overlay and btrfs to pass lint
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-04-04 14:58:24 -07:00
Derek McGowan
b319ba7c5a
Move boltdb implementation to storage package
Removes storage interface and replaces with storage functions.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-04-04 14:58:18 -07:00
Phil Estes
21febdb0de Merge pull request #688 from vbatts/default-config
containerd: add access to default config
2017-04-04 17:46:44 -04:00
93417d446c
containerd: missing config creates a default
This fixes silently ignore the config file not existing as well.

```bash
sudo ./bin/containerd --config farts
$ sudo ./bin/containerd --config farts
INFO[0000] config "farts" does not exist. Creating it.   module=containerd
INFO[0000] starting containerd boot...                   module=containerd
INFO[0000] starting debug API...                         debug="/run/containerd/debug.sock" module=containerd
INFO[0000] loading monitor plugin "cgroups"...           module=containerd
INFO[0000] loading runtime plugin "linux"...             module=containerd
INFO[0000] loading snapshot plugin "snapshot-overlay"...  module=containerd
INFO[0000] loading grpc service plugin "content-grpc"...  module=containerd
INFO[0000] loading grpc service plugin "metrics-grpc"...  module=containerd
INFO[0000] loading grpc service plugin "runtime-grpc"...  module=containerd
INFO[0000] loading grpc service plugin "healthcheck-grpc"...  module=containerd
INFO[0000] loading grpc service plugin "rootfs-grpc"...  module=containerd
INFO[0000] starting GRPC API server...                   module=containerd
INFO[0000] containerd successfully booted in 0.001465s   module=containerd
^C$ cat farts
state = "/run/containerd"
root = "/var/lib/containerd"
snapshotter = "overlay"
subreaper = false

[grpc]
  socket = "/run/containerd/containerd.sock"
  uid = 0
  gid = 0

[debug]
  socket = "/run/containerd/debug.sock"
  level = "info"

[metrics]
  address = ""
```

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-04-04 17:32:05 -04:00
Michael Crosby
4175ebe61a Merge pull request #684 from jhowardmsft/jjh/windowsmount
Windows: dummy mount
2017-04-04 14:30:31 -07:00
28d012ea00
containerd: add access to default config
when wanting to craft a custom config, but based on the default config,
add a route to output the containerd config to a tempfile.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-04-04 16:32:12 -04:00
Stephen J Day
8c74da3983
cmd/dist, cmd/ctr: move image store access to GRPC
With this changeset, image store access is now moved to completely
accessible over GRPC. No clients manipulate the image store database
directly and the GRPC client is fully featured. The metadata database is
now managed by the daemon and access coordinated via services.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-04-04 10:35:55 -07:00
Stephen J Day
1ea809dc2a
images, services/images: implement image service
Server and Client images of the image store are now provided. We have
created an image metadata interface and converted the bolt functions to
implement that interface over an transaction. A remote client
implementation is provided that implements the same interface.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-04-04 10:35:44 -07:00
Stephen J Day
a5c9d6d41b
api/services/images: define images metadata service
This is a first pass at the metadata required for supporting an image
store. We use a shallow approach to the problem, allowing this
component to centralize the naming. Resources for this image can then be
"snowballed" in for actual implementations. This is better understood
through example.

Let's take pull. One could register the name "docker.io/stevvooe/foo" as
pointing at a particular digest. When instructed to pull or fetch, the
system will notice that no components of that image are present locally.
It can then recursively resolve the resources for that image and fetch
them into the content store. Next time the instruction is issued, the
content will be present so no action will be taken.

Another example is preparing the rootfs. The requirements for a rootfs
can be resolved from a name. These "diff ids" will then be compared with
what is available in the snapshot manager. Any parts of the rootfs, such
as a layer, that isn't available in the snapshotter can be unpacked.
Once this process is satisified, the image will be runnable as a
container.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-04-04 10:35:11 -07:00
Derek McGowan
8affca40bb Merge pull request #685 from crosbymichael/coc
Add code of conduct
2017-04-04 09:49:47 -07:00
Michael Crosby
5b4bffb5b0 Add code of conduct
Closes #683

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-04 09:41:38 -07:00
John Howard
67210e722c Windows: dummy mount
Signed-off-by: John Howard <jhoward@microsoft.com>
2017-04-03 16:52:10 -07:00
Derek McGowan
e119f1dc03 Merge pull request #682 from crosbymichael/rewrite-imports
Rewrite imports for new github org
2017-04-03 15:35:45 -07:00
Michael Crosby
75705d26d1 Add DCO check to travis
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-03 15:28:07 -07:00