Commit Graph

1924 Commits

Author SHA1 Message Date
2aadb4562f Merge pull request #22506 from cpuguy83/no_chroot
Use pivot_root instead of chroot for chrootarchive
Upstream-commit: eb52730570789dd3e48810f6a087377e5169fee9
Component: engine
2016-05-06 14:21:23 -07:00
5915e71127 Merge pull request #22550 from allencloud/fix-typos
fix typos in comments
Upstream-commit: cc01017bcf631ea82485ecb235b24008efe4359d
Component: engine
2016-05-06 08:56:33 -04:00
fe5c78bee9 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 3f77baf2ce3a607fd1eb8fbe6e9dd9da44a8db49
Component: engine
2016-05-06 18:23:11 +08:00
83644199c7 Merge pull request #21015 from cpuguy83/add_opaque_mount_id
When calling volume driver Mount, send opaque ID
Upstream-commit: bb125650c9fbff03d57c20fd8e4ecde90b3ec326
Component: engine
2016-05-05 18:00:15 +02:00
d7e08dc088 Use pivot_root instead of chroot for chrootarchive
This fixes one issue with Docker running under a grsec kernel, which
denies chmod and mknod under chroot.

Note, if pivot_root fails it will still fallback to chroot.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 85988b33d299697f410a3a92db5d537fdbee955b
Component: engine
2016-05-04 19:55:34 -04:00
f31a4deeed Adding Rita Levi-Montalcini and Claude Shannon to name generator
Signed-off-by: Anuj Bahuguna "anujbahuguna.dev@gmail.com"

Signed-off-by: Anuj Bahuguna <abahuguna@fiberlink.com>
Upstream-commit: fd8a6775f57c4fae1d7cc99560f4efe30e1ac9dd
Component: engine
2016-05-04 00:14:09 +05:30
56a9c6981f Add Joan & Samuel Curran, Welsh scientest and Irish physicist couple
In honor of Betty Junod's cast, and her tweet about Joan Curran:
https://twitter.com/BettyJunod/status/727194712956784641

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
Upstream-commit: 62bd539629f643d227908c5d6b445e540bb3c486
Component: engine
2016-05-02 14:50:16 -04:00
b33e8d5489 Fix authorization issue - when request is denied return forbbiden exist code (403).
- Return 403 (forbidden) when request is denied in authorization flows
(including integration test)
- Fix #22428
- Close #22431

Signed-off-by: Liron Levin <liron@twistlock.com>
Upstream-commit: 526abc00b138a168fb248c98efd1b90fdf679036
Component: engine
2016-05-02 19:14:48 +03:00
de046a0cf3 When calling volume driver Mount, send opaque ID
This generates an ID string for calls to Mount/Unmount, allowing drivers
to differentiate between two callers of `Mount` and `Unmount`.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 2b6bc294fc7f9e08a9091833b021b7d2a01ad2a6
Component: engine
2016-04-29 09:37:02 -04:00
35425a4320 Merge pull request #21613 from wzyboy/support-unixgram-syslog-address
Support unixgram syslog address
Upstream-commit: dbee44c9e0d9f8afbbb86efd2c0bcbd66440cbbc
Component: engine
2016-04-28 11:06:17 -04:00
48a9de5e52 Support unixgram syslog address
- Consider unixgram:// as a valid URL prefix
- Parse unixgram:// addresses
- Update docs

Signed-off-by: Zhuoyun Wei <wzyboy@wzyboy.org>
Upstream-commit: 57fad95e4352c72c852d740e54fd693a446c552f
Component: engine
2016-04-28 11:04:50 +08:00
db3db29c9f Windows: revendor Azure/go-ansiterm
go-ansiterm was previously pulling the testing package into the docker
binaries.

Signed-off-by: John Starks <jostarks@microsoft.com>
Upstream-commit: fab67ab677e14c908f879e362f8805c8e91570c6
Component: engine
2016-04-25 15:57:59 -07:00
e3c27e0ed4 Safer file io for configuration files
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: ea3cbd3274664f5b16fce78d7df036f6b5c94e30
Component: engine
2016-04-21 11:31:15 -07:00
1542891d6f Merge pull request #22203 from alimate/name-gen-patch
Added Lamport & Agnesi to the list of scientists
Upstream-commit: 483063ad85f7eff587f6dbf99a71f31def8d4c76
Component: engine
2016-04-20 21:03:18 +02:00
6418621ca6 Added Lamport & Agnesi to the list of scientists
Leslie B. Lamport is an American computer scientist. Lamport is
best known for his seminal work in distributed systems and as the
initial developer of the document preparation system LaTeX.
Maria Gaetana Agnesi was an Italian mathematician, philosopher,
theologian and humanitarian. She was the first woman to write a
mathematics handbook and the first woman appointed as a Mathematics
Professor at a University.

