Commit Graph

1437 Commits

Author SHA1 Message Date
799fa64220 Windows: Fix use of IsAbs check
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: f11ba3135b19006a47cf80861f3c291a3211eb1e
Component: engine
2015-08-26 12:38:28 -07:00
c4be78888c tarsum: add a big fat warning
Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: 459451de8b6760034dd4bf7a782b7875441254a5
Component: engine
2015-08-25 16:50:08 -04:00
69dbe5953f Merge pull request #15393 from azurezk/exportImage-toplevel
change exportImage to top-level func
Upstream-commit: 82e2dec06de63d85db14c954e472deffdd18c5b7
Component: engine
2015-08-24 14:35:55 -07:00
26bf545a48 Merge pull request #14006 from hqhq/hq_add_kmem_limit
Add support for kernel memory limit
Upstream-commit: 9bd8a9b66bb493026599d22c7637909cb460d039
Component: engine
2015-08-21 14:34:27 -07:00
ad05d1ea8d Merge pull request #15125 from WeiZhang555/golint-stdcopy-system
fix golint warnings/errors on pkg/system and pkg/stdcopy
Upstream-commit: ecff4badcd98f749e5bd8511fbf4ca2c605db96c
Component: engine
2015-08-21 14:27:59 -07:00
2ec9a2ac53 Merge pull request #15218 from calavera/gender_unbiased_names
Add more amazing women to the names generator.
Upstream-commit: 008a8ffdd20f710bb177c299d4f3f5a2024894c4
Component: engine
2015-08-21 14:24:49 -07:00
b923556f4c Use a slice instead of a map of io.WriteClosers in broadcastwriter
Maps rely on the keys being comparable.
Using an interface type as the map key is dangerous,
because some interface types are not comparable.
I talked about this in my "Stupid Gopher Tricks" talk:
	https://talks.golang.org/2015/tricks.slide

In this case, if the user-provided writer is backed by a slice
(such as io.MultiWriter) then the code will panic at run time.

Signed-off-by: Andrew Gerrand <adg@golang.org>
Upstream-commit: 31cbf76d0c287d451182499d4fa0c4fda67e0716
Component: engine
2015-08-21 14:08:04 +01:00
2132326b0b Fix typo, "fil" -> "fill"
Signed-off-by: Icaro Seara <icaro.seara@gmail.com>
Upstream-commit: 997ba4b0da8c0596fd9fb108a7fcd4c79c1382ff
Component: engine
2015-08-19 21:50:54 -03:00
051aa5b9de Merge pull request #15684 from ibuildthecloud/dont-sync
Don't globally lock on driver initialization
Upstream-commit: 7f46dc03d5309997361f5be6e67088ec4ac410b7
Component: engine
2015-08-19 12:48:14 -04:00
3004521c7f Add support for kernel memory limit
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: b6f1b4ad350cbf1f540797eee44520694237d47c
Component: engine
2015-08-19 23:56:55 +08:00
68987b8336 Merge pull request #12927 from lindenlab/custom-host-port-ranges
Proposal: Change --publish=SPEC to allow binding to custom host port ranges
Upstream-commit: 59e49e1db0c4b59d8ca7334fdadade73755969b9
Component: engine
2015-08-19 17:04:23 +02:00
3ee024f425 Don't globally lock on driver initialization
This patch makes it such that plugin initialization is synchronized
based on the plugin name and not globally

Signed-off-by: Darren Shepherd <darren@rancher.com>
Upstream-commit: 164208fde5f1d4bcc4d75333e3309b678edac985
Component: engine
2015-08-18 22:25:30 -07:00
a2576f3ffa Merge pull request #15380 from calavera/remove_sys_info_pointers
Remove pointers from the SysInfo struct.
Upstream-commit: f1da5edc8b1404a302b02d38a60bba91c4bcd965
Component: engine
2015-08-17 18:40:54 -07:00
470c87b117 Adding support to publish on custom host port ranges
Signed-off-by: Don Kjer <don.kjer@gmail.com>

