Commit Graph

135 Commits

Author SHA1 Message Date
3c4fcf6b7a Fix typos found across repository
Signed-off-by: Justas Brazauskas <brazauskasjustas@gmail.com>
Upstream-commit: 927b334ebfc786276a039e45ec097e71bf9a104c
Component: engine
2015-12-13 18:04:12 +02:00
33cb231c55 Fix broken Windows CI
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: c10311bc9a981f1fdea88ba5f488225eaeea2b69
Component: engine
2015-12-03 10:12:11 -08:00
c529eb3ce9 Consolidate time format for API
Consolidate all the API to same time format: RFC3339, and it will be
client's responsibility to present it in more user friendly way.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Upstream-commit: 9daca1222adabf3aeae97a2c4e5f4ed1bb8c15e1
Component: engine
2015-12-02 22:40:18 +08:00
5c2015e2d5 Merge pull request #17714 from mikedougherty/cs-release-fixes
Fixes for release scripts
Upstream-commit: ae1fadeb96c8f64f1eebe2b729c07048398de013
Component: engine
2015-11-23 19:47:10 -08:00
a265b48c9a Fixes for release scripts:
Add a flag to allow keeping bundles around (helps with CI)

Fix several problems in repo make targets

* quote DOCKER_EXPERIMENTAL variable
* pass-through arguments for gpg  provided to dpkg-sig are now quoted
  properly, so passphrases with shell-interpolated symbols can be used
* when determining deb suites, don't rely on 'origin' to be
  github.com/docker/docker

Fix some issues with deb repository creation from scratch

* Don't add empty components to the repository configuration as they
  will cause failure when generating.

Add old docker-engine-cs name to package conflicts