Signed-off-by: Ali Dehghani <ali.dehghani.g@gmail.com>
Upstream-commit: 85e880205f305aa7b566ac4d7dc6280d5015c2b2
Component: engine
2016-04-20 21:44:22 +04:30
ee5a4917fb Initialize activateWait for plugins activated by json spec
Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: de806a672b0810e48facc74e198e6728c1fe2c6d
Component: engine
2016-04-20 05:59:19 -07:00
3fab5dcc0b Remove pkg/version
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 49f7b4dafb2fc3d702304ae1bfe5834764692e1d
Component: engine
2016-04-19 16:57:02 +02:00
3c7ba98def Merge pull request #22130 from Microsoft/jstarks/win_pidfile
Windows: don't overwrite PID file if process exists
Upstream-commit: aeb1e45e60b49dc2208a9857dce1867d2191bd16
Component: engine
2016-04-18 19:45:18 -07:00
b02df70f6f Windows: don't overwrite PID file if process exists
pidfile.New() was opening a file in /proc to determine if the owning
process still exists. Use syscall.OpenProcess() on Windows instead.

Other OSes may also need to be updated here.

Signed-off-by: John Starks <jostarks@microsoft.com>
Upstream-commit: 9e5b93565c8a10f4b06d2bcf61305fdfb7128628
Component: engine
2016-04-18 16:41:37 -07:00
45616510e1 Get pkg/term to build for Solaris
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
Upstream-commit: b216dc9115ebc0b803551ff761f5464fcbde09e1
Component: engine
2016-04-15 14:18:26 -07:00
a683195dbd Merge pull request #21726 from aaronlehmann/tarsum-filename-normalization
Fix build cache false positives when build context tar contains unnormalized paths
Upstream-commit: 1a14bbc61e35fd2ca412e07fa6c456095756f892
Component: engine
2016-04-15 09:45:26 -07:00
b1c3afb97e Fix build cache false positives when build context tar contains unnormalized paths
If a build context tar has path names of the form 'x/./y', they will be
stored in this unnormalized form internally by tarsum. When the builder
walks the untarred directory tree and queries hashes for each relative
path, it will query paths of the form 'x/y', and they will not be found.

To correct this, have tarsum normalize path names by calling Clean.

Add a test to detect this caching false positive.

Fixes #21715

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 8691a77e441996fef96019b94f299a11b7244080
Component: engine
2016-04-14 17:57:45 -07:00
f4871ac76e Fix panic on winsize syscall
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 4d4ef98326f0b21bbb661321499e200a1412bc64
Component: engine
2016-04-13 17:08:00 -07:00
e1986078c7 Merge pull request #21897 from calavera/remove_authorization_refs_from_api
Move middleware to interfaces.
Upstream-commit: 9438572fc00f928ec83c884992d5492a7a68babb
Component: engine
2016-04-12 14:08:36 -07:00
b1684f92ee pkg: listeners: move Docker-specific semantics to docker/daemon*
Since there are other users of pkg/listeners, it doesn't make sense to
contain Docker-specific semantics and warnings inside it. To that end,
move the scary warning about -tlsverify and the libnetwork port
allocation code to CmdDaemon (where they belong). This helps massively
reduce the dependency tree for users of pkg/listeners.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
Upstream-commit: 5ee0a94101c30a4ac22379fdab50c0faad2d12c9
Component: engine
2016-04-12 12:50:43 +10:00
8194e834c4 Move middleware to interfaces.
This makes separating middlewares from the core api easier.
As an example, the authorization middleware is moved to
it's own package.

