Commit Graph

31005 Commits

Author SHA1 Message Date
5b78ab86a3 Merge pull request #31273 from fabiokung/consistent-ro-view
No container locks on `docker ps`
Upstream-commit: 56ad9bb1b4f7463cf1d6eab8b6f924f46ff2c2fe
Component: engine
2017-06-23 15:28:55 -07:00
7a0490e85b Merge pull request #33804 from clnperez/fix-cli-test-autogen
Fix autogen vars
Upstream-commit: 6e96eec565664a261fd641a6807c3c5e17ffefff
Component: engine
2017-06-23 15:28:29 -07:00
553c4b8a9b Merge pull request #33785 from Microsoft/jjh/hcsschemaupdate
LCOW: Updates necessary due to platform schema change
Upstream-commit: 25a65a185b6b512117803ab25c716ca8f831ccdf
Component: engine
2017-06-23 13:08:13 -07:00
34f4d1d4f0 Fix autogen vars
commit ea2e4d73c4c753cdc99966e4dfe35143e79564ce removed the autogen
script, but if you happen to clone the dir fresh from git, you can't
build the integration test binaries.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
Upstream-commit: 091e07c87d7dc9130e4f9b0f68342bb07c79ba2f
Component: engine
2017-06-23 14:40:09 -05:00
55b5e8b06f Net operations already hold locks to containers
Fix a deadlock caused by re-entrant locks on container objects.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 37addf0a50ccba51630368c6ed09eb08166d6f48
Component: engine
2017-06-23 07:52:35 -07:00
cd24ef2d4a avoid saving container state to disk before daemon.Register
Migrate legacy volumes (Daemon.verifyVolumesInfo) before containers are
registered on the Daemon, so state on disk is not overwritten and legacy
fields lost during registration.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 76d96418b13080514f3fb861072b06cb91d71cff
Component: engine
2017-06-23 07:52:34 -07:00
60fed1f9a7 delete unused code (daemon.Start)
Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 66b231d598174986ad08236f0a38beb825e5a3c3
Component: engine
2017-06-23 07:52:34 -07:00
69f8ddc123 ensure heath monitor status updates are propagated
initHealthMonitor and updateHealthMonitor can cause container state to
be changed (State.Health).

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 04bd768a889f94a4dc6ad25e2a014dffd0a4e04e
Component: engine
2017-06-23 07:52:34 -07:00
9755d1918d avoid re-reading json files when copying containers
Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: a43be3431e51b914ab170569b9e58239d64b199c
Component: engine
2017-06-23 07:52:34 -07:00
b8affe908f only Daemon.load needs to call label.ReserveLabel
Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 9134e87afc6f3215a58d23c7261242b764357501
Component: engine
2017-06-23 07:52:33 -07:00
940ce3d71d save deep copies of Container in the replica store
Reuse existing structures and rely on json serialization to deep copy
Container objects.

