10000 Tags · dmueller2001/containerd · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: dmueller2001/containerd

Tags

v1.0.0-rc.0

Toggle v1.0.0-rc.0's commit message

Verified

This tag was signed with the committer’s verified signature.
dmcgowan Derek McGowan
Welcome to the release of containerd v1.0.0-rc.0!

*This is a pre-release of containerd*

The final 1.0 release stretch has been reached after 7 alphas and 4 betas full
of stability fixes, hardening, and API improvements. This release candidate
continues that pattern in including stability fixes, usability improvements and
performance optimizations.

As part of the preparation for supporting the release of Containerd 1.0, the
governance model has been updated. The same as in previous versions, the day to
day management of the project is taken care of by the maintainers. The roles
of chief maintainer and BDFL have been removed and a technical steering
committee has been added as an escalation point when consensus cannot be reached
among maintainers. See https://github.com/moby/tsc.

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

Shim Memory Improvements

The shim memory usage has been identified as a key component to optimize. The
shim gets run for every container making memory usage multiplied by the
number of containers on a machine, requiring lower memory usage in order to
increase density.

In profiling the memory usage of the shim, it was discovered that the HTTP2
and GRPC stacks were accounting for a majority of the usage. Since the RPC
requests to the shim are fairly simple and there is no need for handling many
clients, a simpler protocol is now used with much less overhead. In order to
avoid changing the client or server code, ttrpc is used to generate code
similar to GRPC using the same protocol definitions, but using the lighter
weight protocol. This had the effect of drastically reducing the memory
usage of the shim.

Memory improvements over beta 2...
```
  RSS CMD
 3644 containerd-shim -namespace default -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/default/test10 -address /run/containerd/containerd.sock -containerd-binary /usr/local/bin/containerd -debug
15320 docker-containerd-shim --namespace moby --workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/ffa219303c1419b179393a1123f176bb4268337432b0ca7945bc7ac66db73cad --address /var/run/docker/containerd/docker-containerd.sock --runtime-root /var/run/docker/
```