Initialize all static middlewares when the server is created, reducing
allocations every time a route is wrapper with the middlewares.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 8d3467626ee26cad48ad84f2181552dce7afccb6
Component: engine
2016-04-11 09:19:27 -07:00
6009e3b566 Merge pull request #21906 from allencloud/fix-typos-pkg
fix typos in pkg
Upstream-commit: 417fce0b77d21d8481c6e8b0cad6cb25c6da7bb8
Component: engine
2016-04-09 18:50:42 +02:00
f4582c23f4 fix typos in pkg
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: aef02273d9cdf8144b95c9c9a8d1e119d24b2d9d
Component: engine
2016-04-09 21:18:15 +08:00
1946302b86 fix typo in comment
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: 76122f95e9173c1182b8dd44e1aa236a045d4e6a
Component: engine
2016-04-08 00:05:31 -07:00
ffc19b3fb1 pkg/archive: use more narrow interface for CompressStream
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 9b2c3aa8946eee15e5938f03c2202b16a7f22875
Component: engine
2016-04-07 13:21:05 -07:00
a30f33e6a5 Merge pull request #21840 from tonistiigi/fix-closing-attach-streams
Fix closing attach streams on lost tcp connection
Upstream-commit: 4f8a6f3e02135ade04d31b493ed08af4b308b9e0
Component: engine
2016-04-07 12:02:33 -04:00
82647f4d8c Merge pull request #21820 from estesp/lazy-init-useradd
Lazy init useradd and remove init()
Upstream-commit: d5dfc4e5262a56181b2203c3fb6474ebe3a4ae92
Component: engine
2016-04-07 10:09:02 +02:00
4b68403613 Fix closing attach streams on lost tcp connection
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: a47cd639158ee9cfd228c0ae8257301b8510f3ad
Component: engine
2016-04-06 21:27:47 -07:00
3ff2903f19 Lazy init useradd and remove init()
This should not have been in init() as it causes these lookups to happen
in all reexecs of the Docker binary. The only time it needs to be
resolved is when a user is added, which is extremely rare.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
Upstream-commit: c6f45fd2eef00d6dcdcf319400c0c6cd891e9d2a
Component: engine
2016-04-06 17:53:45 -04:00
9f10b4351a Windows: Remove TP4 support from main code
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 331c8a86d489e573fcbf1df3c4f813bbc3168624
Component: engine
2016-04-06 12:12:20 -07:00
5c35f01162 Merge pull request #21272 from Microsoft/jstarks/manifest_updates
Add os_version and os_features to Image
Upstream-commit: fc9912fd00f5e12a6f0904f3c758275724ba3318
Component: engine
2016-04-05 16:16:25 -07:00
9344bce56a Merge pull request #21755 from cpuguy83/bytespipe_allocs
Improve performance/reduce allocs of bytespipe
Upstream-commit: 806a8e22b96900bc1db5541d316c1cd91c493bea
Component: engine
2016-04-05 14:43:57 -07:00
933477cfba Improve performance/reduce allocs of bytespipe
Creates a `fixedBuffer` type that is used to encapsulate functionality
for reading/writing from the underlying byte slices.

Uses lazily-loaded set of sync.Pools for storing buffers that are no
longer needed so they can be re-used.