Also consolidate all "save" operations on container.CheckpointTo, which
now both saves a serialized json to disk, and replicates state to the
ACID in-memory store.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: edad52707c536116363031002e6633e3fec16af5
Component: engine
2017-06-23 07:52:33 -07:00
666b1f6a5b no need to save container state here
it is already being saved (with a lock held) on the subsequent
operations.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: f668af4475980e32c99503c4a513668c24ea2da6
Component: engine
2017-06-23 07:52:33 -07:00
debc6bf90d verifyVolumesInfo needs a container lock
It operates on containers that have already been registered on the
daemon, and are visible to other goroutines.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 201a37f7a110402a76ac1ee21b5d09ccffed2acb
Component: engine
2017-06-23 07:52:33 -07:00
a2b99b3d6c no need to save state to disk here
State will be saved on the following operation once the container is
properly registered on the daemon.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 03aa24721c88e508f208c1ff72d8cd1af7e6a0f8
Component: engine
2017-06-23 07:52:32 -07:00
84bdea3f4f how to maintain the container snapshot struct
Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 2ed6f9257a0ccb81583e65bf8af0e00f8e2dedcb
Component: engine
2017-06-23 07:52:32 -07:00
9bf8a3a581 Make tests a bit less flaky
Prevent tests failing when teardown tries to delete a container that is
already being removed.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: fcb6d37a8dde8a91896116742116e9d9808b18ac
Component: engine
2017-06-23 07:52:32 -07:00
ae145558ae Move checkpointing to the Container object
Also hide ViewDB behind an inteface.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: aacddda89df05b88a6d15fb33c42864760385ab2
Component: engine
2017-06-23 07:52:32 -07:00
8111997a67 stop grabbing container locks during ps
Container queries are now served from the consistent in-memory db, and
don't need to grab a lock on every container being listed.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 8e425ebc422876ddf2ffb3beaa5a0443a6097e46
Component: engine
2017-06-23 07:52:31 -07:00
8889d56b70 keep a consistent view of containers rendered
Replicate relevant mutations to the in-memory ACID store. Readers will
then be able to query container state without locking.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: eed4c7b73f0cf98cf48943da1c082f3210b28c82
Component: engine
2017-06-23 07:52:31 -07:00
ad08f8c7af in-memory ACID store for containers
This can be used by readers/queries so they don't need locks.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 054728b1f555892c6c0bfd7abfbaeb2fedbc8f10
Component: engine
2017-06-23 07:24:11 -07:00
8cedd0fee9 Move platform specific mount data to Container
The Solaris version (previously daemon/inspect_solaris.go) was
apparently missing some fields that should be available on that
platform.

Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: cfc404a375817125e4b32a9cd6a4ec7e3c55dc4e
Component: engine
2017-06-23 07:22:47 -07:00
f3a5ac7e36 Merge pull request #33653 from raja-sami-10p/pkg/streamformatter
Increase the Coverage of pkg/streamformatter
Upstream-commit: db57b85fcbe01ab195b48da3d715fdb4e1d4f9e8
Component: engine
2017-06-22 19:52:02 -07:00
38ce10a9ac Vendor jhowardmsft/opengcs v0.0.4
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: c75db46d5b4faae326793b7c6c5fc35be39fca7d
Component: engine
2017-06-22 19:28:49 -07:00
35bda9cb09 Vendor Microsoft/hcsshim v0.5.25
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 9508c605d882a5981a480ab0a07cc9b77568b4d8
Component: engine
2017-06-22 19:28:43 -07:00
e63e0a4f81 Merge pull request #33786 from thaJeztah/interactive-build-sessions
Documentation updates for interactive sessions
Upstream-commit: 2ef8936d8e060fa071e8d1422f9260e63c55f737
Component: engine
2017-06-22 18:11:52 -07:00
1ff0d7b31f Merge pull request #33738 from fcrisciani/libnetwork-vendoring
Libnetwork vendoring
Upstream-commit: 9f5f3e49dae981736b37bf3d18592c2ce4029644
Component: engine
2017-06-22 17:41:46 -07:00
f565ab7c75 Merge pull request #33773 from aaronlehmann/vendor-swarmkit-79381d0
Vendor swarmkit 79381d0
Upstream-commit: 4d0c01ac17933ee0c8b94bc2beea5965377d42ef
Component: engine
2017-06-22 16:26:34 -07:00
3821f2cd57 Documentation updates for interactive sessions
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: b8b8a9c837889c8851aade242ab1a1be0a8e7cf4
Component: engine
2017-06-22 15:36:56 -07:00
c54a797733 LCOW: Update for platforms latest schema
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 330913cadf1fcca00be4b6b841ceb8d14471f470
Component: engine
2017-06-22 14:07:23 -07:00
908bb4d956 Improve routes initialization
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 8f68adfaf0231ded0ba6bd2ec522711752031885
Component: engine
2017-06-22 11:52:43 -07:00
e529bcd027 Implement incremental file sync using client session
Also exposes shared cache and garbage collection/prune
for the source data.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 5c3d2d552b0430672d5f481ab2d37036f6e92166
Component: engine
2017-06-22 11:52:35 -07:00
0051caf8c8 vendor: update deps for fssession
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 7cfcf74a907bb1fce63e95761c7e1ac70cb9e5df
Component: engine
2017-06-22 11:22:42 -07:00
6553b6419b session: update swagger yaml
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 4f51ca1e825072d89762a1a5273e714196910d90
Component: engine
2017-06-22 11:22:42 -07:00
b1e4d7d884 Add long-running client session endpoint
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: ec7b6238c31e26702ecf366731532e189b5da142
Component: engine
2017-06-22 11:22:41 -07:00
bfc36e79fd Merge pull request #33764 from keloyang/fix-queue-mem-leak
Fix mem leak in libcontainerd/queue/append
Upstream-commit: f88626b270827da7e8a2d668dc2e16bbe1ac53f0
Component: engine
2017-06-22 10:57:07 -07:00
e48afa3455 Merge pull request #33774 from Microsoft/jjh/lcow-networking
LCOW: owner and network endpoints
Upstream-commit: c85f92de15d8f7162b7579143d2be74d8453996d
Component: engine
2017-06-22 16:40:50 +02:00
7ccd764533 fix mem leak in libcontainerd/queue/append
Signed-off-by: yangshukui <yangshukui@huawei.com>
Upstream-commit: 5425a5ab842894d7eb7e26bb706a04be40b67075
Component: engine
2017-06-22 16:47:47 +08:00
926eab07b2 Merge pull request #33772 from cpuguy83/optimizations
Don't json marshal then immediately unmarshal
Upstream-commit: 4fc2710dc7a8fc87849e94770fcf33eececae2fc
Component: engine
2017-06-22 01:19:08 -07:00
8aabb3651f Increase the Coverage of pkg/streamformatter
Signed-off-by: Raja Sami <raja.sami@tenpearls.com>
Upstream-commit: 956c5b61cea9e476847b9d2231ac66d3ec85f018
Component: engine
2017-06-22 12:29:10 +05:00
ce27333614 Merge pull request #33776 from thaJeztah/remove-deprecated-mkimage
Remove deprecated contrib/mkimage-xyz scripts
Upstream-commit: 5f0062f0fa97adc480f2e15b20efb89f5cbe3b5b
Component: engine
2017-06-21 22:41:48 -07:00
40224fcf4b LCOW: owner and network endpoints
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: e99a633720563d8d8d2669791cee542c0f989291
Component: engine
2017-06-21 22:35:30 -07:00
02a0e27cd2 Remove deprecated contrib/mkimage-xyz scripts
The contrib/mkimage-busybox.sh, contrib/mkimage-debootstrap.sh,
and  contrib/mkimage-rinse.sh were deprecated in commit
51f707cf9dfb2dbe31cfd0cd92b922ca5d98e842, in favor of
their equivalents in contrib/mkimage/

