Commit graph

1962 commits

Author SHA1 Message Date
Arnaud Porterie
55390c9822 Merge pull request #22353 from Microsoft/jjh/dockercp
Windows: docker cp platform semantically consistent paths
2016-05-11 13:08:24 -10:00
Alexander Morozov
9bcc9e6dc2 pkg/proxy: remove unused 'transfered' variable
That simplified code a bit

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-05-10 14:33:21 -07:00
Antonio Murdaca
3c6c907299 pkg: chrootarchive: chroot_linux: fix docker build
The path we're trying to remove doesn't exist after a successful
chroot+chdir because a / is only appended after pivot_root is
successful and so we can't cleanup anymore with the old path.
Also fix leaking .pivot_root dirs under /var/lib/docker/tmp/docker-builder*
on error.

Fix https://github.com/docker/docker/issues/22587
Introduced by https://github.com/docker/docker/pull/22506

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-10 00:42:49 +02:00
Vincent Demeester
8a7fc5c59d Merge pull request #21889 from cpuguy83/logscmd_add_attrs
Add support for reading logs extra attrs
2016-05-07 20:26:33 +02:00
Brian Goff
d0200e7fea Add support for reading logs extra attrs
The jsonlog logger currently allows specifying envs and labels that
should be propagated to the log message, however there has been no way
to read that back.

This adds a new API option to enable inserting these attrs back to the
log reader.

With timestamps, this looks like so:
```
92016-04-08T15:28:09.835913720Z foo=bar,hello=world hello
```

The extra attrs are comma separated before the log message but after
timestamps.