```
benchmark                     old ns/op     new ns/op     delta
BenchmarkBytesPipeWrite-8     138469        48985         -64.62%
BenchmarkBytesPipeRead-8      130922        56601         -56.77%

benchmark                     old allocs     new allocs     delta
BenchmarkBytesPipeWrite-8     18             8              -55.56%
BenchmarkBytesPipeRead-8      0              0              +0.00%

benchmark                     old bytes     new bytes     delta
BenchmarkBytesPipeWrite-8     66903         1649          -97.54%
BenchmarkBytesPipeRead-8      0             1             +Inf%
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 9a25b1d942da88439ec04797ff6f1c33c3b5562d
Component: engine
2016-04-05 13:06:04 -04:00
a1bd3ee5e1 Fix spelling error in names-generator.go
Signed-off-by: Lars Butler <Lars.Butler@gmail.com>
Upstream-commit: 0cad90911f8b9fab9b9acc940b5759ee1939306e
Component: engine
2016-04-05 12:34:52 +02:00
4815437b5f Add os_version and os_features to Image
These fields are needed to specify the exact version of Windows that an
image can run on. They may be useful for other platforms in the future.

This also changes image.store.Create to validate that the loaded image is
supported on the current machine. This change affects Linux as well, since
it now validates the architecture and OS fields.

Signed-off-by: John Starks <jostarks@microsoft.com>
Upstream-commit: 194eaa5c0f843257e66b68bd735786308a9d93b2
Component: engine
2016-04-04 13:14:57 -07:00
afcd43b3c8 pkg: listeners: clean up to act like a library
Now that listeners is no longer an internal of the client, make it less
Docker-specific (despite there still being some open questions as how to
deal with some of the warnings that listeners has to emit). We should
move as much of the Docker-specific stuff (especially the port
allocation) to docker/ where it belongs (or maybe pass a check function).

Signed-off-by: Aleksa Sarai <asarai@suse.de>
Upstream-commit: 619bf56778c55813c7c9dc81052ee4a277bfd22a
Component: engine
2016-04-02 01:09:29 +11:00
7a120b5566 pkg: listeners: separate out the listeners package
This code will be used in containerd and is quite useful in general to
people who want a nice way of creating listeners from proto://address
arguments (even supporting socket activation). Separate it out from
docker/ so people can use it much more easily.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
Upstream-commit: e3a8c8388f8c6f1f67204cdd16b7b685fadda6c3
Component: engine
2016-04-02 01:09:29 +11:00
b3c7f3a3f2 Merge pull request #21694 from LK4D4/remove_unused_pkg
pkg: cleanup some unused code
Upstream-commit: ad4750cf3a1c89f0b9d2ccebdc4f61b7be33109f
Component: engine
2016-03-31 15:06:35 -07:00
7c3f3d665e pkg: cleanup some unused code
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 07b568cb5342789839aabba0ee6d41e7275099e8
Component: engine
2016-03-31 11:39:59 -07:00
ebeaecd7ff Merge pull request #21356 from cpuguy83/stdcopy_allocs
Optimizations for StdWriter
Upstream-commit: 2d18ed7e4b911ae61131fa7f3dedb0fae1d1ae3b
Component: engine
2016-03-31 10:54:45 -07:00
7ad3abac63 Merge pull request #21251 from cyphar/refactor-copyonbuild
pkg: archive: don't fail Untar if xattrs are not supported
Upstream-commit: 553edd1d19193a1413515fdf3807a6136c4fc0a6
Component: engine
2016-03-28 16:15:18 -07:00
e155de707d Fix misspellings
Signed-off-by: Dmitri Logvinenko <dmitri.logvinenko@gmail.com>
Upstream-commit: 6dede879fd8e0c5f599631d125753d360ead3bc0
Component: engine
2016-03-28 16:21:02 +03:00
8a8affba81 Optimizations for StdWriter
Avoids allocations and copying by using a buffer pool for intermediate
writes.

```
benchmark            old ns/op     new ns/op     delta
BenchmarkWrite-8     996           175           -82.43%

benchmark            old MB/s     new MB/s     speedup
BenchmarkWrite-8     4414.48      25069.46     5.68x

benchmark            old allocs     new allocs     delta
BenchmarkWrite-8     2              0              -100.00%

benchmark            old bytes     new bytes     delta
BenchmarkWrite-8     4616          0             -100.00%
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 2f3b6022858aab2d70e380d126e6dcec227c0d38
Component: engine
2016-03-25 22:14:27 -04:00
3ff2e53880 Windows: Native console disableNewlineAutoReturn
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: c162cdb15fb08786c85d76fb438f003e72857f5c
Component: engine
2016-03-24 15:37:47 -07:00
3420db4b5e Fix panic in loading plugins
When a plugin is first found, it is loaded into the available plugins
even though it's not activated yet.
If activation fails it is taken out of the list.
While it is in the list, other callers may see it and try to check it's
manifest. If it is not fully activated yet, the manifest will be nil and
cause a panic.

This is especially problematic for drivers that are down and have not
been activated yet.

We could just not load the plugin into the available list until it's
fully active, however that will just cause multiple of the same plugin
to attemp to be loaded.

We could check if the manifest is nil and return early (instead of
panicing on a nil manifest), but this will cause a 2nd caller to receive
a response while the first caller is still waiting, which can be
awkward.

This change uses a condition variable to handle activation (instead of
sync.Once). If the plugin is not activated, callers will all wait until
it is activated and receive a broadcast from the condition variable
signaling that it's ok to proceed, in which case we'll check if their
was an error in activation and proceed accordingly.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: baac2f48674d42863f9fdca5ef3056b4c6ed707e
Component: engine
2016-03-23 15:34:15 -04:00