Changing vendor/src/github.com/docker/libnetwork to match lindenlab/libnetwork custom-host-port-ranges-1.7 branch
Upstream-commit: 47272f9cc563ea90d1f86df044f5429d15a37e4f
Component: engine
2015-08-15 02:41:29 +00:00
5e176c5f47 fix golint warnings/errors on pkg/system and pkg/stdcopy
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Upstream-commit: 7e420ad8502089e66ce0ade92bf70574f894f287
Component: engine
2015-08-13 18:47:13 +08:00
221348d130 Fixing Tar functions to support Windows long paths.
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
Upstream-commit: 230cfc6ed21e9398b9b3df765e6c02e90031d728
Component: engine
2015-08-11 16:07:36 -07:00
7a08f892e2 Merge pull request #15404 from vbatts/vbatts-dm-zero-sized-field
devicemapper: fix zero-sized field access
Upstream-commit: 6f89a8ee1ba6b598dc1f76e829d6db6f830cdb8e
Component: engine
2015-08-10 09:16:11 -07:00
48bf8fcaf6 devicemapper: fix zero-sized field access
Fixes: #15279

Due to
7904946eeb
the devices field is dropped.

This solution works on go1.4 and go1.5

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: f83d05c3be3c3bcc84f6fa229504848ee8078321
Component: engine
2015-08-10 11:11:58 -04:00
33a35ed586 change exportImage to top-level func
Signed-off-by: Kun Zhang <zkazure@gmail.com>

remove useless FIXME

Signed-off-by: Kun Zhang <zkazure@gmail.com>

fix

Signed-off-by: Kun Zhang <zkazure@gmail.com>
Upstream-commit: a7c00bc1a23571dbd5e0085aac22a0e5b0d5fe40
Component: engine
2015-08-10 22:18:57 +08:00
89ab9698f7 Merge pull request #15074 from coolljt0725/14756_enable_golint_2
Enable golint in pkg/jsonlog and pkg/jsonmessage part of #14756
Upstream-commit: 764aa1a583ba6f73a32af1ba064401967cb716b6
Component: engine
2015-08-08 07:14:53 -04:00
305eb65786 Enable golint in pkg/jsonlog and pkg/jsonmessage.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 5220f3b535ce38edbff616bc78f1eb92148d310e
Component: engine
2015-08-08 11:28:22 +08:00
2c6e673ce7 typofix - https://github.com/vlajos/misspell_fixer
Signed-off-by: Veres Lajos <vlajos@gmail.com>
Upstream-commit: 514623272398574c8fd7ef3fe42c5b2ae161349a
Component: engine
2015-08-07 23:25:49 +01:00
c3a2ab168f Merge pull request #15141 from Microsoft/10662-cp
Windows [TP3] - make docker cp functional
Upstream-commit: 04cd81401ad721cc3e1222c08fd81a1133737548
Component: engine
2015-08-06 17:15:09 -07:00
0f41d6e091 Remove pointers from the SysInfo struct.
Because they can just be values.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: c2bc637a0306657a86f3739bd5bdcd5db8d22539
Component: engine
2015-08-06 15:57:21 -07:00
0655529aa6 Move sysinfo out of daemon struct
sysinfo struct was initialized at daemon startup to make sure
kernel configs such as device cgroup are present and error out if not.
The struct was embedded in daemon struct making impossible to detect
if some system config is changed at daemon runtime (i.e. someone
umount the memory cgroup). This leads to container's starts failure if
some config is changed at daemon runtime.
This patch moves sysinfo out of daemon and initilize and check it when
needed (daemon startup, containers creation, contaienrs startup for
now).

Signed-off-by: Antonio Murdaca <runcom@linux.com>
(cherry picked from commit 472b6f66e03f9a85fe8d23098dac6f55a87456d8)
Upstream-commit: b2d06b6fba307a8972d08477ef8b711e31ace433
Component: engine
2015-08-06 15:46:09 -07:00
f147ed75c5 Merge pull request #15320 from hqhq/hq_add_cgroup_check
Check sysinfo for Cpuset cpu.shares and blkio
Upstream-commit: 9ce0a20c01ec0a8e0c3a1a45fba566600e7e9d4d
Component: engine
2015-08-06 14:23:37 -07:00
efe044b445 Windows - make docker cp functional
Signed-off-by: John Howard <jhoward@microsoft.com>

Conflicts:
	pkg/archive/copy.go

Make it compile

Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 2a237615c0915b60b8dc6c13a377bb766780ecbf
Component: engine
2015-08-06 11:22:38 -07:00
23d0cda657 Remove pkg/systemd
Signed-off-by: Antonio Murdaca <runcom@linux.com>
Upstream-commit: 931645c46056ae24b2df51c447b6df1a66b2ca30
Component: engine
2015-08-06 14:35:00 +02:00
9d9a4fd0c0 Merge pull request #15252 from coolljt0725/14765_enable_golint_3
Enable golint in pkg/archive
Upstream-commit: 8534090476b6eae66f1eca81e8bc0e0c61ed7197
Component: engine
2015-08-05 19:27:48 -04:00
f23264da83 Check sysinfo for Cpuset cpu.shares and blkio
Carried: #14015