Given that the deprecation warning has been in place
for over three years, it's save to now remove these.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: d14fb3ac4e712e5927eaad33213b0910aa56ec13
Component: engine
2017-06-21 21:56:24 -07:00
0ae69f3fe0 Merge pull request #33750 from dnephin/cleanup-more-cli-leftovers
Cleanup more cli leftovers
Upstream-commit: 4bdb6ed9b58d641176a601cfe92d496038c5a557
Component: engine
2017-06-21 21:23:28 -07:00
33086f32cd Grab a lock to read container.RemovalInProgress
Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Upstream-commit: 481a92cb4111ebc1b7d4de5eeff84f570e4ba5dd
Component: engine
2017-06-21 19:11:23 -07:00
2182fa2720 Merge pull request #32779 from rremer/auto-update-client
pull client API version negotiation out of the CLI and into the client
Upstream-commit: 8a672ba1aa5534a633b05fec7954afefd00b49f6
Component: engine
2017-06-21 17:35:22 -07:00
ad62bca460 Merge pull request #33241 from Microsoft/jjh/multi-layerstore
LCOW: Support most operations excluding remote filesystem
Upstream-commit: 930e6896685f614d8f15ed10207596b1a151cbc8
Component: engine
2017-06-21 15:45:23 -07:00
61e4b54502 Vendor swarmkit 79381d0
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 79b940feee9cf18893ead7269cfd59ec41bd7297
Component: engine
2017-06-21 15:32:53 -07:00
f9852d6a7a Don't json marshal then immediately unmarshal
During container startup we end up spending a fair amount of time
encoding/decoding json.
This cuts out some of that since we already have the decoded object in
memory.

The old flow looked like:

1. Start container request
2. Create file
3. Encode container spec to json
4. Write to file
5. Close file
6. Open file
7. Read file
8. Decode container spec
9. Close file
10. Send to containerd.

The new flow cuts out steps 6-9 completely, and with it a lot of time
spent in reflect and file IO.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 8d588d9c5b5cd019e09bcfc4f790eae79405c7b1
Component: engine
2017-06-21 15:18:01 -07:00
f7df2b4669 Merge pull request #33735 from tonistiigi/force-pull-fix
builder: fix copy —from conflict with force pull
Upstream-commit: 795a2fdbcb31fdc80ed5bb1fc8bf01e44b1a961d
Component: engine
2017-06-21 12:07:54 -07:00
4dc3e08e78 Merge pull request #33755 from aaronlehmann/imagestore-locking
image: Improve store locking
Upstream-commit: e64c2d7122158d7d8583ff6967c3e4a833042c25
Component: engine
2017-06-21 10:01:19 -07:00