Commit Graph

4032 Commits

Author SHA1 Message Date
Yanqiang Miao
d7c4611848 Ensure getting the correct mountinfo corresponds to path
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2017-10-08 17:16:28 +08:00
Akihiro Suda
a8426ed9e7 Merge pull request #1609 from crosbymichael/attach-docs
Add docs around multiple attach
2017-10-08 11:24:57 +09:00
Derek McGowan
6c3f393765 Merge pull request #1611 from stevvooe/address-cgroup-merge-conflicty
metrics/cgroups: handle error on call to cgroup
2017-10-06 16:09:20 -07:00
Stephen J Day
77e5f6553c
metrics/cgroups: handle error on call to cgroup
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-10-06 15:51:20 -07:00
Michael Crosby
bbb01ee1ab Add docs around multiple attach
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-10-06 17:31:11 -04: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
67bbfc5d1c Merge pull request #1605 from dmcgowan/metadata-db-documentation
Add documentation for metadata database
2017-10-06 13:37:00 -07:00
Derek McGowan
e4defbcb6d
Add documentation for metadata database
Add documentation and explanation for migrations.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-10-06 13:33:07 -07:00
Michael Crosby
6f351f0a85 Merge pull request #1586 from mathieui/postmortem-stats
Collect cgroup stats one last time before exit
2017-10-06 15:44:28 -04:00
Michael Crosby
d92f6eea1f Allow blocking and non-blocking metrics collection
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-10-06 12:05:56 -04:00
Mathieu Pasquet
ed519bb5ce Collect cgroup stats one last time before exit
This commit adds a collection step in the Stop() task handler which will
retrieve the metrics available for this container at that time, and
store them until the next prometheus Collect() cycle.

This allows short-lived containers to be visible in prometheus, which
would otherwise be ignored (for example, running containerd-stress would
show something like 2 or 3 containers in the end, while now we can see
all of them). It also allows for more accurate collection when
long-running containers end (for example CPU usage could spike in the
last few seconds).

A simple case illustrating this with cpu usage would be:

  ctr run -t --rm docker.io/library/alpine:latest mycontainer sh -c 'yes > /dev/null & sleep 3 && pkill yes'

Signed-off-by: Mathieu Pasquet <mathieu.pasquet@alterway.fr>
2017-10-06 15:40:38 +02: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
Derek McGowan
7f657ce3de
Add database migrations
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-10-05 16:35:58 -07:00
Lantao Liu
28ca8f05d3 Fix task load.
Signed-off-by: Lantao Liu <lantaol@google.com>
2017-10-05 21:03:24 +00:00
Phil Estes
7c4bca591f Merge pull request #1600 from AkihiroSuda/defaultspec
spec: set MaskedPaths and ReadOnlyPaths by default
2017-10-05 12:16:09 -04:00
Akihiro Suda
d7b0e522c7 spec: set MaskedPaths and ReadOnlyPaths by default
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-10-05 06:01:35 +00:00
Phil Estes
72a3a019ae Merge pull request #1595 from crosbymichael/container-lock
sync container metadata before operations
2017-10-04 21:48:30 -04:00
Stephen Day
28882fddae Merge pull request #1589 from mlaventure/shim-no-newns
Add an option to prevent putting the shim in a new mount namespace
2017-10-04 17:24:26 -07:00
Michael Crosby
fa9e9bdf46 Fetch current container info before operations
This makes sure the client is always in sync with the server before
performing any type of operations on the container metadata.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-10-04 15:29:57 -04:00
Derek McGowan
8d892a651b
Update metadata plugin initialization
Updates metadata plugin to require content and
snapshotter plugins be loaded and initializes with
those plugins, keeping the metadata database structure
static after initialization. Service plugins now only
require metadata plugin access snapshotter or content
stores through metadata, which was already required
behavior of the services.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-10-04 11:25:46 -07:00
Derek McGowan
2ab70f21ac
Add content and snapshot store references
Update database object to hold reference to the
data stores.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-10-04 11:16:22 -07:00
Derek McGowan
447a0a9452
Add children bucket to back reference snapshots
Adds back links from parent to children in order to prevent
deletion of a referenced snapshot in a namespace.
Avoid removing snapshot during metadata delete to
prevent shared namespaces from being mistakenly deleted.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-10-04 11:16:22 -07: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-Mickaël Laventure
acba0f50ef Merge pull request #1594 from akimd/akim/clean
style: move definition for consistency
2017-10-04 09:18:43 -07:00
Kenfe-Mickaël Laventure
ec43dc2b46 Merge pull request #1592 from AkihiroSuda/workdir2
ctr run: add --cwd
2017-10-04 09:17:21 -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
Michael Crosby
0ae9d8fabf Merge pull request #1567 from stevvooe/image-check-function
images: support checking status of image content
2017-10-04 11:40:43 -04:00
Akim Demaille
8ceeeed4ae style: move definition for consistency
Signed-off-by: Akim Demaille <akim.demaille@docker.com>
2017-10-04 17:02:51 +02:00
Akihiro Suda
b26e2e781c ctr run: add --cwd
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-10-04 04:40:08 +00:00
Stephen Day
f6d88927d5 Merge pull request #1583 from stevvooe/image-storage-validation
metadata: validation and testing of image store
2017-10-03 16:48:38 -07:00
Stephen J Day
698b6d15f7
metadata: validation and testing of image store
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-10-03 16:34:00 -07:00
Stephen J Day
c555df54c0
images: support checking status of image content
The `Check` function returns information about an image's content components
over a content provider. From this information, one can tell which content is
required, present or missing to run an image.