Signed-off-by: Mike Dougherty <mike.dougherty@docker.com>
Upstream-commit: a15b67b1affb2eac5365614e55703f43b6f73e9b
Component: engine
2015-11-23 17:15:54 -08:00
e1191bf537 Merge pull request #17459 from brahmaroutu/Power_Z_CI
Build and test Docker on IBM Power and Z using gccgo. Enable CI on Po…
Upstream-commit: 249b3a9479048bcec8da0666c2e224dddcfc3de8
Component: engine
2015-11-19 15:50:07 -08:00
acf57d6a06 Prevent the creation of "a.out" at the repo root
Our clever "gcc" invocations were creating a spurious "a.out" file at the root of the repo (which just happened to be in ".gitignore" so we didn't notice it sooner).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
Upstream-commit: 7f608c391dc62a712cf0d641698ed1cdc38a4e6c
Component: engine
2015-11-17 09:44:36 -08:00
19bcd2fd89 Remove "-linkmode external"
We're having to override it in so many places that it no longer seems worthwhile to bother.  On top of that, the reason we did it in the first place was for being able to compile devicemapper statically, which still works after this change (either due to other changes in the way we build, or improvements in Go itself).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
Upstream-commit: 927e1e98b7d37bf0593651d4b639e19277e775ca
Component: engine
2015-11-15 14:47:48 -08:00
42d5166bfc Merge pull request #17758 from rhatdan/dynbinary
Since default is dynbinary we should test with dynbinary
Upstream-commit: fb77b822ad2bb5d097ebd19a6ad4825b967a52ab
Component: engine
2015-11-14 10:54:03 -08:00
dd78f03b3f Since default is dynbinary we should test with dynbinary
Signed-off-by: Dan Walsh <dwalsh@redhat.com>
Upstream-commit: 0d47b74a7f3f42640d0714b651417415461b1b8c
Component: engine
2015-11-14 06:01:55 -05:00
cf05bcf15c Build and test Docker on IBM Power and Z using gccgo. Enable CI on Power and Z.
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
Upstream-commit: b1cc78b8f5d0c85c80c04a15fa791025ae7d22e6
Component: engine
2015-11-14 03:16:45 +00:00
c3491d2f3b add buildtag pkcs11 to experimental
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 141369457ffaeee79154f4b649525f5c8b3d5f2e
Component: engine
2015-11-13 13:20:49 -08:00
d41faf6fe1 Merge pull request #17699 from jfrazelle/update-release-script-to-new-process
update release script and release process
Upstream-commit: 8b9856dbd7a1981aaa76fcf0fc10b37d1141c9af
Component: engine
2015-11-12 09:51:36 -08:00
7fb35a1e4a hack: make.sh: remove not used function
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: dc41fff56eb85552c38716533b2cd982d6e02f40
Component: engine
2015-11-11 10:19:03 +01:00
2f262fa249 Merge pull request #17431 from vdemeester/hope-it-does-not-broke-everything-again
Another try at dockerversion placeholder for library import
Upstream-commit: 58b270c338e831ac6668a29788c72d202f9fc251
Component: engine
2015-11-09 13:15:50 -08:00
48001c30bb dockerversion placeholder for library import
- Add a *version* file placeholder.
- Update autogen and builds to use it and an autogen build flag

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 8054a303870b81eebe05e38261c1b68197b68558
Component: engine
2015-11-09 19:32:46 +01:00
e5d27b4461 Remove DOCKER_EXECDRIVER env
Since --exec-driver flag has been removed, we don't need environment
DOCKER_EXECDRIVER in integration-cli and Makefile any more.

Signed-off-by: Lei Jitang <leijiang@huawei.com>
Upstream-commit: 3c4dab51d33f6e90c45de83c01474bc60aee3766
Component: engine
2015-11-09 09:17:32 +08:00
ef88e7ace2 Remove LXC support.
The LXC driver was deprecated in Docker 1.8.
Following the deprecation rules, we can remove a deprecated feature
after two major releases. LXC won't be supported anymore starting on Docker 1.10.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 3b5fac462d21ca164b3778647420016315289034
Component: engine
2015-11-05 17:09:57 -05:00
5805b4b796 update release script and release process
Signed-off-by: Jessica Frazelle <princess@docker.com>
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: d0a4b216a68d0ea27b4604330ed779fa5ed96c35
Component: engine
2015-11-04 16:20:04 -08:00
cc55863497 Revert "dockerversion placeholder for library-import"
This reverts commit d5cd032a86617249eadd7142227c5355ba9164b4.

Commit caused issues on systems with case-insensitive filesystems.
Revert for now

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: b78ca243d9fc25d81c1b50008ee69f3e71e940f6
Component: engine
2015-10-27 21:23:53 -04:00
4d261096ec dockerversion placeholder for library-import
- Move autogen/dockerversion to version
- Update autogen and "builds" to use this package and a build flag

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: d5cd032a86617249eadd7142227c5355ba9164b4
Component: engine
2015-10-27 20:36:07 +01:00
9b28670308 fix logic because jess is the worst
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 930b27a86bf02969600259ce3a5d3fcff10edcb5
Component: engine
2015-10-09 22:21:24 -04:00
29fa44dc8c add test-integration-cli specifics for userns
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: ea3afdad612448fc6eefcc4bdd63563be8f16946
Component: engine
2015-10-09 20:50:27 -04:00
862065b3b2 Add log reading to the journald log driver
If a logdriver doesn't register a callback function to validate log
options, it won't be usable.  Fix the journald driver by adding a dummy
validator.

Teach the client and the daemon's "logs" logic that the server can also
supply "logs" data via the "journald" driver.  Update documentation and
tests that depend on error messages.

Add support for reading log data from the systemd journal to the
journald log driver.  The internal logic uses a goroutine to scan the
journal for matching entries after any specified cutoff time, formats
the messages from those entries as JSONLog messages, and stuffs the
results down a pipe whose reading end we hand back to the caller.

If we are missing any of the 'linux', 'cgo', or 'journald' build tags,
however, we don't implement a reader, so the 'logs' endpoint will still
return an error.

Make the necessary changes to the build setup to ensure that support for
reading container logs from the systemd journal is built.

Rename the Jmap member of the journald logdriver's struct to "vars" to
make it non-public, and to make it easier to tell that it's just there
to hold additional variable values that we want journald to record along
with log data that we're sending to it.

In the client, don't assume that we know which logdrivers the server
implements, and remove the check that looks at the server.  It's
redundant because the server already knows, and the check also makes
using older clients with newer servers (which may have new logdrivers in
them) unnecessarily hard.

When we try to "logs" and have to report that the container's logdriver
doesn't support reading, send the error message through the
might-be-a-multiplexer so that clients which are expecting multiplexed
data will be able to properly display the error, instead of tripping
over the data and printing a less helpful "Unrecognized input header"
error.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
Upstream-commit: e611a189cb3147cd79ccabfe8ba61ae3e3e28459
Component: engine
2015-09-11 16:50:03 -04:00
48de342ac9 Remove -lpthread and -ldl from ldflags
There is no need in those flags now when we use amalgamated sqlite3 from
mattn/go-sqlite3.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 8845eb434596ea709a7ef066d191141331dd1098
Component: engine
2015-09-08 17:01:14 -07:00
d9ff9abe1f update sqlite3 vendor with fix for static builds
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 46df9e4ec3453dd6f46261e0eeb276965af20880
Component: engine
2015-09-07 18:50:56 -07:00
71729da61a make binary: do not ignore unresolved symbols
TL;DR: stop building static binary that may fail

Linker flag --unresolved-symbols=ignore-in-shared-libs was added
in commit 06d0843 two years ago for the static build case, presumably
to avoid dealing with problem of missing libraries.

For the record, this is what ld(1) man page says:

> --unresolved-symbols=method
>    Determine how to handle unresolved symbols.  There are four
>    possible values for method:
> .........
>    ignore-in-shared-libs
>        Report unresolved symbols that come from regular object files,
>        but ignore them if they come from shared libraries.  This can
>        be useful when creating a dynamic binary and it is known that
>        all the shared libraries that it should be referencing are
>        included on the linker's command line.

Here, the flag is not used for its purpose ("creating a dynamic binary")
and does more harm than good. Instead of complaining about missing symbols
as it should do if some libraries are missing from LIBS/LDFLAGS, it lets
ld create a binary with unresolved symbols, ike this:

 $ readelf -s bundles/1.7.1/binary/docker-1.7.1 | grep -w UND
 ........
 21029: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND dlopen
 .........

Such binary is working just fine -- until code calls one of those
functions, then it crashes (for apparently no reason, i.e. it is
impossible to tell why from the diagnistics printed).

In other words, adding this flag allows to build a static binary
with missing libraries, hiding the problem from both a developer
(who forgot to add a library to #cgo: LDFLAGS -- I was one such
developer a few days ago when I was working on ploop graphdriver)
and from a user (who expects the binary to work without crashing,
and it does that until the code calls a function in one of those
libraries).

Removing the flag immediately unveils the problem (as it should):

	/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libsqlite3.a(sqlite3.o):
	In function `unixDlError':
	(.text+0x20971): undefined reference to `dlerror'
	/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libsqlite3.a(sqlite3.o):
	In function `unixDlClose':
	(.text+0x8814): undefined reference to `dlclose'

The problem is, gosqlite package says:

	#cgo LDFLAGS: -lsqlite3

which is enough for dynamic linking, as indirect dependencies (i.e.
libraries required by libsqlite3.so) are listed in .so file and will be
resolved dynamically by ldd upon executing the binary.

For static linking though, one has to list all the required libraries,
both direct and indirect. For libraries with pkgconfig support the
list of required libraries can be obtained with pkg-config:

	$ pkg-config --libs sqlite3 # dynamic linking case
	-lsqlite3
	$ pkg-config --libs --static sqlite3 # static case
	-lsqlite3 -ldl -lpthread

It seems that all one has to do is to fix gosqlite this way:

	-#cgo LDFLAGS: -lsqlite3
	+#cgo pkg-config: sqlite3

Unfortunately, cmd/go doesn't know that it needs to pass --static
flag to pkg-config in case of static linking
(see https://github.com/golang/go/issues/12058).

So, for one, one has to do one of these things:

1. Patch sqlite.go like this:

	-#cgo LDFLAGS: -lsqlite3
	+#cgo pkg-config: --static sqlite3

(this is exactly what I do in goploop, see
https://github.com/kolyshkin/goploop/commit/e9aa072f51)

2. Patch sqlite.go like this:
	-#cgo LDFLAGS: -lsqlite3
	+#cgo LDFLAGS: -lsqlite3 -ldl -lpthread

(I would submit this patch to gosqlite but it seems that
https://code.google.com/p/gosqlite/ is deserted and not maintained,
and patching it here is not right as it is "vendored")

3. Explicitly add -ldl for the static link case.
This is what this patch does.

4. Fork sqlite to github and maintain it there. Personally I am not
ready for that, as I'm neither a Go expert nor gosqlite user.

Now, #3 doesn't look like a clear solution, but nevertheless it makes
the build much better than it was before.

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Upstream-commit: 15aad5d3e6d97627345586e5ee92a896667bb33a
Component: engine
2015-09-04 13:15:25 -07:00
9416fd6ce9 Windows: Workaround for CI
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: ac120567e8015a6a98f0aa7ac71f3ce2d5f36031
Component: engine
2015-08-05 11:20:30 -07:00
c56f8c4097 Enable validate-lint as part of CI
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: bc8b8e03b48bf1ef6ce6b67271948e4a20c2ed31
Component: engine
2015-07-22 15:23:34 -07:00
14e7c996e2 Increase timeout to run tests on slow platforms
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
Upstream-commit: b98edced9e16e73b84a1a7fc670d4c3f6d57f3e8
Component: engine
2015-07-13 21:13:17 +00:00
888e384d70 Add branch and build time to version
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 87eae0d659d6e4bb75942455f3f73a74f54ed3b9
Component: engine
2015-06-22 13:00:27 -07:00
6fba235ed8 Add new "validate-pkg" bundlescript
This helps ensure that `github.com/docker/docker/pkg/...` is actually safe to use in isolation (ie, doesn't import anything from `github.com/docker/docker` except other things from `pkg` or vendored dependencies).

Adding `github.com/docker/docker/utils` to the imports of `pkg/version/version.go`:

```
---> Making bundle: validate-pkg (in bundles/1.7.0-dev/validate-pkg)
These files import internal code: (either directly or indirectly)
 - pkg/version/version.go imports github.com/docker/docker/autogen/dockerversion
 - pkg/version/version.go imports github.com/docker/docker/utils
```

And then removing it again:

```
---> Making bundle: validate-pkg (in bundles/1.7.0-dev/validate-pkg)
Congratulations! "./pkg/..." is safely isolated from internal code.
```

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
Upstream-commit: 9465272c281c602c758e51ed99f344c0686a899a
Component: engine
2015-06-12 12:28:23 -07:00
2345f52566 Merge pull request #12992 from aidanhs/aphs-easy-debug-build
Allow passing DOCKER_DEBUG= to `make`
Upstream-commit: 75f63499a05ecd6511b468b666973ed9d38037ae
Component: engine
2015-06-08 15:15:49 -07:00
c1e042a6e9 Merge pull request #13568 from jfrazelle/fix-release-script-for-experimental
fix release script for experimental
Upstream-commit: d37aad170ffe75eeaaea07d52863a6159417e5d6
Component: engine
2015-06-01 12:29:45 -04:00
21758fe067 Restore DEBUG as DOCKER_DEBUG (removed in #10665), add as make variable
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
Upstream-commit: a121ac858e9b08aff0c6709337e5150b01851ffd
Component: engine
2015-05-30 19:37:36 +01:00
c50b83a729 Make "DEST" a make.sh construct instead of ad-hoc
Using "DEST" for our build artifacts inside individual bundlescripts was already well-established convention, but this officializes it by having `make.sh` itself set the variable and create the directory, also handling CYGWIN oddities in a single central place (instead of letting them spread outward from `hack/make/binary` like was definitely on their roadmap, whether they knew it or not; sneaky oddities).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
Upstream-commit: ac3388367b6493987cef8017774fa4cdb5d2098f
Component: engine
2015-05-30 11:16:43 -07:00
a4e456d439 fix experimental version and release script
add api version experimental

Signed-off-by: Jessica Frazelle <princess@docker.com>
Upstream-commit: b372f9f224d2dcc2a7beca55751782060dc9b12f
Component: engine
2015-05-29 10:00:22 -07:00
da2cc90fcd Merge pull request #13416 from Microsoft/10662-fixintegrationtests
Windows: Pass temp environment through
Upstream-commit: 37cc42ee0e742a14047f32ef27c9b8b2371e1fb8
Component: engine
2015-05-28 11:22:37 -07:00
af2789e761 script cleaned up
Signed-off-by: Alexey Guskov <lexag@mail.ru>
Upstream-commit: f228fb09acffde575c704d501739ad547baf4e24
Component: engine
2015-05-27 10:21:09 +03:00
d913f69b1f Make hack/make.sh work on FreeBSD
Signed-off-by: Alexey Guskov <lexag@mail.ru>
Upstream-commit: 9e00e34092ca1f2f2e7919430f5756f94e484cdb
Component: engine
2015-05-26 15:59:36 +03:00
9cf93fa55c Windows: Pass temp environment through
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: fba44a7ccf6eb9ba588b9d1df6a3a22fd5c5dc18
Component: engine
2015-05-22 15:14:22 -07:00
b53e996e55 Add suffix to experimental builds version
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: 78578125ce6c534253d8d60c242d6993c569449e
Component: engine
2015-05-21 16:27:42 -07:00
045dd55a7d Add DOCKER_EXPERIMENTAL environment variable
The DOCKER_EXPERIMENTAL environment variable drives the activation of
the 'experimental' build tag.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: ca6722f1c5e4e2017a71e33579d91ac0d9ea2a25
Component: engine
2015-05-20 12:21:17 -07:00
2ee6387cbc Merge pull request #12165 from icecrime/optional_userland_proxy
Optional userland proxy
Upstream-commit: 74bfa3675353aaf10ca760e82a79d758bea0ff6b
Component: engine
2015-05-07 14:01:16 -07:00
afd229a538 Add DOCKER_USERLANDPROXY test variable
Add an convenient way to switch --userland-proxy on and off in
integration tests.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: 44de5fecce9dd194fade1b696e9297ac5c985754
Component: engine
2015-05-04 16:07:51 -07:00
11e5be135f Merge pull request #12190 from rhvgoyal/deferred-removal
Devicemapper: Provide deferred device removal capability
Upstream-commit: 56c991781564e8cc292166d3b3e27e304c240468
Component: engine
2015-05-04 14:22:52 -07:00
6b9dd0750f Merge pull request #12901 from hqhq/hq_fix_test_comment
fix comments for test certain tests
Upstream-commit: 7e7b6a20bd4ea60954b9d17823bf4af00f27977e
Component: engine
2015-04-30 17:08:23 -07:00
d592b96e50 fix comments for test certain tests
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: 987e221607866ae391b632f9de1fd413e5a73150
Component: engine
2015-04-30 15:40:48 +08:00
0ec0dcde9e Remove integration tests and port them to integration-cli
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: f7e417ea5e26f11ec43dba64ee153765d2276f40
Component: engine
2015-04-30 01:35:16 +02:00
2c94df895a Validate we're not using the old testing stuff
Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: ecccfa82aa22829c52778c4457cacd8d766e3dda
Component: engine
2015-04-23 10:29:47 -07:00