Commit Graph

98 Commits

Author SHA1 Message Date
Michael Crosby
96e2f30250
Merge pull request #1759 from dnephin/single-integration-target
Remove duplicate integration target
2017-11-21 10:57:22 -05:00
Michael Crosby
434f0e679f Compile shim without cgo for size and mem usage
This compiles the shim without cgo and statically which ends up to have
lower memory usage and binary size.  buildmode=pie cannot be used
without cgo.

ref: https://github.com/golang/go/issues/17789#issuecomment-258542220

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-17 17:32:49 -05:00
Daniel Nephin
4df7075a74 Remove integration-parallel target
Always run in parallel. The old target can be emulated with

TESTFLAGS_PARALLEL=1 make integration

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-11-16 11:15:33 -05:00
Daniel Nephin
d8cf30e42e Reduce number of blobs in TestWalkBlobs
Reduce runtime from 170s to 3s

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-11-14 17:51:44 -05:00
Daniel Nephin
b28e1eee42 Fix coverage report
Previously the coverage.txt file was never populated

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-11-14 12:47:48 -05:00
Michael Crosby
01cdf330bb
Merge pull request #1716 from crosbymichael/strip
Strip binaries in Makefile
2017-11-07 10:44:47 -05:00
Daniel Nephin
f9e969bac8 Use gometalinter for linting
gometalinter runs linters in parallel for faster linting
it provides a uniform way of whitelisting lines using // nolint or the exclude
field in the config

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-11-03 18:02:27 -04:00
Michael Crosby
a045575998 Strip binaries in Makefile
This will make the binaries around 8MB smaller.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-11-03 11:44:41 -04:00
Michael Crosby
b8c4d85564 Add buildmode=pie to makefile
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-10-26 16:25:30 -04:00
Michael Crosby
769d9e16bd add release tool to generate releases
This tool makes our standard release template easy to generate.  It also
adds a few features like marking changed dependnencies for packages and
others to know what updated from the last release.

usage:
`containerd-release -n releases/v1.0.0-beta.2.toml`

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-10-11 18:51:13 -04:00
Stephen J Day
363d692f35
api/services: define the introspection API
After several requests for information about platform support,
configuration introspection and feature switches, we now have a solution
that should work in all these use cases. The Introspection API hooks
into the plugin subsystem registration process. During registration,
plugins declare several pieces of information, allowing clients to
discover the cababilities and support that a containerd instance
provides, including whether or not it loaded with an error.

To allow symmetrical error reporting, the `google/rpc.Status` protobuf
definitions have been brought in from the googleapis project.
Unfortunately, we had to generate these in place to match our protobuf
system.

Once we like this design, we can add an implementation to integrate it
directly with the plugin system.

Enjoy!

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-10-10 16:40:47 -07:00
Stephen J Day
157cfb1ad2
api, linux/runcopts: ensure output is current
Ensure that the descriptors are re-generated on the CI and block merges
that don't include updates. We also enable the `check-protos` check as
part of this process. The installation process for protobufs has been
fixed to support protobuild.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-09-06 14:51:53 -07:00
Kenfe-Mickael Laventure
700120c066
Don't build binaries when running make vet
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-08-29 08:27:44 -07:00
Kunal Kushwaha
1c989588c0 Breaking Makefile into platform specific files
Fixed #1270

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2017-08-22 13:57:12 +09:00
Akihiro Suda
f8b1f4f6dc stress -> containerd-stress
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-08-15 14:54:20 +00:00
Kenfe-Mickael Laventure
eb0970bbd1
Mark relevant tests as elligible for parallelism
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-08-14 14:43:43 -07:00
Michael Crosby
fd75f1e52f Add stress test tool
This adds a `stress` binary to help stress test containerd.  It is
different from a benchmarking tool as it only gives a simple summary at
the end.

It is built to run long, multi hour/day stress tests across builds of
containerd.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-08-10 15:46:10 -04:00
Stephen J Day
7717eb6feb
Makefile: simplify installation from tar file
By moving the binaries to be rooted at `bin/` in the tar file,
installation can be done from a tar file in one fell swoop:

```console
$ make release
$ sudo tar -C /usr/local -xvf releases/containerd-1.0.0-alpha3-72-ge6ba48f2.m.linux-amd64.tar.gz
```

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-08-09 18:35:29 -07:00
Edward Pilatowicz
56c1f5c184 Add solaris build support
Signed-off-by: Edward Pilatowicz <edward.pilatowicz@oracle.com>
2017-08-07 12:40:21 -07:00
Stephen Day
dd7642fc1c Merge pull request #1196 from mlaventure/update-windows-runtime
Update windows runtime
2017-07-21 15:12:53 -07:00
Derek McGowan
a621185855 Merge pull request #1179 from AkihiroSuda/makefile-i
Makefile: `go build -i` -> `go build`
2017-07-21 10:02:22 -07:00
Kenfe-Mickael Laventure
eb4e0b5fb1
Add AppVeyor configuration
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-07-21 18:19:51 +02:00
Kenfe-Mickael Laventure
79d04ded4e
Make integration a bit more verbose
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-07-21 18:19:51 +02:00
Stephen J Day
88656970c5
Makefile: add release target
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-07-19 16:03:43 -07:00
Stephen J Day
e3a07b5673
Makefile: no need to build protos binary
For the standard make target, there is no need to build the protoc
plugin binary. This can be built automatically in response to the `make
protos` target.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-07-18 17:16:03 -07:00
Stephen J Day
98f6deb50e cmd/dist: completely remove dist command
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-07-14 15:48:39 -07:00
Stephen J Day
6c925924db
protobuild: replace protobuild command
To make the protobuild tool broadly useful, it has been broken out into
a separate project. This PR replaces the command with a configuration
file.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-07-14 14:10:06 -07:00
Akihiro Suda
f72e97dbf8 Makefile: go build -i -> go build
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-07-13 10:31:49 +00:00
Akihiro Suda
eeb74d4e23 *_test.go: fix test conditions
- add `testutil.RequiresRoot()` to TestMain
- moved `if testing.Short{ t.Skip() }` from each of the tests into a
common `newClient()`

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-06-30 04:00:59 +00:00
Akihiro Suda
2c293429f3 Makefile: fix INTEGRATION_PACKAGE
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-06-29 06:50:36 +00:00
Michael Crosby
bcb04540fa Merge pull request #1074 from stevvooe/whale-no-more
Makefile: replace whale with D
2017-06-23 11:08:27 -07:00
Michael Crosby
99160a7ac0 Merge pull request #854 from AkihiroSuda/lookup-mountinfo
mountinfo: add Lookup for ease of implementing snapshotters
2017-06-22 20:14:39 -07:00
Stephen J Day
e3f919f1d2
Makefile: replace whale with D
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-06-22 19:25:01 -07:00
Michael Crosby
268ab7c053 Benchmark container create and task start
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-15 10:43:59 -07:00
Akihiro Suda
0ab2227377 mount: add mount.Lookup for ease of implementing snapshotters
`func Lookup(dir string) (Info, error)` returns the mount
info that corresponds to the dir

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-06-06 09:27:53 +00:00
Michael Crosby
b3f891b09f Add integration tests for running containers
Add travis support for running integration tests with the client package
and go test framework

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-05-26 15:50:01 -07:00
Michael Crosby
d7af92e00c Move Mount into mount pkg
This moves both the Mount type and mountinfo into a single mount
package.

This also opens up the root of the repo to hold the containerd client
implementation.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-05-22 16:41:12 -07:00
Stephen J Day
cb68150a2f
protos: remove need for customname on ID fields
Credit to Aaron Lehmann for the implementation from SwarmKit.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-05-18 18:50:59 -07:00
Justin Cormack
508ff6e9c3 Allow adding additional ldflags and other build flags
For LinuxKit we build Go executables as static pie binaries, so
need to be able to add extra build and link flags.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-18 15:52:32 +01:00
Phil Estes
385f56b678
Add buildtag capability to Makefile
Add the ability to set buildtags and make note in README.md about the
btrfs build tag to turn off building the btrfs snapshot support.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2017-05-12 09:53:57 -05:00
Stephen Day
e4945164b0 Merge pull request #776 from AkihiroSuda/introspection
new service: version (WAS: introspection)
2017-05-11 16:49:16 -07:00
Michael Crosby
cc62edb4d6 Revert "Only build shim on Linux"
This reverts commit 296ad66d2d.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-05-11 10:56:49 -07:00
Akihiro Suda
2562aca1a3 new service: version
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-05-11 09:07:43 +00:00
Stephen Day
d553fab079 Merge pull request #822 from AkihiroSuda/fix-vet
fix `make vet` failures, and enable `make vet` on CI
2017-05-10 11:42:24 -07:00
Justin Cormack
296ad66d2d Only build shim on Linux
Currently does not build on any other platform, so add them in when
it builds.

With this Darwin builds without any errors.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-10 11:51:16 +01:00
Akihiro Suda
837205005f fix make vet failures, and enable make vet on CI
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-05-10 04:36:41 +00:00
Vincent Batts
ac28fee304
Makefile: fix sudo make install
When there isn't a `go` outside of the user's PATH

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-04-12 14:47:38 -04:00
Kenfe-Mickael Laventure
c5843b7615 Initial windows runtime work
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-04-07 09:20:44 -07:00
Michael Crosby
75705d26d1 Add DCO check to travis
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-03 15:28:07 -07:00
Michael Crosby
4f2b443a27 Rewrite imports for new github org
This rewrites the Go imports after switching to the new github org.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-03 14:05:44 -07:00