The utility can be demonstrated with the `check` command:

```console
$ ctr images check
REF                               TYPE                                                      DIGEST                                                                  STATUS            SIZE
docker.io/library/alpine:latest   application/vnd.docker.distribution.manifest.list.v2+json sha256:f006ecbb824d87947d0b51ab8488634bf69fe4094959d935c0c103f4820a417d incomplete (1/2)  1.5 KiB/1.9 MiB
docker.io/library/postgres:latest application/vnd.docker.distribution.manifest.v2+json      sha256:2f8080b9910a8b4f38ff5a55a82e77cb43d88bdbb16d723c71d18493590832e9 complete (13/13)  99.3 MiB/99.3 MiB
docker.io/library/redis:alpine    application/vnd.docker.distribution.manifest.v2+json      sha256:e633cded055a94202e4ccccb8125b7f383cd6ee56527ab890db643383a2647dd incomplete (6/7)  8.1 MiB/10.0 MiB
docker.io/library/ubuntu:latest   application/vnd.docker.distribution.manifest.list.v2+json sha256:60f835698ea19e8d9d3a59e68fb96fb35bc43e745941cb2ea9eaf4ba3029ed8a unavailable (0/?) 0.0 B/?
docker.io/trollin/busybox:latest  application/vnd.docker.distribution.manifest.list.v2+json sha256:54a6424f7a2d5f4f27b3d69e5f9f2bc25fe9087f0449d3cb4215db349f77feae complete (2/2)    699.9 KiB/699.9 KiB
```

The above shows us that we have two incomplete images and one that is
unavailable. The incomplete images are those that we know the complete
size of all content but some are missing. "Unavailable" means that the
check could not get enough information about the image to get its full
size.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-10-03 15:19:22 -07:00
Kenfe-Mickaël Laventure
7c9b0eab9f Merge pull request #1590 from crosbymichael/container-update
Add container update method
2017-10-03 14:33:58 -07:00
Michael Crosby
9e85035f15 Add container update method
This adds an update method to the container interface for the client
package.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-10-03 16:59:52 -04:00
Phil Estes
1c7a042e04 Merge pull request #1566 from stevvooe/split-children
images: provide separated children function for images
2017-10-03 13:46:46 -04:00
Phil Estes
6b9aafdab1 Merge pull request #1587 from Ace-Tang/remove_blank_line
Remove a blank line
2017-10-03 11:14:47 -04: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
8ded4fe3a7 Merge pull request #1581 from crosbymichael/lint-2
Comment more packages to pass go lint
2017-10-02 14:46:28 -04: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
33e974ce99 Merge pull request #1577 from crosbymichael/lint-1
Update files based on go lint
2017-10-02 10:57:19 -04:00
Kenfe-Mickaël Laventure
2416559fa6 Merge pull request #1580 from tklauser/unix-mkdev-major-minor
Use Mkdev, Major and Minor functions from golang.org/x/sys/unix
2017-10-02 07:56:57 -07:00
Michael Crosby
f43b7acfd2 Update files based on go lint
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-10-02 10:15:28 -04:00
Daniel, Dao Quang Minh
579093f13f Merge pull request #1579 from tklauser/vendor-ansiterm
Remove stray entry for Azure/go-ansiterm from vendor.conf
2017-10-02 14:53:34 +01:00
Tobias Klauser
f01b139161 archive: use Mkdev, Major and Minor functions from golang.org/x/sys/unix
Now that golang.org/x/sys/unix provides the Mkdev, Major and Minor
functions for every OS, use them instead of the locally defined version
which uses the Linux specific device major/minor encoding.

This also means that the device number should now be properly encoded on
e.g. Darwin, FreeBSD or Solaris.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2017-10-02 15:13:03 +02:00
Tobias Klauser
727fd599fb ctr: remove SIGUNUSED from signal map
The SIGUNUSED constant was removed from golang.org/x/sys/unix in
https://go-review.googlesource.com/61771 as it is also removed from the
respective glibc headers.

This means the command

  ctr tasks kill SIGUNUSED ...

will no longer work. However, the same effect can be achieved with

  ctr tasks kill SIGSYS ...

as SIGSYS has the same value as SIGUNUSED used to have.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2017-10-02 15:10:31 +02:00
Tobias Klauser
e789135aa3 vendor: update golang.org/x/sys
Update golang.org/x/sys to 314a259e304ff91bd6985da2a7149bbf91237993

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2017-10-02 14:51:12 +02:00
Tobias Klauser
acc246e5d9 Remove stray entry for Azure/go-ansiterm from vendor.conf
go-ansiterm is no longer used since commit cf2c4609bd ("Bump runc with
console change for ONLCR") but for some reason there was a second entry
in vendor.conf. Remove it as well.

This fixes the following warning when running vndr:

  WARNING: package github.com/Azure/go-ansiterm is unused, consider removing it from vendor.conf

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2017-10-02 14:47:45 +02:00
Stephen J Day
ce6859fd25
images: provide separated children function for images
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-09-29 13:47:54 -07:00
Kenfe-Mickaël Laventure
16bf82360e Merge pull request #1570 from AkihiroSuda/oci-runtime-readonly
readonly: pass RW rootfs to runtime, and let the runtime remount it as RO
2017-09-29 13:36:26 -07:00
Akihiro Suda
27023c7fa2 readonly: pass RW rootfs to runtime, and let the runtime remount it as RO
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-09-29 06:20:26 +00:00