Without timestaps it looks like so:
```
foo=bar,hello=world hello
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-05-06 20:42:20 -04:00
John Howard
f82207f676 Windows: docker cp consistent paths
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-06 16:08:53 -07:00
unclejack
0952574563 Merge pull request #22506 from cpuguy83/no_chroot
Use pivot_root instead of chroot for chrootarchive
2016-05-06 14:21:23 -07:00
Doug Davis
eec2fd15f8 Merge pull request #22550 from allencloud/fix-typos
fix typos in comments
2016-05-06 08:56:33 -04:00
allencloud
a658947af4 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-05-06 18:23:11 +08:00
Vincent Demeester
208beb82e0 Merge pull request #21015 from cpuguy83/add_opaque_mount_id
When calling volume driver Mount, send opaque ID
2016-05-05 18:00:15 +02:00
Brian Goff
7db6117c8e 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>
2016-05-04 19:55:34 -04:00
Anuj Bahuguna
73d751590c 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>
2016-05-04 00:14:09 +05:30
Phil Estes
9bde837926 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>
2016-05-02 14:50:16 -04:00
Liron Levin
34a890ec58 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>
2016-05-02 19:14:48 +03:00
Brian Goff
ac615c51ba 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>
2016-04-29 09:37:02 -04:00
Brian Goff
d4db263aa4 Merge pull request #21613 from wzyboy/support-unixgram-syslog-address
Support unixgram syslog address
2016-04-28 11:06:17 -04:00
Zhuoyun Wei
0554f41c13 Support unixgram syslog address
- Consider unixgram:// as a valid URL prefix
- Parse unixgram:// addresses
- Update docs

Signed-off-by: Zhuoyun Wei <wzyboy@wzyboy.org>
2016-04-28 11:04:50 +08:00
John Starks
d7a00d191f 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>
2016-04-25 15:57:59 -07:00
Tonis Tiigi
9333729a55 Safer file io for configuration files
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-21 11:31:15 -07:00
Vincent Demeester
6bf8399fb2 Merge pull request #22203 from alimate/name-gen-patch
Added Lamport & Agnesi to the list of scientists
2016-04-20 21:03:18 +02:00
Ali Dehghani
686c6892b6 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>
2016-04-20 21:44:22 +04:30
Madhu Venugopal
81b695d5c4 Initialize activateWait for plugins activated by json spec
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-04-20 05:59:19 -07:00
Vincent Demeester
0468629ae5 Remove pkg/version
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-04-19 16:57:02 +02:00
David Calavera
a13b457fb4 Merge pull request #22130 from Microsoft/jstarks/win_pidfile
Windows: don't overwrite PID file if process exists
2016-04-18 19:45:18 -07:00
John Starks
95e8c2599c 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>
2016-04-18 16:41:37 -07:00
Amit Krishnan
92ee704113 Get pkg/term to build for Solaris
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
2016-04-15 14:18:26 -07:00
Tõnis Tiigi
c35a0da252 Merge pull request #21726 from aaronlehmann/tarsum-filename-normalization
Fix build cache false positives when build context tar contains unnormalized paths
2016-04-15 09:45:26 -07:00
Aaron Lehmann
a842fba285 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>
2016-04-14 17:57:45 -07:00
Tonis Tiigi
1ce2f3e124 Fix panic on winsize syscall
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-13 17:08:00 -07:00
Alexander Morozov
ee13b8919d Merge pull request #21897 from calavera/remove_authorization_refs_from_api
Move middleware to interfaces.
2016-04-12 14:08:36 -07:00
Aleksa Sarai
31576ed72b 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>
2016-04-12 12:50:43 +10:00
David Calavera
08569840c7 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>
2016-04-11 09:19:27 -07:00
Vincent Demeester
a169fa0424 Merge pull request #21906 from allencloud/fix-typos-pkg
fix typos in pkg
2016-04-09 18:50:42 +02:00
allencloud
b8047bf930 fix typos in pkg
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-04-09 21:18:15 +08:00
Victor Vieux
86abb0ae42 fix typo in comment
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-04-08 00:05:31 -07:00
Alexander Morozov
f1b04a89ef pkg/archive: use more narrow interface for CompressStream
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-04-07 13:21:05 -07:00
Brian Goff
f0c9045a2d Merge pull request #21840 from tonistiigi/fix-closing-attach-streams
Fix closing attach streams on lost tcp connection
2016-04-07 12:02:33 -04:00
Vincent Demeester
0a8becd7df Merge pull request #21820 from estesp/lazy-init-useradd
Lazy init useradd and remove init()
2016-04-07 10:09:02 +02:00
Tonis Tiigi
3b3d686788 Fix closing attach streams on lost tcp connection
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-06 21:27:47 -07:00
Phil Estes
5bd4271f56 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>
2016-04-06 17:53:45 -04:00
John Howard
d7569f07e6 Windows: Remove TP4 support from main code
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-06 12:12:20 -07:00
John Howard
3f3ba02798 Merge pull request #21272 from Microsoft/jstarks/manifest_updates
Add os_version and os_features to Image
2016-04-05 16:16:25 -07:00
Alexander Morozov
84f2a236e3 Merge pull request #21755 from cpuguy83/bytespipe_allocs
Improve performance/reduce allocs of bytespipe
2016-04-05 14:43:57 -07:00
Brian Goff
729c6a44bc 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>
2016-04-05 13:06:04 -04:00
Lars Butler
ac83d1c1df Fix spelling error in names-generator.go
Signed-off-by: Lars Butler <Lars.Butler@gmail.com>
2016-04-05 12:34:52 +02:00
John Starks
335e27d88c 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>
2016-04-04 13:14:57 -07:00
Aleksa Sarai
501a898e0e 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>
2016-04-02 01:09:29 +11:00
Aleksa Sarai
d61bb3048b 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>
2016-04-02 01:09:29 +11:00
Alexander Morozov
e2664472b6 Merge pull request #21694 from LK4D4/remove_unused_pkg
pkg: cleanup some unused code
2016-03-31 15:06:35 -07:00
Alexander Morozov
dfeb86d734 pkg: cleanup some unused code
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-31 11:39:59 -07:00