If kernel is compiled with CONFIG_FAIR_GROUP_SCHED disabled cpu.shares
doesn't exist.
If kernel is compiled with CONFIG_CFQ_GROUP_IOSCHED disabled blkio.weight
doesn't exist.
If kernel is compiled with CONFIG_CPUSETS disabled cpuset won't be
supported.

We need to handle these conditions by checking sysinfo and verifying them.

Signed-off-by: Zefan Li <lizefan@huawei.com>
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: b7599d58cb103e3b13b3a51553fd69f5f8b60893
Component: engine
2015-08-05 22:35:18 +08:00
aa73b79fe2 Merge pull request #14921 from aaronlehmann/int64
Fix uses of "int" where "int64" should be used instead
Upstream-commit: 7374852be9def787921aea2ca831771982badecf
Component: engine
2015-08-04 19:16:13 -07:00
f031716448 Merge pull request #14840 from HuKeping/golint-pkg-sysinfo
Fix golint warning on pkg/sysinfo
Upstream-commit: 23dab01ed245c5a5132a2deb7ea26c0a984ec198
Component: engine
2015-08-04 20:57:39 +02:00
3ba45e7906 Enable golint in pkg/arcive
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: ba332b7d12fba16e8c604728a44986886eeb07d6
Component: engine
2015-08-04 09:52:54 +08:00
9d03f0053f Add more amazing women to the names generator.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 85a0f56fe73fc797a01f490032d9f7c88b7b4946
Component: engine
2015-08-03 17:19:36 -07:00
5947da9f2e Merge pull request #15013 from coolljt0725/14756_enbale_golint_1
Enable golint, part of #14756
Upstream-commit: dce1488ae56df8c4fe8cac4dde1858745f7f8cbf
Component: engine
2015-08-02 22:14:18 -04:00
e840b8ec78 Enable golint part of #14756
pkg/broadcastwriter
pkg/graphdb
pkg/httputils
pkg/ioutils

Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 27a8f9937ece67015d06b219bb8aa5cc4f6b7d32
Component: engine
2015-08-03 09:45:05 +08:00
cd1228889c Fix golint warning on pkg/sysinfo
Signed-off-by: Hu Keping <hukeping@huawei.com>
Upstream-commit: 7390cc5300d260a853c68d6eb25493fefaecca43
Component: engine
2015-08-01 18:24:49 +08:00
761b152e62 Fix uses of "int" where "int64" should be used instead
Some structures use int for sizes and UNIX timestamps. On some
platforms, int is 32 bits, so this can lead to the year 2038 issues and
overflows when dealing with large containers or layers.

Consistently use int64 to store sizes and UNIX timestamps in
api/types/types.go. Update related to code accordingly (i.e.
strconv.FormatInt instead of strconv.Itoa).