See [ttrpc repository](https://github.com/stevvooe/ttrpc) for implementation.

Garbage Collector Improvements

Garbage collection is now scheduled by a background process which watches
changes and tracks the amount of time garbage collection is taking. It is able
to use that information to schedule garbage collection based on configuration
options. The default configuration option aims to limit the amount of time the
metadata store is locked for garbage collection to 20ms of every second.

Additionally image removal now has an option to synchronously cleanup all
referenced resources (such as snapshots). This option immediately schedules a
garbage collection and waits for it to complete before returning to the client.
Since the time to remove a snapshot depends on the size of the snapshot, the
time to synchronously remove an image cannot be consistent. For faster and
more consistent removals, images should be deleted asynchronously whenever
possible. Asynchronous remains the default.

Contributors

* Akihiro Suda
* Daniel Nephin
* Daniel, Dao Quang Minh
* Darren Stahl
* Derek McGowan
* Jess Valarezo
* Kenfe-Mickaël Laventure
* Kir Kolyshkin
* Lantao Liu
* Michael Crosby
* Phil Estes
* Stephen J Day
* yanxuean

Changes

* 08f1793 Merge pull request containerd#1848 from dmcgowan/update-version-rc.0
* 30ac46e Update version to v1.0.0-rc.0
* 4bcd272 Merge pull request containerd#1845 from dmcgowan/fix-rc.0-notes
* 6952a61 Update previous version to beta not current rc
* 7e4be46 Merge pull request containerd#1834 from dmcgowan/v1.0.0-rc.0-notes
* 07d4154 Merge pull request containerd#1844 from Random-Liu/close-fifos-on-failure
* a03fdab Close FIFOs on failure.
* e64d179 Add release notes for v1.0.0-rc.0
* 763d29f Merge pull request containerd#1842 from dmcgowan/fix-snapshot-close-twice
* 25b5592 Fix close twice test to retain snapshot
* 2657e49 Merge pull request containerd#1835 from stevvooe/we-use-ttrpc
* 6c416fa shim: we use ttrpc in the shim now
* c357934 Merge pull request containerd#1841 from crosbymichael/parse-uid
* a4a4c90 Use strconv.Atoi for uid/gid parsing
* 8fbdd5c Merge pull request containerd#1840 from kolyshkin/mkdir-all
* acc6f4e MkdirAll: fix usage
* 8114d2f Merge pull request containerd#1838 from estesp/mention-kernel-vers
* e974099 Merge pull request containerd#1839 from crosbymichael/test-long-exec
* a87062e Add runtime requirements section to README
* 6bff39c Merge pull request containerd#1837 from crosbymichael/bump-cgroups
* 68bec1e Add test for large exec payload
* c4b1114 Merge pull request containerd#1831 from stevvooe/update-ttrpc
* 4349df4 Update cgroups to 29da22c
* 393cf8e vendor: update ttrpc with latest changes
* 96ca973 Merge pull request containerd#1797 from jessvalarezo/rename-packages
* 04dab2a Merge pull request containerd#1832 from crosbymichael/stress-kill
* 1dd6f33 rename snapshot->snapshots proto pkg and service
* 9885edf rename snapshot->snapshots pkg
* 4363994 Fix stress test tool exec kill
* 61c8fe2 ctr: snapshot->snapshots cmd, add aliases
* 59bd196 Merge pull request containerd#1830 from stevvooe/define-fieldpath-support-envelope
* 16d3aeb Merge pull request containerd#1829 from AkihiroSuda/ctr-envvar-snapshotter
* d7c950e events: define fieldpath implement for envelope
* a56e742 Merge pull request containerd#1812 from darrenstahlmsft/revendor
* d298f9a Merge pull request containerd#1824 from kolyshkin/static-build
* 3da99ed Merge pull request containerd#1825 from mlaventure/use-defaults-pkg-everywhere
* 7f95b9f ctr: add EnvVar `CONTAINERD_SNAPSHOTTER` for `--snapshotter`
* 0d682e2 plugins: don't compile for static build
* 6bf779c Use defaults pkg for all platforms
* bc9cb25 Update tar to use PAXRecords instead of Xattrs
* 16d0087 Add test for prefix header issue
* 444e422 Revendor hcsshim and go-tar
* 90a6b79 Merge pull request containerd#1810 from dnephin/add-staticcheck-linter
* a3955e1 Merge pull request containerd#1822 from crosbymichael/subreaper
* 6e9f24b Change default subreaper setting
* 967caee Merge pull request containerd#1821 from dnephin/remove-use-of-deprecated-grpc-funcs
* dab3ba2 Replace calls to deprecated grpc functions
* 118c0a2 Merge pull request containerd#1820 from crosbymichael/shim-lockup
* 74b3cb3 Fix exit event handling in shim
* 723f37d Add exec support to stress test tool
* a05e5fd restore deferred cleanup in rootfs.init
* ee04cfa Add staticcheck linter
* 2556c59 Merge pull request containerd#1767 from stevvooe/ttrpc-shim
* 9e04cff Merge pull request containerd#1814 from stevvooe/panic-client-fix-oci-spec
* ca39f76 Merge pull request containerd#1798 from stevvooe/shim-gomaxprocs
* d54961c vendor: add ttrpc as vendored dependency
* 372cdfa Merge pull request containerd#1638 from dmcgowan/gc-policy
* f011bec Merge pull request containerd#1800 from yanxuean/image-store-redandunt
* 0d957b1 oci: allocate process if not already set
* 3b670eb remove redundant check for imagestore create
* 5764bf1 cmd/containerd-shim: set GOMAXPROCS to 2
* abeb262 Merge pull request containerd#1796 from dnephin/move-oci-pkg
* f6e877e Proposed fix for image content store
* a21a19a fix windows oci package
* cdf62f6 Fix usage of oci in other packages.
* 081f8c7 oci package passing tests
* 70e0c84 Merge pull request containerd#1809 from Random-Liu/fix-build
* 33c95bb Fix build.
* a7ade66 Merge pull request containerd#1799 from yanxuean/provide-withLease
* 9bf0a15 Merge pull request containerd#1808 from crosbymichael/stress-race
* ff6c12b Merge pull request containerd#1803 from dnephin/warn-on-mem-not-supported
* 1cb0e81 Fix race in stress test tool
* 12e7c76 Merge pull request containerd#1802 from yanxuean/unpack-lease
* 153fcfa Merge pull request containerd#1806 from dnephin/fix-ctr-events
* 0103d14 Fix ctr events
* 8fe12ad Warn if OOM monitoring is not available
* 545f247 prevent snapshot from gc when unpack image
* 4af5f65 Merge pull request containerd#1793 from dmcgowan/gc-add-container-test
* 908df29 Merge pull request containerd#1792 from dmcgowan/schema1-resumeable
* d56b49d provide client.WithLease to user
* e8f52c3 linux/shim: reduce memory overhead by using ttrpc
* 8e09b56 Merge pull request containerd#1795 from crosbymichael/cgroup-lock
* e830112 Add lock around task cgroup
* 1a6e6a9 Merge pull request containerd#1794 from yanxuean/some-typo
* 8130779 some typo
* 92d40b9 Add test for container as gc root
* bae4782 Document defaults
* b674c64 Support unknown size from schema 1 manifests
* 2b1c915 Merge pull request containerd#1787 from AkihiroSuda/diff-link
* 633f4a6 Merge pull request containerd#1751 from dnephin/add-unused-linters
* f74862a Add structcheck, unused, and varcheck linters.
* 96e2f30 Merge pull request containerd#1759 from dnephin/single-integration-target
* a3aeb39 fs/diff: support symlink to abspath with second-precision mtime
* 374f04d Update gc policy configuration to use time duration
* 3f1a61f Add synchronous image delete
* 72fb8f8 Add gc labels to content tests
* 56b6a5d Add root labels to snapshot test suite
* 00596f4 Add gc policy plugin
* 1bd39d3 Merge pull request containerd#1788 from crosbymichael/plugin
* 23dfe54 Add plugin stability guarantees to release.md
* 9649a42 Merge pull request containerd#1784 from stevvooe/remove-sync-write
* 95cbe81 Merge pull request containerd#1783 from crosbymichael/static-shim
* 5113299 content/local: don't open file with sync
* 67232e9 Merge pull request containerd#1779 from AkihiroSuda/resolve-util-bin
* 434f0e6 Compile shim without cgo for size and mem usage
* 7ef4aa5 shim: support non-default binary name
* 2fad782 Merge pull request containerd#1782 from dnephin/move-io-pkg
* 298dabc Move io.go into cio package
* bc063f2 Merge pull request containerd#1778 from stevvooe/weak-imports-on-plugins
* 2edc475 Merge pull request containerd#1776 from stevvooe/decouple-events-grpc
* a496871 Merge pull request containerd#1777 from jessvalarezo/migrate-client-code
* 77cb722 Merge pull request containerd#1775 from dmcgowan/fix-push-different-tags
* 50532f2 api: use weak imports for plugin protobufs
* 9cb91f8 Merge pull request containerd#1765 from dmcgowan/rm-lease-resources
* 2d05c4a events: decouple events package from grpc
* 8c5dede client: move content store client to containerd package
* aefaeea client: move diff client to containerd package
* 8d23e5e client: move image store client to containerd package
* 6cd9962 client: move namespaces client to containerd package
* 56a35d5 Update docker pusher check tag
* 5c6e789 Merge pull request containerd#1769 from stevvooe/split-events-types
* 5b64f70 client: move snapshot client to containerd package
* 09b5ca1 api/events: split event types from events service
* fc149f0 Merge pull request containerd#1770 from crosbymichael/resume
* 4192f99 Only compare times on non-windows
* 3e5e2ec content/local: consistent handling of data and locks
* f4fdb94 vendor: include require package from testify
* 682151b remotes/docker: implement seekable http requests
* a9308e1 content/local: ensure that resumption is properly supported
* 368dc17 testutil: add Size to DumpDir output
* 4df7075 Remove integration-parallel target
* 05ec01e Fix .gitignore for coverage files
* 7d64713 Merge pull request containerd#1768 from stevvooe/consolidate-empty
* c5022ad protobuf: use the gogo/types package for empty
* cc7e593 Merge pull request containerd#1760 from dnephin/run-unit-tests-on-windows
* f49b1b7 Merge pull request containerd#1764 from crosbymichael/exit
* 96d2c1e Merge pull request containerd#1766 from dnephin/fix-error-message
* 2e7f731 Normalize 'already exists' errors
* f3a63f5 Add support for removing leases on resource removal
* a72279e Skip some tests on windows where the implementation is missing
* fe5bb4a Update platform tests to use the defaultOS
* 666d946 Implement diff.compareSysStat on windows
* 5025b53 Re-enable unit tests on appveyor
* a522a6c Add publish subcommand for publishing events
* a542cf7 Merge pull request containerd#1761 from stevvooe/update-protoc
* 19168f9 Merge pull request containerd#1754 from AkihiroSuda/fix-snapshot-commit-spec
* 571c002 Merge pull request containerd#1755 from AkihiroSuda/fix-ctr-snapshot-args
* 343d2d3 Merge pull request containerd#1758 from dnephin/speed-up-unit-test
* 7354a7f README, travis: update protobuf compiler version
* 5eff92d ctr: fix args
* 5e8218a snapshot: fix specification of Commit
* d8cf30e Reduce number of blobs in TestWalkBlobs
* c78c156 Merge pull request containerd#1728 from AkihiroSuda/snapshot-closable
* d15cee0 Merge pull request containerd#1737 from estesp/progress-line-fixup
* f435ec0 Merge pull request containerd#1757 from dnephin/fix-coverage
* b28e1ee Fix coverage report
* 37ee054 Merge pull request containerd#1739 from crosbymichael/shim-redux
* 4feb6f2 snapshot: add Close()
* f9933e9 Merge pull request containerd#1742 from jessvalarezo/ctr-task-kill
* 8376b50 Add grpc methods to errdefs
* c81788b Remove errdefs and shimapi types from proc package
* 9abde39 Fix lint issues on init process
* 33fe5c1 Add debug package for memory reporting
* 66a70e7 Refactor runtime initialization
* 36e5548 Remove namepsaces and id imports from shim
* a7343b0 Move events from shim into linux runtime
* 1fe5a25 Move Exec creation to init process
* 6e25898 Move shim process code to package
* 92ca22c Merge pull request containerd#1735 from estesp/image-rm-feedback
* a74148b Merge pull request containerd#1741 from dnephin/fix-task-path-conflict
* 1966f9f ctr: update task kill to take exec-id
* 680101f Merge pull request containerd#1750 from mlaventure/delete-exec-pidfile
* 231c960 containerd-shim: Delete exec pidfile on exit
* c2ab556 Merge pull request containerd#1748 from crosbymichael/bdfl
* 503b536 Add TSC [Rule]
* a906693 Remove chief stuff as well
* e36c106 Remove BDFL sections
* 732b156 Merge pull request containerd#1745 from AkihiroSuda/remove-lcow-sys-firmware-todo
* 79e3b97 spec_unix.go: remove unneeded TODO (moby/moby#35442)
* 0876075 Fix output on ctr images rm to show actual feedback
* 17093c2 Merge pull request containerd#1718 from jessvalarezo/ctr-task-ps
* 0961807 rename runcopts to runctypes
* 807f4d2 expose exec-id on ctr task ps
* 49af59b Validate that root and state paths are different.
* b4a65de Merge pull request containerd#1740 from stevvooe/update-grpc
* 08d1e72 api,linux,windows: update generated protobufs
* 3569786 vendor: update protobuf, grpc and gogo
* b1527e0 Handle progress line length properly for formatting

Breaking Changes

* [containerd#1797](https://github.com/containerd/containerd/pulls/1797) The snapshots GRPC service was renamed from snapshot.

* [containerd#1767](https://github.com/containerd/containerd/pulls/1767) The shim protocol has changed to use ttrpc. The
new protocol does not use http2 and is not compatible with previous shim versions using grpc.

Dependency Changes

Previous release can be found at [v1.0.0-beta.3](https://github.com/containerd/containerd/releases/tag/v1.0.0-beta.3)

* 2e2c51242e8993c50445dab7c03c8e7febddd0cf -> go1.10 **github.com/dmcgowan/go-tar**
* d2e1ade2d719b78fe5b061b4c18a9f7111b5bdc8 -> v0.5 **github.com/gogo/protobuf**
* 5a0f697c9ed9d68fef0116532c6e05cfeae00e55 -> 1643683e1b54a9e88ad26d98f81400c8c9d9f4f9 **github.com/golang/protobuf**
* f7dd103 -> 29da22c **github.com/containerd/cgroups**
* v0.6.3 -> v0.6.7 **github.com/Microsoft/hcsshim**
* v1.3.0 -> v1.7.2 **google.golang.org/grpc**
* 8c92e22ce0c492875ccaac3ab06143a77d8ed0c1 **github.com/stevvooe/ttrpc**

v1.0.0-beta.3

Toggle v1.0.0-beta.3's commit message

Verified

This tag was signed with the committer’s verified signature.
dmcgowan Derek McGowan
Welcome to the release of containerd v1.0.0-beta.3!

*This is a pre-release of containerd*

After rounding out the feature set in beta.2, we have taken a number of stability fixes.

This release contains mostly bug fixes, code cleanup and improvements to useability of
the client and ctr tool.

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

`ctr` makeover

`ctr` is getting a makeover! The end goal is for commands to be consistent and scoped.
Most notably:
- `push`, `pull` are now `images` subcommands: `ctr images push`, `ctr images pull`
- `fetch`, `fetch-object`, and `push-object` are `content` subcommands
- `rootfs unpack` is now `snapshot unpack`
- `apply` no longer exists. RIP'

Garbage collector improvements

The garbage collector continues to improve with this release, including bug
fixes on the client causing races and a new lease feature for making retention
from the client easier.

The lease API was added to make it easier for clients to prevent content and
snapshots from being garbage collected while they are being actively worked on
(such as from pull, import, or checkpoint). The API includes functions for
creating, deleting, and listing leases. The lease gets attached to the context
and the backend metadata store sees it and associates newly created content
and snapshots with that lease.

Leases are currently acquired and released automatically through the client.
From the user perspective, fewer `gc.root` labels should be seen on client
during pull/import operations or left over after a failed operation.

Contributors

* Akihiro Suda
* Antonio Murdaca
* Brian Goff
* Daniel Nephin
* Daniel, Dao Quang Minh
* Derek McGowan
* Ian Campbell
* Jacob Wen
* Jess Valarezo
* Kenfe-Mickaël Laventure
* Lantao Liu
* Michael Crosby
* Phil Estes
* Sebastiaan van Stijn
* Stephen J Day
* Tao Qingyun
* Victor Vieux
* Zhang Wei
* bando-shintaro
* yanxuean

Changes

* 2b8ed96 Merge pull request containerd#1705 from stevvooe/beta3
* cb3b960 Add garbage collection release notes
* e5912e1 Merge pull request containerd#1734 from vieux/update_images_ls_platforms
* 8866254 update notes with ctr changes
* 3289ca2 release: prepare 1.0.0-beta.3
* f8a536e Add S to PLATFORM in images & plugins list
* 4701e12 Merge pull request containerd#1730 from dmcgowan/fix-usage-deadlock
* ad9eca1 Fix deadlock in overlay snapshotter
* 59d1c16 Merge pull request containerd#1732 from dmcgowan/fix-userns-tests
* b3659d2 Fix not found caused by race to remove snapshot
* 27d450a Merge pull request containerd#1690 from dmcgowan/metadata-transactions
* 844e957 Merge pull request containerd#1729 from crosbymichael/shim-size
* 07885f1 Updates lease creation to respect existing leases
* dce27d8 Remove client use of gc root label
* e13894b Add leases api
* d01fb04 Fix runtime root with no-shim
* fc08f01 Fix windows compile for dialer package
* bba473a Move shim client into subpackage
* 13c7c3e Remove urfave cli dep from shim
* a70b95b Move events exchange into subpackage
* 526d15b Move dial funcs to dialer pkg
* 01cdf33 Merge pull request containerd#1716 from crosbymichael/strip
* 2aad5ec Merge pull request containerd#1725 from dmcgowan/diff-parent-permission
* 8889d45 Add directory permission tests
* 7e398dd Merge pull request containerd#1717 from dnephin/use-gometalinter
* 46ac2be Merge pull request containerd#1721 from bandoshintaro/master
* 8498de0 Merge pull request containerd#1719 from AkihiroSuda/proc-scsi
* 5128f03 Fix docs, log output in getting started
* db58988 Add /proc/scsi to masked paths
* f9e969b Use gometalinter for linting
* ab67fd5 Merge pull request containerd#1715 from thaJeztah/nit-fix-printf
* 65d5b8b Align version output and minor code cleanup
* a045575 Strip binaries in Makefile
* 99595e0 Merge pull request containerd#1714 from dnephin/remove-deadcode-from-release
* 393e8cc Remove deadcode from cmd/containerd-release
* 5acf187 Merge pull request containerd#1712 from stevvooe/defaults-package
* 0a1a134 defaults: add package to contain server defaults
* 564600e Merge pull request containerd#1707 from dmcgowan/snapshot-storage-db
* 68d3c77 Open snapshot database only once
* 7a91c66 Merge pull request containerd#1710 from AkihiroSuda/print-revision
* dfdcd4d containerd --version: print version.Revision
* c933088 Merge pull request containerd#1663 from dmcgowan/content-local-labels
* a7a869f Merge pull request containerd#1703 from estesp/remove-copyright
* aa35164 Merge pull request containerd#1704 from jessvalarezo/ctr-move-tasks
* 7b08bcd Add support for label storage in local content store
* 864b16a ctr: alphabetize commands, rename signals
* f654b7b ctr: move pprof to commands package
* a827a17 ctr: move shim to commands
* c3b70f1 ctr: move tasks, run to commands package
* 7d6017a Update LICENSE.docs with proper CC-BY-4.0 text
* fe3d9a7 Merge pull request containerd#1702 from estesp/fix-cc-by-lic
* 474d4df Merge pull request containerd#1692 from dmcgowan/gc-fix-sweep-race
* ff90484 Merge pull request containerd#1668 from jessvalarezo/image-unpack-check
* 015788f Fix CC-BY license reference in README.md
* 7fd20ed Merge pull request containerd#1701 from stevvooe/backoff-v1-images
* 9f5b97c Merge pull request containerd#1698 from crosbymichael/task-ls
* 8bbf8d8 Merge pull request containerd#1693 from jessvalarezo/ctr-refactor-fourth-pass
* 1552ee2 client: Add helper function which checks if an image is unpacked
* 8eee47c remotes/docker/schema1: back off on locked ref
* 7a1d709 ctr: remove apply command
* 4326702 Fix race in gc sweep
* e4da49c ctr: move unpack to snapshot command
* 456d3f4 ctr: move push and pull to images command
* b58e4fc ctr: move fetch,fetch-object,push-object to content
* e2f9fbf Merge pull request containerd#1687 from crosbymichael/pie
* 91597bc Move task list to separate command
* 58835d2 Merge pull request containerd#1697 from crosbymichael/template
* adc502b Add template filepath for release tool
* 5fb3a0e Merge pull request containerd#1695 from runcom/abstract-release-tool
* fa678a0 cmd: containerd-release: abstract it out to create a new project
* b93bd0c Merge pull request containerd#1676 from AkihiroSuda/null-io-fix
* e0da28a ctr: error if tty && nullIO
* e74c423 Fix races with concurrent GC
* 1f704e9 Merge pull request containerd#1688 from crosbymichael/cli
* 994c717 Merge pull request containerd#1689 from jessvalarezo/ctr-refactor-third-pass
* 16855ee ctr: move resolver to commands package
* ffd0d2e ctr: move signals to commands package
* b8c4d85 Add buildmode=pie to makefile
* 9d05197 Update cli to 7bc6a0acffa589f415f88aca16cc1de5ffd6
* 638f3a3 Merge pull request containerd#1685 from jessvalarezo/ctr-refactor
* 8540587 ctr: move events command
* fdb6859 ctr: move namespaces command
* 750fd89 ctr: move snapshot command
* 0895dbe ctr: move content command
* f980cc1 ctr: move images command
* 47fae4d ctr: move containers command
* 8c77d9a Merge pull request containerd#1683 from crosbymichael/ctr-moving
* 083b10b Merge pull request containerd#1684 from crosbymichael/lint-final
* 1d298c8 Fix windows lint issues and enable ci
* 1c533a2 Enable go lint in CI
* b6e0c4f Fix go lint errors
* ae995bc Move plugins command
* 2dac1b6 Move version command into package
* 4743f1f Move NewClient and AppContext to commands pkg
* 8509569 Merge pull request containerd#1680 from crosbymichael/solaris
* 9956fa4 Remove solaris files
* 80de000 Merge pull request containerd#1679 from jessvalarezo/ctr-refactor-first-pass
* a19a203 ctr: add commands package with shared utility functions
* 04659d9 Merge pull request containerd#1675 from crosbymichael/ctr-newclient
* 9f76083 Refactor newClient in ctr
* edf4114 Merge pull request containerd#1673 from qingyunha/ctr
* 313bab3 Merge pull request containerd#1654 from crosbymichael/ctr-daemon
* 0813ee4 Merge pull request containerd#1666 from estesp/add-test-stress-info
* 6112102 ctr use client's underlying service
* 5b6564d Merge pull request containerd#1667 from crosbymichael/more-lint
* 230dc74 Merge pull request containerd#1669 from crosbymichael/container-api-tests
* 43ec3df Add testing information to BUILDING.md
* b937d23 Add additional container test for missing methods
* 5fd0415 Add comments and fix common lint issues
* 9bd1dc7 Unexport grpc service types
* 3679a55 Merge pull request containerd#1665 from crosbymichael/bump-runc
* 8feebb7 Bump runc to 74a17296470088de3805e138d3d87c62e613d
* 91a33a0 Merge pull request containerd#1664 from qingyunha/issue1607
* f325d51 move the fifo locations /run/containerd
* c7dc795 [ctr] add --detach to run
* 2e00408 [ctr] Add --null-io to ctr run/start
* 992280e Merge pull request containerd#1662 from mlaventure/update-cgroups
* 7c9be56 Update containerd/cgroups to f7dd103
* 1752bf5 Merge pull request containerd#1660 from stevvooe/update-security-email
* 639d1bd README, RELEASES: update security email
* f2ae8a0 Merge pull request containerd#1658 from dmcgowan/gc-content-delete
* 923a5c8 Update content store garbage collection
* 87596ad Merge pull request containerd#1657 from mlaventure/vendor-go-runc
* 90c5355 Vendor go-runc ed1cbe1fc31f5fb2359d3a54b6330d1a097858b7
* 84fa396 Merge pull request containerd#1656 from crosbymichael/rev-name
* 21c992a Reverse checkpoint url
* 5244d7b Merge pull request containerd#1655 from dmcgowan/skip-user-ns-tests
* cbeb0a8 Merge pull request containerd#1652 from crosbymichael/cr-image
* efcec36 Skip user namespace tests in kernels which have it disabled
* ce57d6d Merge pull request containerd#1634 from crosbymichael/release-build
* 5a38644 Merge pull request containerd#1653 from dmcgowan/fix-pull-race
* ca63e6d Merge pull request containerd#1645 from cpuguy83/limited_reader
* b798d87 Ensure manifests are marked as root during pull
* e4c6bf3 Remove default filter from ctr
* e833da1 Clear root labels during checkpoint
* e201be5 Create checkpointed image in client
* a19fd6e Add checkpoint media types to handler
* abbec62 cmd/ctr: create an image for checkpoint
* 6eb56a2 Use limited reader for some `ReadAll` cases.
* 70b5668 Merge pull request containerd#1631 from dmcgowan/cancel-unpack
* 3c89aaf Merge pull request containerd#1649 from mlaventure/win-procdetaisl-use-stdtime
* 6b9edd0 Merge pull request containerd#1640 from Random-Liu/fix-image-pull-race
* 2cdb395 Merge pull request containerd#1643 from cpuguy83/close_wait_chan
* 2056254 Close wait chan after sending status
* e7ea7b5 windows: Use stdtime for hcsshimtypes.ProcessDetails.CreatedAt
* ef5fe56 Merge pull request containerd#1641 from WeiZhang555/fix-progress-bar
* 79dad0a Merge pull request containerd#1650 from dmcgowan/fix-gc-race
* 295cce2 Use single instance of snapshot and content stores
* e378196 Add snapshot label command to ctr
* d28b8cc Merge pull request containerd#1648 from mlaventure/checkpoint-workdir
* 7562047 Merge pull request containerd#1642 from mlaventure/arm-panic
* 71f0bb3 linux: Pass correct path to runc when doing a checkpoint
* d8e4894 linux: Ensure count is 64bits aligned for proper atomic use on 32bits machines
* a06abd7 [progress] Fix wrong display of progress bar
* 103dd0e Merge pull request containerd#1644 from cpuguy83/unmarshal_error_desc
* c1a0775 Build release tar and include hash
* 7f4f4b5 Merge pull request containerd#1646 from mlaventure/mlaventure-email
* 3c7645a Merge pull request containerd#1647 from yanxuean/typo
* d8d1209 a typo in comment of Snapshotter.Update
* bdf801b Update @mlaventure e-mail address
* 0847ae6 Improve error message for `WithContainerExtension`
* 09c2bfa Reduce image pull race.
* c66fd83 Merge pull request containerd#1636 from crosbymichael/cgroups
* d805f77 Bump cgroups dep to 38a6143
* 91614a5 Merge pull request containerd#1633 from ijc/go1.9
* 71c4ee5 Merge pull request containerd#1629 from dmcgowan/remove-archive-umask
* 680bab8 Update docs with go 1.9 requirement.
* dcf7ff5 Update apply diff to support context cancellation
* e20b371 Remove umask, replace with explicit chmod after create

Dependency Changes

Previous release can be found at [v1.0.0-beta.2](https://github.com/containerd/containerd/releases/tag/v1.0.0-beta.2)

* 8ba6f23b6e36d03666a14bd9421f5e3efcb59aca -> 7bc6a0acffa589f415f88aca16cc1de5ffd66f9c **github.com/urfave/cli**
* 0351df1c5a66838d0c392b4ac4cf9450de844e2d -> 74a17296470088de3805e138d3d87c62e613dfc4 **github.com/opencontainers/runc**
* 9c238e6 -> f7dd103 **github.com/containerd/cgroups**
* 633fd07c086ff591adaa2849278764771d791f6f -> ed1cbe1fc31f5fb2359d3a54b6330d1a097858b7 **github.com/containerd/go-runc**

v1.0.0-beta.2

Toggle v1.0.0-beta.2's commit message

Verified

This tag was signed with the committer’s verified signature.
stevvooe Stephen Day
containerd 1.0.0-beta.2

Welcome to the release of containerd v1.0.0-beta.2!

*This is a pre-release of containerd*

This release rounds out much of the remaining feature set for the 1.0 release
time frame. In addition to a large number of bugfixes and utility additions,
services and methods have been added to the GRPC API to meet production use
cases.  The highlight is garbage collection, along with database migrations,
plugin introspection and rich PID listing.

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

Garbage Collection

Full garbage collection support for cleaning up content, snapshots and metadata
for containerd resources. The implementation is based on well-known concurrent
mark and sweep and the approach allows for extensibility in collection
policies.

The GC is triggered `Container.Delete and Image.Delete. Note that images may
need to be re-pulled for proper support.

Introspection API

The new introspection API allows for querying the state of containerd. The
`Plugins` method lists the state and exports of all initialized plugins in use
in a containerd instance.

```console
$ ctr plugins
TYPE                            ID             PLATFORM       STATUS
io.containerd.content.v1        content        -              ok
io.containerd.metadata.v1       bolt           -              ok
io.containerd.differ.v1         walking        linux/amd64    ok
io.containerd.grpc.v1           containers     -              ok
io.containerd.grpc.v1           content        -              ok
io.containerd.grpc.v1           diff           -              ok
io.containerd.grpc.v1           events         -              ok
io.containerd.grpc.v1           healthcheck    -              ok
io.containerd.grpc.v1           images         -              ok
io.containerd.grpc.v1           namespaces     -              ok
io.containerd.snapshotter.v1    btrfs          linux/amd64    error
io.containerd.snapshotter.v1    overlayfs      linux/amd64    ok
io.containerd.grpc.v1           snapshots      -              ok
io.containerd.monitor.v1        cgroups        linux/amd64    ok
io.containerd.runtime.v1        linux          linux/amd64    ok
io.containerd.grpc.v1           tasks          -              ok
io.containerd.grpc.v1           version        -              ok
```

Rich ListPIDs

Listing PIDs through the task service can now provide runtime specific metadata
through the API. This is particularly interesting on the windows platform. The
following is an example of a Windows container `ps` output:

```console
$ ctr tasks ps <container-id>
PID       INFO
3716      {ImageName:smss.exe CreatedAt:2017-10-10T17:51:45.1552607Z KernelTime_100Ns:156250 MemoryCommitBytes:348160 MemoryWorkingSetPrivateBytes:217088 MemoryWorkingSetSharedBytes:946176 ProcessID:3716 UserTime_100Ns:0}
5404      {ImageName:csrss.exe CreatedAt:2017-10-10T17:51:45.1848844Z KernelTime_100Ns:0 MemoryCommitBytes:606208 MemoryWorkingSetPrivateBytes:339968 MemoryWorkingSetSharedBytes:1560576 ProcessID:5404 UserTime_100Ns:0}
3628      {ImageName:wininit.exe CreatedAt:2017-10-10T17:51:45.1974386Z KernelTime_100Ns:156250 MemoryCommitBytes:983040 MemoryWorkingSetPrivateBytes:610304 MemoryWorkingSetSharedBytes:3448832 ProcessID:3628 UserTime_100Ns:0}
8576      {ImageName:services.exe CreatedAt:2017-10-10T17:51:45.2091635Z KernelTime_100Ns:468750 MemoryCommitBytes:2048000 MemoryWorkingSetPrivateBytes:1437696 MemoryWorkingSetSharedBytes:4182016 ProcessID:8576 UserTime_100Ns:0}
7892      {ImageName:lsass.exe CreatedAt:2017-10-10T17:51:45.2177712Z KernelTime_100Ns:937500 MemoryCommitBytes:2666496 MemoryWorkingSetPrivateBytes:1982464 MemoryWorkingSetSharedBytes:7561216 ProcessID:7892 UserTime_100Ns:312500}
6384      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.3676107Z KernelTime_100Ns:468750 MemoryCommitBytes:1896448 MemoryWorkingSetPrivateBytes:1277952 MemoryWorkingSetSharedBytes:4730880 ProcessID:6384 UserTime_100Ns:156250}
4904      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.5431743Z KernelTime_100Ns:312500 MemoryCommitBytes:1781760 MemoryWorkingSetPrivateBytes:1331200 MemoryWorkingSetSharedBytes:4952064 ProcessID:4904 UserTime_100Ns:0}
2092      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.5838844Z KernelTime_100Ns:156250 MemoryCommitBytes:2486272 MemoryWorkingSetPrivateBytes:2117632 MemoryWorkingSetSharedBytes:5668864 ProcessID:2092 UserTime_100Ns:312500}
6576      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.727607Z KernelTime_100Ns:156250 MemoryCommitBytes:1818624 MemoryWorkingSetPrivateBytes:1417216 MemoryWorkingSetSharedBytes:6684672 ProcessID:6576 UserTime_100Ns:156250}
2412      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.0427889Z KernelTime_100Ns:468750 MemoryCommitBytes:5570560 MemoryWorkingSetPrivateBytes:3915776 MemoryWorkingSetSharedBytes:5963776 ProcessID:2412 UserTime_100Ns:0}
5472      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.0827893Z KernelTime_100Ns:312500 MemoryCommitBytes:2625536 MemoryWorkingSetPrivateBytes:1908736 MemoryWorkingSetSharedBytes:7532544 ProcessID:5472 UserTime_100Ns:312500}
8756      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.1108672Z KernelTime_100Ns:312500 MemoryCommitBytes:1843200 MemoryWorkingSetPrivateBytes:1466368 MemoryWorkingSetSharedBytes:4612096 ProcessID:8756 UserTime_100Ns:0}
1508      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.1522136Z KernelTime_100Ns:2812500 MemoryCommitBytes:4816896 MemoryWorkingSetPrivateBytes:3600384 MemoryWorkingSetSharedBytes:9281536 ProcessID:1508 UserTime_100Ns:468750}
4612      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.2212148Z KernelTime_100Ns:937500 MemoryCommitBytes:3063808 MemoryWorkingSetPrivateBytes:2265088 MemoryWorkingSetSharedBytes:8667136 ProcessID:4612 UserTime_100Ns:156250}
5936      {ImageName:CExecSvc.exe CreatedAt:2017-10-10T17:51:46.2224031Z KernelTime_100Ns:0 MemoryCommitBytes:983040 MemoryWorkingSetPrivateBytes:737280 MemoryWorkingSetSharedBytes:3723264 ProcessID:5936 UserTime_100Ns:0}
4416      {ImageName:cmd.exe CreatedAt:2017-10-10T17:51:46.5943846Z KernelTime_100Ns:0 MemoryCommitBytes:1564672 MemoryWorkingSetPrivateBytes:356352 MemoryWorkingSetSharedBytes:2174976 ProcessID:4416 UserTime_100Ns:0}
8700      {ImageName:powershell.exe CreatedAt:2017-10-10T17:51:46.6120645Z KernelTime_100Ns:2343750 MemoryCommitBytes:24522752 MemoryWorkingSetPrivateBytes:19853312 MemoryWorkingSetSharedBytes:27156480 ProcessID:8700 UserTime_100Ns:10156250}
```

Migrations

A lightweight migration framework is now part of containerd. This allows us to
safely evolve the schema between releases with the groundwork laid early.

As part of this release, a migration will be run to add back references in
support of garbage collection.

Contributors

* Ace-Tang
* Akihiro Suda
* Akim Demaille
* Allen Sun
* Daniel, Dao Quang Minh
* Derek McGowan
* Jess Valarezo
* Kenfe-Mickaël Laventure
* Lantao Liu
* Mathieu Pasquet
* Michael Crosby
* Phil Estes
* Stephen J Day
* Tobias Klauser
* Yanqiang Miao

Changes

* a543c93 Merge pull request containerd#1630 from stevvooe/beta2
* 683ed97 release: prepare 1.0.0-beta.2
* 1fe31c7 Merge pull request containerd#1628 from crosbymichael/release-tool
* 769d9e1 add release tool to generate releases
* 587f252 Merge pull request containerd#1563 from dmcgowan/gc-alpha
* 3cc7591 Merge pull request containerd#1627 from jessvalarezo/task-remove-cast
* 1e69de1 Remove ProcessInfo cast
* b5152f2 Merge pull request containerd#1626 from jessvalarezo/windows-changes
* 830e0ea Change hcsshimopts to hcsshimtypes package
* ffb03c4 Add checkpoint and userns gc labels
* de7b281 Update services to call garbage collection
* 17471d5 Metadata garbage collection
* 7884707 Add reference labels to snapshots and content
* 551579b Merge pull request containerd#1621 from dmcgowan/refactor-diff
* 64a96aa Abort newly created references on error
* 69e7e7f Add error wrapping for client checkpoint errors
* d9db1d1 Refactor differ into separate package
* 60960e1 Merge pull request containerd#1597 from stevvooe/introspection-service
* 0e72ce5 services/introspection: implement plugin reporting
* 4981464 plugin: allow declaring a plugin depends on all others
* 8508e82 plugin: refactor plugin system to support initialization reporting
* fe52d93 errdefs: use status package for mapping errors
* d8bd6b7 plugin: allow querying plugin graph to be re-entrant
* 363d692 api/services: define the introspection API
* 12c79cc Merge pull request containerd#1604 from jessvalarezo/windows-listpids
* 061c719 ListPids returns process ID and other info
* 96725a5 Merge pull request containerd#1620 from mlaventure/runc-io-id
* c807ba8 Allow setting the uid & gid of the io pipes
* 1ea8ac4 Merge pull request containerd#1617 from crosbymichael/2cgroup
* d7864eb Use namespace in default cgroup path
* 72bb45a Merge pull request containerd#1603 from mlaventure/fix-windows-flaky-tests
* cfa8756 windows: Create init process with task
* ad52664 windows: Fix a few races
* b2e3482 Merge pull request containerd#1584 from miaoyq/fix-mount-lookup-err
* d7c4611 Ensure getting the correct mountinfo corresponds to path
* a8426ed Merge pull request containerd#1609 from crosbymichael/attach-docs
* 6c3f393 Merge pull request containerd#1611 from stevvooe/address-cgroup-merge-conflicty
* 77e5f65 metrics/cgroups: handle error on call to cgroup
* bbb01ee Add docs around multiple attach
* 987fcd1 Merge pull request containerd#1598 from Random-Liu/fix-load-task
* 67bbfc5 Merge pull request containerd#1605 from dmcgowan/metadata-db-documentation
* e4defbc Add documentation for metadata database
* 6f351f0 Merge pull request containerd#1586 from mathieui/postmortem-stats
* d92f6ee Allow blocking and non-blocking metrics collection
* ed519bb Collect cgroup stats one last time before exit
* 8558b98 Merge pull request containerd#1582 from dmcgowan/metadata-db-object
* 7f657ce Add database migrations
* 28ca8f0 Fix task load.
* 7c4bca5 Merge pull request containerd#1600 from AkihiroSuda/defaultspec
* d7b0e52 spec: set MaskedPaths and ReadOnlyPaths by default
* 72a3a01 Merge pull request containerd#1595 from crosbymichael/container-lock
* 28882fd Merge pull request containerd#1589 from mlaventure/shim-no-newns
* fa9e9bd Fetch current container info before operations
* 8d892a6 Update metadata plugin initialization
* 2ab70f2 Add content and snapshot store references
* 447a0a9 Add children bucket to back reference snapshots
* 56c1b79 Create metadata db object
* acba0f5 Merge pull request containerd#1594 from akimd/akim/clean
* ec43dc2 Merge pull request containerd#1592 from AkihiroSuda/workdir2
* 26d4c2c Add an option to prevent putting the shim in a new mount namespace
* 0ae9d8f Merge pull request containerd#1567 from stevvooe/image-check-function
* 8ceeeed style: move definition for consistency
* b26e2e7 ctr run: add --cwd
* f6d8892 Merge pull request containerd#1583 from stevvooe/image-storage-validation
* 698b6d1 metadata: validation and testing of image store
* c555df5 images: support checking status of image content
* 7c9b0ea Merge pull request containerd#1590 from crosbymichael/container-update
* 9e85035 Add container update method
* 1c7a042 Merge pull request containerd#1566 from stevvooe/split-children
* 6b9aafd Merge pull request containerd#1587 from Ace-Tang/remove_blank_line
* 2231de3 Remove a blank line
* 8ded4fe Merge pull request containerd#1581 from crosbymichael/lint-2
* 451421b Comment more packages to pass go lint
* 33e974c Merge pull request containerd#1577 from crosbymichael/lint-1
* 2416559 Merge pull request containerd#1580 from tklauser/unix-mkdev-major-minor
* f43b7ac Update files based on go lint
* 579093f Merge pull request containerd#1579 from tklauser/vendor-ansiterm
* f01b139 archive: use Mkdev, Major and Minor functions from golang.org/x/sys/unix
* 727fd59 ctr: remove SIGUNUSED from signal map
* e789135 vendor: update golang.org/x/sys
* acc246e Remove stray entry for Azure/go-ansiterm from vendor.conf
* ce6859f images: provide separated children function for images
* 16bf823 Merge pull request containerd#1570 from AkihiroSuda/oci-runtime-readonly
* 27023c7 readonly: pass RW rootfs to runtime, and let the runtime remount it as RO
* 70b353d Merge pull request containerd#1551 from mlaventure/client-pull-set-labels
* 9f84513 Merge pull request containerd#1571 from allencloud/remove-defaultns-from-Client
* fd44a3a remove field defaultns from struct Client
* df82159 client: Allow setting image labels on Pull() and Import()
* b24acea Merge pull request containerd#1565 from allencloud/fix-potential-panic
* 382dafef fix a potential panic when map is nil
* cc9f58a Merge pull request containerd#1559 from mlaventure/fix-oor-panic
* cee13eb Merge pull request containerd#1557 from crosbymichael/console-bump
* cf2c460 Bump runc with console change for ONLCR
* d026f81 Merge pull request containerd#1562 from AkihiroSuda/ctr-images-q
* ed81189 Update console dep to 84eeaae905fa414d03e07bcd6c8d
* 2a64813 ctr: add `ctr images ls --quiet`
* af2226c client: Prevent Out-Of-Range panic in task.Metrics()
* bd1f89b Merge pull request containerd#1555 from crosbymichael/client-lint
* 51b9240 Update client to pass go lint
* 1a9d939 Merge pull request containerd#1558 from mlaventure/dialer-quick-fix
* 357eff8 Merge pull request containerd#1556 from crosbymichael/tests
* c42f56b Move unix specific tidbits into dialer_unix.go
* 76a2d1c State adding tests when submitting changes
* 76bfff3 Merge pull request containerd#1554 from mlaventure/list-images-filters
* 8e44719 Merge pull request containerd#1552 from allencloud/update-docs-and-comments
* 4700968 update docs and comments
* 8f1dd43 client: Allow specifying filters when listing images

Dependency Changes

Previous release can be found at [v1.0.0-beta.1](https://github.com/containerd/containerd/releases/tag/v1.0.0-beta.1)

* b3c048c028ddd789c6f9510c597f8b9c62f25359 -> 633fd07c086ff591adaa2849278764771d791f6f **github.com/containerd/go-runc**
* b28c739c79ce69d017e3691ad3664568d68e95c6 -> 84eeaae905fa414d03e07bcd6c8d3f19e7cf180e **github.com/containerd/console**
* 5933ab4 -> 9c238e6 **github.com/containerd/cgroups**
* 7ddbeae9ae08c6a06a59597f0c9edbc5ff2444ce -> 314a259e304ff91bd6985da2a7149bbf91237993 **golang.org/x/sys**
* 593914b8bd5448a93f7c3e4902a03408b6d5c0ce -> 0351df1c5a66838d0c392b4ac4cf9450de844e2d **github.com/opencontainers/runc**

v1.0.0-beta.1

Toggle v1.0.0-beta.1's commit message

Verified

This tag was signed with the committer’s verified signature.
stevvooe Stephen Day
containerd 1.0.0-beta.1

Welcome to the second beta release of `containerd`.

The highlights of this release focus around making integrations much easier.
The `Container.Extensions` field allows one to add arbitrary metadata, such as
protobufs and json, to a container metadata object. The `Tasks.Wait` rpc makes
waiting for containers to exit much simpler in practice.

With this release, `containerd` now fully supports pulling multi-platform
Docker and OCI images, complete with foreign layer support.

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

Upgrading

Label validation now requires that the key and value together are under 4096
bytes. If you had labels large than this size, metadata objects may need to be
rewritten.

The metrics API has been moved from `/metrics` to be versioned under
`/v1/metrics` and is now slated to be covered under our release policy.

The `Tasks` service now has a `Wait` rpc to make it easier to wait on container
processes, eliminating race conditions that were hard to handle with events.
Old clients will still work with events, but they will suffer from the problems
that this change is meant to solve.

Multi-Platform

While `containerd` is fairly agnostic to the image format, the release of
multi-platform images on Docker Hub caused some issues with the client-side
pull support. `containerd` now properly handles multi-platform Docker and OCI
images. This includes support for foreign layers.

This means that one should be able to pull multi-platform images without issues
for Linux and Windows, as well as most architectures. This works even if the
platform doesn't support the particular image.

Container Extensions

A new field, `Container.Extensions`, supports storing integration specific
structures directly in `containerd`. This allows drivers like Docker and
CRI-containerd to store their own metadata objects in `containerd`. This
obviates the need for secondary storage systems and ensures updates follow the
same transaction semantics as other parts of `containerd`. At the same time, it
also avoids problems with "label bloat" when storing more complex metadata.

JSON and protobuf are supported.

New Maintainer

We want to welcome a new maintainer to `containerd`, Akihiro Suda. The
container ecosystem would be as strong as it is today without his tireless
efforts. We are excited to have him on board and his presence will ensure that
`containerd` will be a strong platform.

Contributors

We'd like to extend a thanks to the following people who contributed to this
release:

Akihiro Suda
Allen Sun
Brian Goff
Derek McGowan
Ian Campbell
Jess Valarezo
Kenfe-Mickaël Laventure
Kunal Kushwaha
Lantao Liu
Michael Crosby
Mike Brown
Phil Estes
Roy Inganta Ginting
Stephen Day
Tao Qingyun
Tobias Klauser
yanxuean

Changes

20c6211 Merge pull request containerd#1550 from stevvooe/beta1
95675f3 release: prepare 1.0.0-beta.1
316ce18 Merge pull request containerd#1549 from estesp/fix-getting-started-examples
fe1e00c Fix example using old GenerateSpec function
9a7e776 Merge pull request containerd#1547 from AkihiroSuda/remove-dist-grpc
3a88be3 design: remove distribution GRPC service
df896c9 Merge pull request containerd#1528 from jessvalarezo/labels-validate
ba53292 Merge pull request containerd#1544 from allencloud/consistent-display-format
94b5aaf Merge pull request containerd#1543 from Random-Liu/fix-container-timestamp
82a68e2 Merge pull request containerd#1542 from stevvooe/update-architecture-diagram
d5b027c make command help display consistent
5452112 Fix container CreatedAt and UpdatedAt.
709d34f Merge pull request containerd#1537 from allencloud/add-reponse-body-close
c6d5595 add a response body close
fe9d6a4 Merge pull request containerd#1525 from crosbymichael/shim-hang
18c4322 Labels are consistently validated across services
04ed74f README, design: update architecture diagram
3273315 Merge pull request containerd#1541 from stevvooe/update-releases
c381a9e RELEASES: update component table
90d7452 Merge pull request containerd#1540 from estesp/revert-temp-image-ref
2146fee Merge pull request containerd#1534 from crosbymichael/metricsv1
e2f3e31 Make WithCheckpoint() work with manifest list images
cadee03 Revert "Merge pull request containerd#1502 from crosbymichael/test-image"
d67763d Add wait API endpoint for waiting on process exit
2f5dda6 Merge pull request containerd#1536 from stevvooe/foreign-layers
26329b2 Merge pull request containerd#1535 from dmcgowan/fix-pull-multi-arch
13771fb images, remotes: add support for foreign layers
eef47ff Add platform filtering on children handler
f23edd3 Add v1 to metrics API endpoint
9934acb Merge pull request containerd#1532 from mikebrow/seccomp-default-proc-fix
ef5f202 Merge pull request containerd#1533 from stevvooe/specifier-default
9163377 platforms: provide simpler function for common use
78c4e55 Merge pull request containerd#1529 from crosbymichael/console
120bb4c fixes missing default permission
7030a4a Close epoller on task stop
781ce65 Update console dep to b28c739c79ce69d017e3691ad366
d700a9c Merge pull request containerd#1500 from crosbymichael/typeurl
d22160c Vendor typeurl package
929283a Remove typeurl package from repo
f41871b Merge pull request containerd#1515 from dmcgowan/add-akihiro
0cb2c96 Merge pull request containerd#1519 from crosbymichael/contrib
58015ab Add readme to contib
e517952 Merge pull request containerd#1378 from cpuguy83/container_store_extra_data
59384ff Merge pull request containerd#1522 from qingyunha/master
e1ce48d README.md: correct headers level
b6a0fb1 Merge pull request containerd#1518 from crosbymichael/security
8ac9743 Merge pull request containerd#1510 from crosbymichael/signals
2e830e0 Update security reporting text
72f380a Merge pull request containerd#1517 from mlaventure/remove-toml-omitempty
4bfe3a9 Merge pull request containerd#1516 from tklauser/fix-cstring-leaks
7fdf8cd Handle signals first on boot
4a58240 mount: fix CString memory leaks
3596ec5 Add Akihiro as maintainer
f2d1459 Remove omitempty from toml tags
cf1d422 Merge pull request containerd#1511 from crosbymichael/solaris
6d440dc Remove solaris from travis
63654f9 Merge pull request containerd#1509 from crosbymichael/ns-event
d1e11f1 Merge pull request containerd#1465 from AkihiroSuda/gcr
14c36cc Set ctx ns before publish
9f28040 Merge pull request containerd#1506 from dmcgowan/unpack-manifest-list
46ded63 Support for multi-arch image unpacking
cc75a11 Merge pull request containerd#1484 from yanxuean/loadconfig
4943771 Merge pull request containerd#1504 from stevvooe/resolve-platforms
0f6d1d2 Merge pull request containerd#1501 from crosbymichael/trap-err
bcfdbb1 Merge pull request containerd#1503 from crosbymichael/update-runc
ea8adf9 cmd/ctr: show resolved image platform
37d049d Merge pull request containerd#1493 from mikebrow/seccomp-helper
8785f3f Merge pull request containerd#1403 from stevvooe/platform-selectors
775f7ce platforms: update format for platform specifier
77f699c Update runc to 593914b8bd5448a93f7c3e4902a03408b6d
426650f adds seccomp helpers
03b43ac Trap close error on shutdown
558b46f Merge pull request containerd#1502 from crosbymichael/test-image
0e616f4 Merge pull request containerd#1496 from kunalkushwaha/movefile-testcase
ca3f16c [tmp] Use amd64 test image
8442e4b Testcase added for Moving files in snapshot layers
a2aa4ec Merge pull request containerd#1485 from AkihiroSuda/expose-differ
313cebc Merge pull request containerd#1473 from kunalkushwaha/snapshot-testcases
1310c85 differ: expose newWalkingDiff() for standalone buildkit
39b5f90 Improve server.LoadConfig function
f7d31e2 api, metadata: use map type for Container.Extensions
94f6be5 platforms: implement matcher support
fb06883 platforms: define selectors for platforms
52fbc5f Merge pull request containerd#1490 from ijc/defalt
a791f04 Merge pull request containerd#1489 from crosbymichael/list-state
128aaf6 Correct spelling of default.
3552ce5 Add field to `Container` for client-defined data
951c129 Handle locking and errors for process state
17901fa Merge pull request containerd#1488 from crosbymichael/prom-containers
72bcdb8 Add config for exporting container metrics to prom
aa8bd16 Merge pull request containerd#1487 from crosbymichael/guide
9c20795 Add go build and ./main to guide
34a58ce Improve the getting started guide
2cfd7df Merge pull request containerd#1456 from ijc/ctr-list-no-labels
2f08032 remotes/docker: add scope (registry:foo/bar:pull)
aaae706 remotes/docker: allow 404 for POST /v2/token
b6fb234 Testcase added for deletion of files in lower layer
121d337 Added testcase Removal of intermediate snapshot
94b0d0e ctr: drop labels from `ctr containers` subcommand list

v1.0.0-beta.0

Toggle v1.0.0-beta.0's commit message

Verified

This tag was signed with the committer’s verified signature.
stevvooe Stephen Day
containerd 1.0.0-beta.0

After a large push for stability changes, we now present containerd
1.0.0-beta.0.

With this release, going forward, our focus will be on not breaking
integrations. If we do push a beta that breaks something, please let us
know immediately so we can update our processes and procedures to avoid
breaks in the future.

While we are making the above the committment, we will make exceptions
if critical design changes are required or if there are security issues.

Release Process

The release process and versioning guarantees have been laid out in
RELEASES.md. It identifies the release process, versioning, branching,
support horizon and backporting processes for containerd.

Upgrading

As a matter of policy, there is no compatibility with previous alpha
releases, so it is recommended that existing installations be cleared
out to avoid future issues. Existing clients should work but one may
encounter compilation errors due to changes.

The name of the field `Container.RootFS` has been changed to
`Container.SnapshotKey`. Existing clients should work with out change,
but when upgrading deamons, the storage location of this value has
changed. If this is a problem, please reach out and we can work out a
migration solution.

Metrics

The main addition for this release is support for inline container
metrics access on the Tasks service. The container metrics, previously
available via the prometheus API, are now made available directly
through the GRPC API to support use cases that are focused on single
containers rather than aggregrates.

Contributors

Akihiro Suda
Darren Stahl
Derek McGowan
Kenfe-Mickaël Laventure
Lantao Liu
Michael Crosby
Phil Estes
Stephen Day

Changes

a2e8991 release: prepare 1.0.0-beta.0
3b282ba Merge pull request containerd#1480 from dmcgowan/unique-unpack-keys
09f2421 Merge pull request containerd#1466 from AkihiroSuda/snapshotkey
597d0d7 Support simultaneous unpacking of same layer
e30e0c8 api: RootFS -> SnapshotKey
8b63386 Merge pull request containerd#1479 from stevvooe/baseline-api-txt
e66d1a7 Merge pull request containerd#1468 from crosbymichael/stats
157cfb1 api, linux/runcopts: ensure output is current
2ed3c62 Update cgroups to 5933ab4
843b35c Merge pull request containerd#1478 from estesp/freebsd-compile
8b938b0 Fix FreeBSD compilation
e0f7b5f Merge pull request containerd#1477 from stevvooe/revert-rootfs-init
e1eeb0e Merge pull request containerd#1475 from dmcgowan/content-commit-context
4d8f789 Revert "rootfs: remove unused functions"
9613acb Add context to content commit
bf08f7c Merge pull request containerd#1474 from mlaventure/update-gorunc
f766801 Update go-runc to b3c048c028ddd789c6f9510c597f8b9c62f25359
026ebe1 Merge pull request containerd#1472 from dmcgowan/fix-gcr-registries
48afd44 Support blob commit returning a 200 instead of 201
4c5ed9c Move metrics requests to services
c07f7ca Add task.Metrics to windows
8510512 Add test for client metrics
f45269b Update cgroups to 4be134fe43b9e207558365ad2675546b
ed45952 Use cgroups proto for prom metrics
0973a08 Update cgroups to e364e5d4183340acdf51f943ba033543
697dcdd Refactor task service metrics
16fcb8d Merge pull request containerd#1470 from crosbymichael/lossy
a6aa3cc Merge pull request containerd#1469 from crosbymichael/sys
f5d81a6 Return grpc errs from task service
887f97f Merge pull request containerd#1463 from stevvooe/switch-snapshot-kind
f7dc0ab Update golang/sys to 7ddbeae9ae08c6a06a59597f0c9ed
1c31199 snapshot: use switch to parse snapshot.Kind
f4b8498 Merge pull request containerd#1373 from AkihiroSuda/fix-snapshot-view
a560e5e mount: fix read-only bind (containerd#1368)
b4cc42d Merge pull request containerd#1460 from mlaventure/pid-host-kill-init
939ad32 Update go-runc to ba22f6a82e52be3be4eb4a00000fe816f4b41c2e
a6fb9bc reaper: Return an error if exit status is not 0
92772bd linux: Ensure all init children are dead when it exits
9d251cb Delete bundle dir on restore if we're not debugging the shim
d3e1132 Merge pull request containerd#1453 from crosbymichael/oom
378e334 Merge pull request containerd#1362 from AkihiroSuda/ctr-snapshot-info
b04e408 Convert OOM Metric to Const
93395c0 Merge pull request containerd#1462 from stevvooe/fieldpath-fix
5cc1086 service/containers: correctly plumb fieldpaths
7182085 Merge pull request containerd#1447 from stevvooe/nice-events
4291fb4 Merge pull request containerd#1454 from
mlaventure/per-container-runtime-binary
a3f0bba Merge pull request containerd#1459 from crosbymichael/exec-wait
5614e9c Wait on exec process not task
3e2a9c6 Merge pull request containerd#1458 from AkihiroSuda/net-host
dd05301b Merge pull request containerd#1457 from AkihiroSuda/nit-doc
053deb5 ctr: net-host: bind-mount host /etc/{hosts,resolv.conf}
37896ed RELEASES.md: Go API -> Go client API
525bffd snapshot: support JSON marshalling for Info
fef7f3a ctr: add `ctr snapshot info <key>`
1b79170 linux: Add RuntimeRoot to RuncOptions
ab0cb4e linux: Honor RuncOptions if set on container
e0d8cb1 Fix retrieval of container Runtime.Options field
22df20b Merge pull request containerd#1452 from crosbymichael/reaper2
6b4c4a2 Update reaper for multipe subscribers
9255e75 containerd: export Subscribe method on client
c2e894c Merge pull request containerd#1448 from darrenstahlmsft/ConsoleSize
c1c2aaf Merge pull request containerd#1444 from Random-Liu/add-image-config
04c6bf4 Ensure ConsoleSize is not nil
76e016c Add image config function.
0baecaa Merge pull request containerd#1439 from
mlaventure/allow-setting-rutime-opts
49e3d43 Merge pull request containerd#1443 from crosbymichael/daemon-cgroup
932246b Place containerd inside cgroup
c3711c3 Merge pull request containerd#1319 from mlaventure/handle-sigkilled-shim
744308a Merge pull request containerd#1440 from mlaventure/fix-shim-panic
42b131c Allow setting runtime options when using WithRuntime()
1c92c0e Fix panic in CloseIO when not Stdin was allocated for a process
456e169 Merge pull request containerd#1438 from crosbymichael/apparmor
7dd87c3 Merge pull request containerd#1436 from crosbymichael/security
2b46989 Add default apparmor profile generation
edd1da8 Use configured runtime when cleaning up after dead shim
700120c Don't build binaries when running `make vet`
3f34c42 Add missing "/tasks/exec-started" event topic
dbd3eff containerd: add state flag to specify state dir
d541567 Handle SIGKILL'ed shim while daemon is running
c23f29e containerd-shim: Don't try to delete container twice
eb4abac linux: Prevent deadlock in reaper.WaitPid()
9923a49 linux/shim: Kill container upon SIG{TERM,KILL}
6ec92dd Merge pull request containerd#1437 from darrenstahlmsft/LCOWConfig
d0b6136 Split Windows config generation to support LCOW
4a782f7 Vendor opengcs and hcsshim
6b6ac8e Add security mailing list to readme and releases
cf09e326 Merge pull request containerd#1435 from Random-Liu/with-process-kill-all
2f237b2 WithProcessKill should kill all processes.
31b5bb9 Merge pull request containerd#1434 from crosbymichael/kill-all
ed6b8fb Add KillOpts for killing all processes
a197618 Merge pull request containerd#1428 from mlaventure/go1.9
b9879d4 Merge pull request containerd#1433 from Random-Liu/fix-with-user-id
410bcea WithUserID should not return error when /etc/passwd doesn't exist.
360e46d Merge pull request containerd#1429 from dmcgowan/client-use-root-path
44e266b Use RootPath for resolving path inside of an image
e4a77fc Merge pull request containerd#1425 from Random-Liu/add-with-user-id
bb9e2bf Add WithUserID which gets uid and gid from image's /etc/passwd.
ab1968d Merge pull request containerd#1427 from crosbymichael/states
fb427da Merge pull request containerd#1424 from crosbymichael/load-exec
1a77db1 Merge pull request containerd#1423 from crosbymichael/events
9674970 Add procesStates for shim processes
34c25e0 Use golang 1.9 on AppVeyor CI
77b98f0 Use golang 1.9 on Travis CI
b3303b5 Add LoadProcess api to Task
a6ce1ef Merge pull request containerd#1413 from crosbymichael/user-opts
2052b76 Change WithSpec to take SpecOpts
421c607 Add Events client method
5c7f671 Add libcontainer/user package for passwd parsing
f66f0fb Update windows SpecOpts in tests
f436f4c Add WithUsername spec opt
c601606 Move spec generation to Container Create
fa14f2e Add context and client to SpecOpts
ba69f5d Add WithUserIDs SpecOpt

v1.0.0-alpha6

Toggle v1.0.0-alpha6's commit message

Verified

This tag was signed with the committer’s verified signature.
dmcgowan Derek McGowan
containerd 1.0.0-alpha6

The seventh alpha release brings further stability and testing to containerd.
This release mostly contains fixes and clean ups on the client side along with
a few bug fixes on the daemon side. There are no API changes or need to update
dependencies with this release. See changes for the full list of fixes.

Please download and test this version. Report issues at
https://github.com/containerd/containerd/issues.

Release Process

The release process and versioning guarantees have been laid out in
[RELEASES.md](RELEASES.md). It identifies the release process,
versioning, branching, support horizon and backporting processes for
containerd.

Contributors

A special thanks to the contributors of this release:

Akihiro Suda
Brian Goff
Christopher Jones
Derek McGowan
Kenfe-Mickaël Laventure
Kunal Kushwaha
Michael Crosby
Phil Estes
Stephen Day
Zhang Wei

Changes

f052817 Merge pull request containerd#1420 from dmcgowan/alpha6
b14c2cc release: updated version to alpha6
709c37b Merge pull request containerd#1419 from dmcgowan/walk-skip-not-found
0daa593 Merge pull request containerd#1393 from dmcgowan/multiple-differs
98960f0 Skip items removed during walk
05cdc4f Merge pull request containerd#1417 from mlaventure/delete-exitedat
7f6c487 go-client: Return an ExitStatus struct when calling process.Delete()
12b43a5 Merge pull request containerd#1416 from tophj-ibm/fix-race-testflags
e6ab556 Only use race flag on amd64
60fea11 Merge pull request containerd#1400 from dmcgowan/content-local-writer-locks
311ea33 Merge pull request containerd#1414 from dmcgowan/btrfs-test-fail-2
3bcb6f8 Merge pull request containerd#1415 from kunalkushwaha/minor-fmt-fix
8f7086a unused fmt package
96a75ab Move detach flags to platform specific
f74cea7 Update basic test to allow being run in parallel on client
750771f Remove snapshot test suite as a parallel test runner
5027341 Update loopback to return error
4028add Merge pull request containerd#1405 from crosbymichael/fifos
4015f73 Merge pull request containerd#1410 from mlaventure/errdegs-stack
0e1f6c5 Merge pull request containerd#1394 from crosbymichael/test-io
fc535ef windows: Close IO if process in created state
01b217f Merge pull request containerd#1411 from estesp/snapshotter-cli-default
4712ed5 Fix snapshot ctr command to use default
a8b21da Add FifoIO to expose fifos directly to client
1b470c1 Remove Stdio usage in tests
4de2199 errdefs: Provide a valid stack in all cases
1046064 Merge pull request containerd#1392 from cpuguy83/wait_async
6ab99ed Convert `ExitStatus` to use fn to get details
0648ec3 Merge pull request containerd#1388 from kunalkushwaha/makefile
026896a Make Wait() async
1c98958 Breaking Makefile into platform specific files
89da512 Merge pull request containerd#1377 from crosbymichael/exec-delete
c710662 Ensure content writer only unlocks resource once
853fd15 Merge pull request containerd#1407 from crosbymichael/cgroups-bump
bf82de3 Allow exec process to be deleted in created state
77836a6 Update cgroups to e6d1aa8
873a346 Merge pull request containerd#1366 from stevvooe/containers-metadata-tests
3e81b09 Merge pull request containerd#1406 from mlaventure/add-exitedat-to-process
8a1b03e Add ExitedAt to process proto definition
4c5f824 Merge pull request containerd#1404 from WeiZhang555/add-newline
14fe2d5 Add newline char to avoid mix of logs
677257f service/snapshotter: move default to client
783ed05 metadata: ensure correct updates on Container
8095244 Merge pull request containerd#1396 from crosbymichael/reverts
4950c26 Revert "Wait for client side copy goroutines to start"
e3696cf Merge pull request containerd#1395 from dmcgowan/content-testsuite-cleanup
4211953 Close writers in content test suite
2fa366d Add support for multiple differs
567c275 Merge pull request containerd#1391 from crosbymichael/stdin-block
cc3b7a5 Revert part of 06dc87a
0c10ce0 Merge pull request containerd#1390 from AkihiroSuda/fix-typo
5f7c527 client: Resoveconf -> Resolvconf

v1.0.0-alpha5

Toggle v1.0.0-alpha5's commit message

Verified

This tag was signed with the committer’s verified signature.
stevvooe Stephen Day
containerd 1.0.0-alpha5

Another release brings further stability. Several quality fixes are
included in this release, which include a fix to memory leaks, race
conditions and error handling. The documentation has also been rounded
out.

Please download the binaries provided and let the bears get at 'em.
Please report issues through
https://github.com/containerd/containerd/issues. Your feedback is
extremely important at this stage, so please don't be bashful about
letting us know what you think.

Upgrading

The `runc` version has been upgrade. Make sure to update your `runc` to
the version called out in [RUNC.md](RUNC.md). No other changes should
have to take place on upgrade.

Release Process

The release process and versioning guarantees have been laid out in
[RELEASES.md](RELEASES.md). It identifies the release process,
versioning, branching, support horizon and backporting processes for
containerd.

If there are components missing or questions, please report them in an
issue or propose changes via a PR.

Stress Tool

The `containerd-stress` tool can now be used to put `containerd` through
its paces. Fire it at your instance today!

Contributors

A special thanks to the contrubutors of this release:

Abhinandan Prativadi
Akihiro Suda
Christopher Jones
Derek McGowan
Ian Campbell
Jess Valarezo
Kenfe-Mickaël Laventure
Lantao Liu
Michael Crosby
Phil Estes
Stephen J Day

Changes

b2ee0ab Merge pull request containerd#1387 from stevvooe/alpha5
a744550 release: prepare for 1.0.0-alpha5
0fd951c Merge pull request containerd#1379 from crosbymichael/profile
a29c6c7 Merge pull request containerd#1386 from
Random-Liu/task-service-grpc-error
f79981c Convert errors returned by task service to errdefs error.
0a18801 Merge pull request containerd#1382 from stevvooe/update-api-descriptors
15f5672 Merge pull request containerd#1369 from AkihiroSuda/ctr-snapshot-view
c890ca9 Merge pull request containerd#1383 from stevvooe/document-config-function
2a1f7b6 images: document config utility function
8ae20a1 api: update protobuf descriptors
e800f08 Change oom metric to const
ed1c404 Merge pull request containerd#1372 from jessvalarezo/d4m-gettingstarted
d8abb61 Update building doc for Docker for Mac users
89daacf Merge pull request containerd#1370 from crosbymichael/daemon-lock
240a7be Merge pull request containerd#1371 from dmcgowan/btrfs-test-errors
06dc87a Wait for client side copy goroutines to start
bfd62ce Defer unlock for testing daemon
73ac66e Merge pull request containerd#1352 from ijc/userns
0e28f2c Update mount creation to only use btrfs subvolume id
ebafab4 correct container "/" ownership with userns
e03ecd3 ctr: add `ctr snapshot view`
4703b99 Merge pull request containerd#1364 from
AkihiroSuda/fix-ctr-snapshot-commit
62cebf9 Merge pull request containerd#1365 from AkihiroSuda/stress
f8b1f4f stress -> containerd-stress
ca35222 ctr: fix `ctr snapshot commit`
a64399a Merge pull request containerd#1341 from
mlaventure/enable-test-parallelism
72159bf Merge pull request containerd#1325 from dmcgowan/diffid-labels
2abaf6e Fix possible deadlock in WithProcessKill
b02e9a8 Fix TestContainerNoBinaryExists on windows
104a808 Add integration-parallel to Travis & AppVeyor CIs
eb0970b Mark relevant tests as elligible for parallelism
938810e Merge pull request containerd#1311 from abhinandanpb/client_int
ca6b463 Merge pull request containerd#1343 from Random-Liu/change-io-to-interface
dbb63b6 Merge pull request containerd#1346 from stevvooe/disallow-runtime-update
8e2c95f Change IO to interface.
c288fbe Merge pull request containerd#1354 from crosbymichael/null-io
6a4a09d Merge pull request containerd#1351 from jessvalarezo/check-nil-spec
eb58eca Add null io option
cf1b593 Merge pull request containerd#1348 from AkihiroSuda/remove-unused
e5cf147 metadata: container spec nil check
77035a6 Merge pull request containerd#1345 from crosbymichael/gorunc
4e23377 rootfs: remove unused functions
ca9dec3 Merge pull request containerd#1329 from tophj-ibm/change-test-image
7a5d592 Exposing helpers to access internal structure
a3801b7 Merge pull request containerd#1344 from crosbymichael/ops
d768941 metadata: disallow changing the runtime of an existing container
da34812 Update differ to support compressed archives
fa3454e Update go-runc to b85ac701de5065a66918203dd18f05
dee8dc2 Add support for content labels on commit
c4387a1 Add content test suite run to client
b1eb110 Add section for `state` dir
edc51c8 Merge pull request containerd#1342 from mlaventure/is-serving-failfast
f2ee71c Merge pull request containerd#1339 from dmcgowan/refactor-oci-package
fed5ad4 Update tests to properly use IsServing
7de9ca5 Disable FailFast on client.IsServing()
661bcd3 Change test image based on platform
a437d14 Remove oci package
a6be9f5 Merge pull request containerd#1338 from mlaventure/client-reconnect-fix
5f36ac2 Add test to ensure we can access tasks on restart
e661be6 Fix failure to connect to shim on daemon restart
7ac351c Share Dialer and DialAddress between client and shim
587a811 Check credentials when connecting to shim
24aac33 Update unix dialer to keep retrying if socket is gone
bb44324 Merge pull request containerd#1331 from crosbymichael/stress
f27f8dd Merge pull request containerd#1320 from crosbymichael/cr-race
c7f04ce Merge pull request containerd#1310 from stevvooe/releases
9827b4c RELEASES: define the release process
d513dd2 Fix race with task checkpoint
fd75f1e Add stress test tool

v1.0.0-alpha4

Toggle v1.0.0-alpha4's commit message

Verified

This tag was signed with the committer’s verified signature.
stevvooe Stephen Day
containerd 1.0.0-alpha4

With this weeks release, we are starting to become more stable. Many
fixes related to rounding out core features and usability. We have our
first documentation available, oriented towards getting started with
containerd.

This is the first release where we have no backwards incompatible
changes to the GRPC API. There are some changes to the metadata storage
layout, so please check upgrading for details.

Please download the binaries provided and let the bears get at 'em.
Please report issues through
https://github.com/containerd/containerd/issues. Your feedback is
extremely important at this stage, so please don't be bashful about
letting us know what you think.

Upgrading

With respect to the GRPC API, there have only been additions to add
labels to snapshot. All existing integrations should continue working
with this release without changes.

The storage format has had some changes to store labels and runc state
has been relocated. Removing the contents of `/var/lib/containerd` is
recommend before running this new version. This will cause loss of
containers and image data. Let us know if this is a problem.

Documentation

We now have guides for [Getting
Started](https://github.com/containerd/containerd/blob/master/docs/getting-started.md),
[Operations](https://github.com/containerd/containerd/blob/master/docs/ops.md)
and [Namespacing and
Multi-tenancy](https://github.com/containerd/containerd/blob/master/docs/namespaces.md).
Please take some time to read them and get to know containerd.

The [godoc](https://godoc.org/github.com/containerd/containerd) has also
been updated with new descriptions.

Snapshot Labels

Snapshots can now be decorated with labels on `Prepare`, `Commit` and
`Update`. This is useful to associated snapshots with various components
in containerd.

Snapshot Command

The arguments naming and order now correctly match the `Snapshotter`
interface. Ordering of arguments may be affected. Make sure to use the
help before using these commands if you are unsure.

State Directory

The runtime state directory has been brought back. Previously, this
stored ephemeral container data associated with running containers. It
was removed because checkpoint data was much too large for `tmpfs` used
for the the `/run` directory. The checkpoint data is now in the main
containerd directory, while the ephemeral data resides in
`/run/containerd`. Access performance for `runc` should increase and old
runtime data should be cleaned up on reboot with this change.

API stability

Tooling for GRPC API stability has been added. When protobufs are
built, the descriptors for the entire symbol set that make up the API
are aggregated into a single file. Changes that affect the API will show
in these files, making it much easier to identify differences that
aren't apparent in proto files. At each minor release, these files will
be snapshotted.

Go API Additions

While there are several changes to the Go API, a few highlights include
an option to kill the process process on delete, `WithProcessKill` and
the ability to set the cgroup path and hostname options on the the runc
specification.

Solaris Build Support

The project now builds on solaris.

Contributors

A special thanks to all those that contributed to this release:

Akihiro Suda
Edward Pilatowicz
Kenfe-Mickaël Laventure
Lantao Liu
Michael Crosby
Phil Estes
Stephen J Day
Tobias Klauser
Yanqiang Miao

Changes

56d499e Merge pull request containerd#1335 from stevvooe/alpha4
875672e release: prepare for 1.0.0-alpha4
70c2d36 Merge pull request containerd#1328 from crosbymichael/ctr-runtime
a888587 Set runtime on container from ctr
258c719 Merge pull request containerd#1327 from estesp/namespace-doc-fixes
f90fa4e Minor updates to the namespaces doc
7ddd6ad Merge pull request containerd#1316 from crosbymichael/namespaces
7a40eaa Add namespace doc for containerd
921b830 Merge pull request containerd#1322 from stevvooe/easy-install
17d7a5c Merge pull request containerd#1321 from
stevvooe/refactor-snapshot-commands
6795406 Merge pull request containerd#1326 from Random-Liu/fix-typo
debd07f Minor typo fix.
7717eb6 Makefile: simplify installation from tar file
cea1d33 cmd/snapshot: follow conventions from Snapshotter
e6ba48f Merge pull request containerd#1257 from stevvooe/content-changes
8be340e content: remove Provider.Reader
f3ff1e2 Merge pull request containerd#1315 from crosbymichael/lchown
1f6b10b Use lchown when remapping rootfs
ef344c1 Merge pull request containerd#1312 from tklauser/use-x-sys
f2bed8f Use CopyFileRange from golang.org/x/sys/unix
4a6a2b9 Switch from package syscall to golang.org/x/sys
29a4dd7 Merge pull request containerd#1276 from dmcgowan/snapshot
3D11
-labels
ee027d4 Merge pull request containerd#1309 from crosbymichael/opts-doc
67572b6 Merge pull request containerd#1307 from crosbymichael/spec-opts
bed8df1 Add cgroup paths and hostname spec opts
1907116 Add doc for extending client opts
1f04edd Merge pull request containerd#1306 from estesp/error-no-container
8ebbd1c Delete command should require at least one container ID
42c1c9a Merge pull request containerd#1301 from crosbymichael/task-force
d8c075a Add WithProcessKill DeleteOpt
d4be982 Merge pull request containerd#1303 from estesp/cleanup-workdir
a2add74 Merge pull request containerd#1302 from dmcgowan/fix-blob-by-tag-attempt
c8cd3d9 Fix bundle removal with the reappearance of state dir
2b0aa29 Avoid attemping blobs endpoint when digest is not provided
738c22a Merge pull request containerd#1299 from crosbymichael/ctr
cdd03c9 Merge pull request containerd#1300 from crosbymichael/ops
2fb2168 Merge pull request containerd#1224 from epilatow/solaris.cc.20170719.0
56c1f5c Add solaris build support
00288bc Update ctr containers and tasks command
a543d05 Add ops guide for containerd
f2ba04f Set subreaper true in default linux config
e9b86af Merge pull request containerd#1283 from mlaventure/resurrect-state-dir
fc94108 Merge pull request containerd#1294 from crosbymichael/gettingstarted
b20fd92 Merge pull request containerd#1298 from miaoyq/add-start-cmd
60f7eee Merge pull request containerd#1275 from mlaventure/travis-ineffassign
a88397e Merge pull request containerd#1296 from stevvooe/api-stability-tooling
d6c171e Add getting started guide
ac72bba Add `start` subcommand in `ctr`.
a73eb2b api: generate merged descriptors when building protobufs
e8625bc Merge pull request containerd#1295 from mlaventure/separate-client-opts
de7afd8 Merge pull request containerd#1293 from dmcgowan/fix-snapshotter-run
56b18c1 Move client's options to separate files
5a74a46 Fix bug where snapshots got created with wrong snapshotter
6c1a04f Merge pull request containerd#1292 from stevvooe/cleanup-protobuf-imports
bf91354 Merge pull request containerd#1290 from Random-Liu/cleanup-io-properly
d986a18 api: cleanup protobuf imports
73735c4 Cleanup FIFOs on error.
bb39d1d Merge pull request containerd#1289 from mlaventure/add-missing-return
308ebe7 Add missing return when failing to write tar header
99315f8 Merge pull request containerd#1285 from crosbymichael/client-godoc
bce8fe7 Merge pull request containerd#1288 from
mlaventure/dont-touch-grpclog-in-client
2eaf911 Merge pull request containerd#1279 from Random-Liu/cancel-context-on-wait
16f6e09 Do not touch grpc logger from within the packages
8fae8a5 Cancel event subscribe context in Wait.
0a85f6e Update godoc for client package
7e00633 Merge pull request containerd#1282 from
AkihiroSuda/dismiss-progressbar-on-debug
ff15d18 Merge pull request containerd#1287 from crosbymichael/exitstatus
0e97bdf Merge pull request containerd#1284 from mlaventure/use-tmp-console-socket
fdc5a47 Gate task.Wait status check on checkpoints
8700e23 Use root dir when storing temporary checkpoint data
9f13b41 Return exit status from Wait of stopped process
fbe4751 Use a temp socket to receive the console from runc
642620c Resurrect State directory
829845d Fix ineffassign warnings
b45fb98 ctr: dismiss progressbar on --debug
534a137 vendor: update github.com/containerd/console
949d490 vendor: update golang.org/x/sys
47637f2 vendor: update github.com/containerd/continuity
be36d26 Update windows snapshotter
24783b9 Add snapshot test suite for update
efca0c5 Update GRPC api to support labels and snapshot updates
55c3711 Update snapshot metadata to support labels
7d3a1e7 Add snapshot labels
ad72036 Refactor common boltdb fields to subpackage
7893300 Invoke ineffassign during CI
9526f53 Remove Windows cross compile from Travis

v1.0.0-alpha3

Toggle v1.0.0-alpha3's commit message

Verified

This tag was signed with the committer’s verified signature.
stevvooe Stephen Day
containerd 1.0.0-alpha3

Another released alpha brings us closer to a stable release! This
release contains more changes to the event system, cleanup of the
process execution model and several bug fixes.

Please download the binaries provided and light them on fire. Please
report issues through https://github.com/containerd/containerd/issues.
Your feedback is extremely important at this stage, so please don't be
bashful about letting us know what you think.

Upgrading

With changes to the `Tasks` service and the `Events` service, it is
recommend to full upgrade containerd and any constituent shim processes.
Running with previous versions may effect task startup and event
distribution from the shim.

These changes were done to ensure API consistency.

No changes to the `ctr` tool or storage formats should affect
compatibility.

If there are  changes that affecting compatibility that weren't listed
here, please file an issue.

Process Exec

More work has been undertaken to merge the behavior of container tasks
and exec processes. The `Task` object no longer exists. The user now
interacts with only processes. The main container processes is started
through `Start` method, while processes can be added to the container
with `Exec`.

Event Filters

Events now support full filtering. Filters act on events at publish
time, per subscriber, allowing a subscriber to receive only relevant
events. The same filtering syntax and behavior used on other APIs has
been added here except that we autogenerate the available fields using
protobuf definitions.

The following example will match all events having to do with tasks in
the `bb` namespace:

```console
$ ctr events 'topic~=/tasks/.+,namespace==bb'
```

Event specific data can even be selected upon. The following example
will match *any* event that has a `container_id` field with the value
`mycontainer`.

```console
$ ctr events 'event.container_id==mycontainer'
```

The above will actually decode event data, if known to containerd, and
match regardless of the particular type, allowing this to act on
unrelated event types without changing syntax.

Events API

The `Publish` method no longer takes an `Envelope` message as an
argument and a new `Forward` method has been added. While this change
seems superficial, it actually has the effect of avoiding a
serialization round trip when forwarding events from other backends,
such as container shims.

This change is not backwards compatible with previous alpha releases.

Unmanaged Root Filesystem

Container's can now be run without snapshots using the `ctr` tool. If
the `--rootfs` flag is provided, the positional argument for image will
now be interpreted as a filesystem path. The following is an example:

```console
ctr run --rootfs --tty /my/root/fs mycontainer
```

Shim CGroup

Container shims may not be started in a specific cgroup with a parameter
passed at task creation time.

Changes

0fa7658 Merge pull request containerd#1280 from stevvooe/alpha3
916254e release: prepare for 1.0.0-alpha3
c8b4e4d Merge pull request containerd#1277 from crosbymichael/tty-block
ee2dea2 Merge pull request containerd#1278 from stevvooe/update-oci-spec
bf4838e Shutdown console after process exits
610e1a2 vendor: update OCI image-spec dependency
8b0a040 Merge pull request containerd#1268 from crosbymichael/exec-state
f945cdc Update windows locking code
d18af86 Update for epoll console handling
e827ada Update windows with exec create/start actions
83b27db Check status for stopped processes before wait
cd00216 Rename TaskStatus to Status
504033e Add Get of task and process state
2974e48 Add no-criu flag for running tests
9f08965 Change Exited/Status to SetExited/ExitStatus
a2a3451 Implement Exec + Start for tasks service
63878d1 Add create/start to exec processes in shim
2533bfe Merge pull request containerd#1271 from stevvooe/autogenerate-fieldpaths
c857ba2 events: autogenerate fieldpath filters
bb7b41a Merge pull request containerd#1269 from stevvooe/plumb-correct-interfaces
7ed88c1 linux/shim: use events.Publisher interface
92d737f Merge pull request containerd#1259 from dqminh/epoll-io
834f55d Merge pull request containerd#1264 from stevvooe/event-filters
af2d7f0 events: initial support for filters
4ba6d8e Merge pull request containerd#1267 from crosbymichael/bump-runc
2386062 Update runc to e775f0fba3ea329b8b766451c892c41a3d4
ce07fa0 Merge pull request containerd#1263 from crosbymichael/no-shim-events
f86d5ae Merge pull request containerd#1262 from dmcgowan/more-snapshot-tests
7b6ff6e event forwarding without shim
8e53465 use epoll to manage console i/o in linux
d28126f Handle kernel related ci failure
a7c44f0 Add snapshot test cases for former issues
20fa6ae Merge pull request containerd#1182 from AkihiroSuda/rootfs
183a6ca Merge pull request containerd#1013 from AkihiroSuda/oci-export
de2671b bump vendor for containerd/console update
b518f11 client: add Import() and Export() for importing/exporting image
in OCI format
752d253 client, ctr: allow specifying unmanaged rootfs dir
1a054c6 Merge pull request containerd#1134 from crosbymichael/shim-cgroup
4e299a9 Merge pull request containerd#1254 from stevvooe/close-channel
1679727 Merge pull request containerd#1230 from
dmcgowan/snapshot-client-testsuite
fdea1ce Merge pull request containerd#1256 from
dmcgowan/fix-ingest-file-not-exists
afe0ce3 Merge pull request containerd#1255 from stevvooe/multi-delete
585f7d6 Skip test on windows
ccbb035 Convert file not exists to status not found
83ac874 cmd/ctr: allow deleting multiple containers at once
a1f7509 events: close channel explicitly
98a86c4 Add ShimCgroup path for placing shim in cgroup
d4349ef Merge pull request containerd#1251 from crosbymichael/apparmor
a0a5cc7 Add user namespace support to client
c3872b8 Move RootPath to fs package
da5c72c Run snapshot test suite for metadata and client

v1.0.0-alpha2

Toggle v1.0.0-alpha2's commit message

Verified

This tag was signed with the committer’s verified signature.
stevvooe Stephen Day
containerd 1.0.0-alpha2

With another week comes another alpha release. With this release, we have
focused on increasing overall quality and consistency across the code base.
Several new tests have been added, along with attention to refactoring in
various subsystems to match current needs.

Unfortunately, we had to break some interfaces to achieve these goals. See the
section on Upgrading for details.

Again, please download the binaries provided and kick the tires. Please report
issues through the https://github.com/containerd/containerd/issues. Your
feedback is extremely important at this stage, so please don't be bashful about
letting us know what you think.

Upgrading

Some backwards incompatible changes have been made to the GRPC API and the
snapshotter storage format. See the sections on Events and Snapshotters for more details.

To upgrade, you'll need to clear out the containerd root, which defaults to
`/var/lib/containerd/`. All containers, images and metadata will be lost, if
you do this. If this is a problem, please reach out and we can work out a
migration script. If such a change was done from a production release, a
migration script would have been provided.

Also, make sure to update your clients to the latest version that picks up the
new definition for the events service. This change would not be accepted in a
full released version.

Events

After dealing with a few deadlock issues, the events subsystem has been
completely refactored to match the existing use cases. Specifically, a lot of
cruft around the original design, based on Go's context package has been
removed. The use of go-events has been cleaned up to ensure correct
subscription and distribution of events, in addition to ensuring correct
teardown.

The nomenclature has also been updated to better reflect familiar "publish" and
"subscribe" models. If you closely examine containerd#1246, you'll see that the usage of
the `Publisher` interface is much simpler than the `WithTopic` approach. This
should allow us to add events to more subsystems.

The GRPC API for the Events service was updated to bring the service inline
with these changes. Post and Stream have been replaced with Publish and
Subscribe, respectively. Clients will have to be updated to use the new API
endpoints.

After these changes, adding proper filter support should be more
straightforward.

See a615a6f for details.

Snapshotter

Previously, snapshots had an attribute `Readonly` that was only valid for
`Active` snapshots. After looking at various conditionals, snapshot behavior
and usage, we found that these snapshots were better represented as a discrete
type, known as a "view snapshot".

Unfortunately, we've add to break compatibility with the existing storage
format to correctly enumerate the snapshot types. Users will have to remove the
old storage and start from the scratch.

See 863784f for details.

Tar

Tars with duplicated symlinks in disparate layers are now handled correctly.

See afec478 for details.

- Windows support
- snapshot command now supports "commit"
- More testing

Windows Support

Progress on supporting windows has received a major boost. Windows integration
has been refactored to more closely follow existing changes throughout
containerd.

Commands

A new command has been added to `ctr snapshot` to allow committing of active
snapshots. The help output has been reordered to be alphabetical.

Changes

856b038 Merge pull request containerd#1253 from stevvooe/alpha2
997a1b5 release: prepare for v1.0.0-alpha2
b84817a Merge pull request containerd#1246 from stevvooe/events-refactor
0362328 Merge pull request containerd#1248 from dmcgowan/snapshot-storage-kind-test
366ebfd Merge pull request containerd#1249 from dmcgowan/client-rename-with-rootfs
c7cc6ad Add root mounts to task info
73bec3e client: rename rootfs to snapshot in "With" functions
a615a6f events: refactor event distribution
6012f50 Update storage kind test
9434bf9 Merge pull request containerd#1236 from stevvooe/snapshot-column-kind
050c7d2 Merge pull request containerd#1247 from darrenstahlmsft/revendorMicrosoft
cec6331 Revendor hcsshim and go-winio
1251413 Merge pull request containerd#1245 from dmcgowan/archive-more-tar-fixes
afec478 Update tar path resolution
863784f snapshot: replace "readonly" with View snapshot type
a9ab45f Merge pull request containerd#1241 from stevvooe/allow-resumable-upload
bfe747d Merge pull request containerd#1242 from mlaventure/appveyor-no-coverage-only-master
f5bd8bb Merge pull request containerd#1243 from crosbymichael/reg-diff-urls
a3769f8 Panic when registering the same type but diff urls
219c3e3 Disable coverage tests on Windows CI
2eaac71 Only run Windows CI on master branch
d0e396a metadata: defer ingest lock to backend
c52523c Merge pull request containerd#1238 from crosbymichael/reg-specs
f98b297 Merge pull request containerd#1239 from crosbymichael/roadmap
ba577f7 Merge pull request containerd#1227 from tossmilestone/fix-comment-typo
becf001 Replace roadmap with link to milestones
b7e0101 Merge pull request containerd#1228 from dmcgowan/content-testsuite
228f7d4 Register spec types in client
8e1591b Call upload status tests
bb3c9c5 Rename content/fs to content/local
938f318 Add content test suite
4423652 Move content store implementation
9b53b8b Merge pull request containerd#1237 from WeiZhang555/remove-hardcoded-str
adeec483 Replace hardcoded debug address with const var
856c351 Improve the comment
4118a25 Merge pull request containerd#1234 from dmcgowan/update-logrus
1491293 Update dependencies for logrus rename
1d2a079 update to github.com/sirupsen/logrus v1.0.0
dd7642f Merge pull request containerd#1196 from mlaventure/update-windows-runtime
a2df6d1 Merge pull request containerd#1141 from ijc/rootfsPropagation
0f6959a Merge pull request containerd#1160 from darkowlzz/1082-snapshot-commit
a621185 Merge pull request containerd#1179 from AkihiroSuda/makefile-i
aeab935 Fix vet errors
eb4e0b5 Add AppVeyor configuration
e3fcde6 Fix deadlock in events service
5ea5fbd Fix deadlock in TestContainerExec if `process.Wait()` fails
d4e780d Ensure tasks are started when running tests
3df07cb Cancel io if task is deleted without being started
8e12d1f ctr: Allow deleting a container in the Created state
4d14bfd go-winio: Don't increment the wait count if the file is closing
7f786cf go-winio: Prevent Data Race when accessing closing
db1b0a2 Update go-winio to v0.4.3
651aaff Update integration test to support windows
79d04de Make integration a bit more verbose
b2d9db2 windows: Use runtime event topic constants
5c8e0ef windows: Add servicing code
4bb9ac2 Sort ctr commands alphabetically
d0166c4 Register content command with ctr
d10c62d Wrap typeurl returned errors with the provided url/type
5fd004a Update vendoring
546f045 Update errdefs.ErrInvalidArgument message
674b460 Move typeurl registrations to runtime package
a4aaa09 Update ctr so it works again on windows
61fbd23 windows: Refactor whole code
fc82e14 windows: Move runtime options out of the spec field
acf863a windows: Rely on the OCI specs instead of custom type
bff040d windows: Ensure pids are not reused if active
d42cb88 Loop umount'ing rootfs until there are no more mounts
d63d2ec Simplify mount cleanup on failure by using defer
300f083 Cleanup mounts if we fail to mount one element of rootfs
8b36511 containerd-shim: Do not remount root MS_SLAVE
912ddba cmd/ctr: add commit command to snapshot
b6dbbd3 Fix typo error in Protobuild.toml
7822819 .travis.yml: run go build -i
f72e97d Makefile: `go build -i` -> `go build`
0