Use int64 in progressreader package to avoid integer overflow when
dealing with large quantities. Update related code accordingly.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 1f61084d83aea37b212468aaa975020094b7f7c9
Component: engine
2015-07-31 16:31:40 -07:00
14e1d4c1cc Merge pull request #15207 from calavera/fix_index_locking
Remove read index that causes dead lock.
Upstream-commit: 3e0b0c59e6ae56454c3e68876cc1936f04999920
Component: engine
2015-07-31 14:55:00 -07:00
df2916dab1 Remove read index that causes dead lock.
Let the iterator to lock the index when it needs it.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 5ed84009b33642ca1f1eac8b99001842d93e2494
Component: engine
2015-07-31 13:53:17 -07:00
8a201393ad pkg/namesgenerator: add a 'names-generator' binary
Signed-off-by: Manfred Touron <m@42.am>
Upstream-commit: 08006506651498cd8647123daadc7abde37ecb7d
Component: engine
2015-07-31 13:07:40 +02:00
935ca110b9 Merge pull request #15123 from ewindisch/seed-pkgrand-cryptorand
Prefer crypto rand seed for pkg/rand
Upstream-commit: 9a9a12b35168c3b4391139982bc613db2ff97834
Component: engine
2015-07-30 22:41:17 -04:00
385c38be8c Merge pull request #15146 from kolyshkin/mkdirall
Simplify and fix MkdirAll usage
Upstream-commit: 8d2739df980a1af76ad50e5c423134815186b61c
Component: engine
2015-07-30 22:40:57 -04:00
0c28668f97 Merge pull request #14950 from ottok/master
Multiple fixes to 'docker stats' output
Upstream-commit: 85051832522ca217401d6eb4ddda1b1a7fdce9ad
Component: engine
2015-07-30 14:02:35 -07:00
a55bf4a409 Merge pull request #14885 from jlhawn/fix_cp_symlink
Fix copying of symlinks in containers
Upstream-commit: 030f61df3db2c053d68aacddc2c6893db3dee6ce
Component: engine
2015-07-30 13:42:40 -07:00
2f014c412e Merge pull request #15169 from Microsoft/10662-tidydiff
Tidy platform common bits in diff
Upstream-commit: 9431acbc0ab819ba3040b680e8ca05318c9c9156
Component: engine
2015-07-30 13:42:27 -07:00
7a72702c89 Tidy platform common bits in diff
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 5ab9654bc4ebcf49f95c91e16ecb09bbe7779b50
Component: engine
2015-07-30 13:04:49 -07:00
0a7e55f30a Fix docker cp Behavior With Symlinks
[pkg/archive] Update archive/copy path handling

  - Remove unused TarOptions.Name field.
  - Add new TarOptions.RebaseNames field.
  - Update some of the logic around path dir/base splitting.
  - Update some of the logic behind archive entry name rebasing.

[api/types] Add LinkTarget field to PathStat

[daemon] Fix stat, archive, extract of symlinks

  These operations *should* resolve symlinks that are in the path but if the
  resource itself is a symlink then it *should not* be resolved. This patch
  puts this logic into a common function `resolvePath` which resolves symlinks
  of the path's dir in scope of the container rootfs but does not resolve the
  final element of the path. Now archive, extract, and stat operations will
  return symlinks if the path is indeed a symlink.

[api/client] Update cp path hanling

[docs/reference/api] Update description of stat

  Add the linkTarget field to the header of the archive endpoint.
  Remove path field.

[integration-cli] Fix/Add cp symlink test cases

  Copying a symlink should do just that: copy the symlink NOT
  copy the target of the symlink. Also, the resulting file from
  the copy should have the name of the symlink NOT the name of
  the target file.

  Copying to a symlink should copy to the symlink target and not
  modify the symlink itself.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
Upstream-commit: 75f6929b449a59335572436862d644afacf55cdb
Component: engine
2015-07-30 12:14:28 -07:00
bded7814ff Merge pull request #15156 from duglin/AddErrTruncIndex
Add missing typed error in truncindex
Upstream-commit: b149d9d0d9b3e784ee16c6ebc4fb4faceb19e703
Component: engine
2015-07-30 14:55:40 -04:00
3c8e934faf Simplify and fix os.MkdirAll() usage
TL;DR: check for IsExist(err) after a failed MkdirAll() is both
redundant and wrong -- so two reasons to remove it.

Quoting MkdirAll documentation:

> MkdirAll creates a directory named path, along with any necessary
> parents, and returns nil, or else returns an error. If path
> is already a directory, MkdirAll does nothing and returns nil.

This means two things:

1. If a directory to be created already exists, no error is returned.

2. If the error returned is IsExist (EEXIST), it means there exists
a non-directory with the same name as MkdirAll need to use for
directory. Example: we want to MkdirAll("a/b"), but file "a"
(or "a/b") already exists, so MkdirAll fails.

The above is a theory, based on quoted documentation and my UNIX
knowledge.

3. In practice, though, current MkdirAll implementation [1] returns
ENOTDIR in most of cases described in #2, with the exception when
there is a race between MkdirAll and someone else creating the
last component of MkdirAll argument as a file. In this very case
MkdirAll() will indeed return EEXIST.

Because of #1, IsExist check after MkdirAll is not needed.

Because of #2 and #3, ignoring IsExist error is just plain wrong,
as directory we require is not created. It's cleaner to report
the error now.

Note this error is all over the tree, I guess due to copy-paste,
or trying to follow the same usage pattern as for Mkdir(),
or some not quite correct examples on the Internet.

[v2: a separate aufs commit is merged into this one]

[1] https://github.com/golang/go/blob/f9ed2f75/src/os/path.go

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Upstream-commit: a83a76934787a20e96389d33bd56a09369f9b808
Component: engine
2015-07-30 11:48:08 -07:00