Commit Graph

32780 Commits

Author SHA1 Message Date
56e55727a8 vndr hcsshim to 79062a5
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
2018-04-25 22:09:31 +00:00
af03317180 Merge pull request #507 from thaJeztah/18.03-backport-plugin_exec_fixes
[18.03] Make sure plugin container is removed on failure
2018-04-18 21:53:37 -07:00
76cbc5d636 Merge pull request #509 from cpuguy83/18.03_backport_authz_buffer_fix_36595
[18.03] backport authz buffer fix
2018-04-18 20:42:44 -07:00
14b513f77d Merge pull request #520 from thaJeztah/18.03-backport-libcontainerd_client_locking
[18.03] Relax global client lock on containerd restore.
2018-04-18 20:35:00 -07:00
be3f367578 Merge pull request #515 from thaJeztah/18.03-backport-election
[18.03] Increase raft ElectionTick to 10xHeartbeatTick
2018-04-18 17:01:37 -07:00
db5f5c037d Merge pull request #516 from thaJeztah/18.03-backport-booo
[18.03] Don't make container mount unbindable
2018-04-18 17:01:03 -07:00
905f71561a Relax global client lock on containerd restore.
This unblocks the client to take other restore requests and makes sure
that a long/stuck request can't block the client forever.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 806700e410a1b30aa1033d71d825e57880c75298)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-18 16:49:38 -07:00
60dc869e44 Limit authz response buffer
When the authz response buffer limit is hit, perform a flush.
This prevents excessive buffer sizes, especially on large responses
(e.g. `/containers/<id>/archive` or `/containers/<id>/export`).

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 74f8e47352e71aad4015d8d9dea8f16e7a055863)
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-18 16:27:50 -07:00
ce2f874741 Make sure plugin container is removed on failure
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit f81172b9031160218e51fb2a7dbeee19962a60a9)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-18 16:24:51 -07:00
e79a05793b Merge pull request #513 from thaJeztah/18.03-backport-test-improvements
[18.03] Updates to integration tests, migrate to "gotestyourself"
2018-04-18 16:19:12 -07:00
4fd6bf8c4a Merge pull request #514 from thaJeztah/18.03-bump-libnetwork
[18.03] Update libnetwork
2018-04-18 15:44:33 -07:00
3d5ce4f418 Merge pull request #477 from thaJeztah/18.03-distribution-cache
[18.03] fix(distribution): digest cache should not be moved if it was an auth error
2018-04-18 15:27:38 -07:00
02e93e419f Merge pull request #479 from thaJeztah/18.03-err_return
[18.03] Add missing error return for plugin creation.
2018-04-18 14:47:52 -07:00
72f31848f8 Don't make container mount unbindable
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit 4c000662feb3c8e3d63cbcb044a47f627cd9bb45)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 23:55:02 -07:00
0e66a94980 Increase raft ElectionTick to 10xHeartbeatTick
Signed-off-by: Anshul Pundir <anshul.pundir@docker.com>
(cherry picked from commit 6abee2008b314a65553202b15d9a333d171e3433)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 23:43:11 -07:00
85143bcb4d Bump libnetwork commit
Full diff
5c1218c956...c15b372ef2

Fixes a panic on concurrent read/write to a map.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 248aed5766ba330ab8cb2b10b03b6ce57dc64283)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 19:24:33 -07:00
a4b56ba187 update libnetwork to improve scalabiltiy of bridge network isolation rules
* libnetwork#2121: Retry other external DNS servers on ServFail
* libnetwork#2125: Fix README flag and expose orphan network peers
* libnetwork#2126: Adding goreport card
* libnetwork#2130: Modify awk to use cut in check_ip_overlap
* libnetwork#2117: [Carry 1534] Improve scalabiltiy of bridge network isolation rules

Full changes: 2bf63300c5...5c1218c956

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit b159da19734269c4a162763ebfa28dff07b703f3)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 19:24:27 -07:00
5a884e1a0d Remove (now) extra call to sb.DisableService()
This call was added as part of commit a042e5a20 and at the time was
useful.  sandbox.DisableService() basically calls
endpoint.deleteServiceInfoFromCluster() for every endpoint in the
sandbox.  However, with the libnetwork change, endpoint.sbLeave()
invokes endpoint.deleteServiceInfoFromCluster(). The releaseNetwork()
call invokes sandbox.Delete() immediately after
sandbox.DisableService().  The sandbox.Delete() in turn ultimately
invokes endpoint.sbLeave() for every endpoint in the sandbox which thus
removes the endpoint's load balancing entry via
endpoint.deleteServiceInfoFromCluster().  So the call to
sandbox.DisableService() is now redundant.

It is noteworthy that, while redundant, the presence of the call would
not cause errors.  It would just be sub-optimal.  The DisableService()
call would cause libnetwork to down-weight the load balancing entries
while the call to sandbox.Delete() would cause it to remove the entries
immediately afterwards.  Aside from the wasted computation, the extra
call would also propagate an extra state change in the networkDB gossip
messages.  So, overall, it is much better to just avoid the extra
overhead.

Signed-off-by: Chris Telfer <ctelfer@docker.com>
(cherry picked from commit c27417aa7de46daa415600b39fc8a9c411c8c493)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 19:24:20 -07:00
0fae0d5a40 Import libnetwork fix for rolling updates
This patch allows endpoints to complete servicing connections while
being removed from a service.  The fix is entirely within libnetwork
and requires no changes to the moby codebase proper.  It operates
by initially down-weighting a container endpoint in the load balancer
to 0 while keeping the endpoint present in the load balancer.  This
allows traffic to continue to flow to the endpoint while preventing new
connections from going to the endpoint.  This allows the container
to complete requests during the "stop_grace_period" and then exit when
finished without interruption of service.

This change requires propagating the status of disabled service
endpoints via the networkDB.  Accordingly, the patch includes both code
to generate and handle service update messages.  It also augments the
service structure with a ServiceDisabled boolean to convey whether an
endpoint should ultimately be removed or just disabled.  This,
naturally, required a rebuild of the protocol buffer code.

The protocol buffer encoding is designed to support additions of fields
to messages in a backwards-compatible manner.  Protocol buffer
unmarshalling code automatically skips past any fields that it isn't
aware of.  As a result, an older moby daemon without this fix can
receive and will process correctly networkDB messages from newer moby
daemons with this patch.

As it turns out, the additional field is simply a bool that is otherwise
irrelevent on networkDB create and delete events.  So its absence in
older moby daemon processing has no impact.  However, the fix leverages
the "update" networkDB message which was previously unused in
libnetwork.  Although older libnetwork implementations parse the message
cleanly, they will see the message as unexpected and as such issue a log
at error level indicating the receipt of such.

Other than this there should be no other negative impact for use of this
patch in mixed environments. (Although older mobys won't be able to
gracefully downgrade connections on their nodes of course.)

Signed-off-by: Chris Telfer <ctelfer@docker.com>
(cherry picked from commit 50dbdeff9fd186bb0e9926996436e1f56529a831)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 19:24:13 -07:00
608b278d01 Fix a misused network object name
A minor nit. `test01` never been created and used in
`TestDockerNetworkInspectCustomSpecified()` function, so correct it.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
(cherry picked from commit f041953d04bffa2be05466173f02dd016c68286d)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 19:11:29 -07:00
faccf7d3a7 remove the retries for service update
Signed-off-by: Anda Xu <anda.xu@docker.com>
(cherry picked from commit 7380935331f0c35315003578258f6c1f47c1a586)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 19:08:23 -07:00
04b5ed6c10 Migrate image tag tests from integration-cli to api tests
This fix migrates image tag tests from integration-cli to api tests.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 9bcb960508a6066811cffcca1e35ca44d7f1cf94)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 19:06:13 -07:00
7974841233 Move fakecontext, fakegit and fakestorage to internal/test
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 062564084a22f71cf5807ae5dfad7d29afb12e04)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:42:10 -07:00
f70c483990 Some enhancement in integration tests
This fix converts some `client.ContainerCreate` to `container.Create`,
and removes some unneeded `name` fields when test containers are created.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit ab9bb47b05b1dde445a5e4ba78ae97303208dc8b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:34:06 -07:00
49acaa1f03 Small daemon refactoring and add swarm init/join helpers
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 239a8a518904dfb51fe62087d8702519c20ce808)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:33:54 -07:00
09fa7b76b7 Migrate test-integration-cli experimental build tests to integration
All `docker build` tests that require an `ExperimentalDaemon` are
migrated to `integration/build` package and start an experimental
daemon to test on it.

The end goal being to remove the `experimental` builds.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 183076e89df64928bd2e94ad0da9725b482367cd)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:33:46 -07:00
b11c120bdf Clean some integration-cli/fixtures package/files
- Move go package used by both `integration-cli` and `integration` to
  `internal/test/fixtures`.
- Remove fixtures that are not used anymore (moved to `docker/cli` a
  while ago) : deploy, notary, secrets.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 5f56503f583f21d655394f755f71849381bd58c7)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:29:31 -07:00
f160c829fb Move and refactor integration-cli/registry to internal/test
- Move the code from `integration-cli` to `internal/test`.
- Use `testingT` and `assert` when creating the registry.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 66de2e6e3b6d927a3396743cd7c363aa9f7b776e)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:29:23 -07:00
fa03812525 Move ipvlan and macvlan tests on their own folder…
… making each folder/suites quicker to run

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit a3323d2e4349b7e8d449c6e571ca3d4aa3e53d63)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:24:06 -07:00
997850a2f2 Refactor macvlan tests a bit
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 0ab6116ce868a0fc671a49a89696e3a1ce35e26d)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:23:56 -07:00
cb93f50ae0 Migrate test-integration-cli experimental ipvlan test to integration
All `Ipvlan` related test on `DockerSuite` and `DockerNetworkSuite`
are migrated to `ipvlan_test.go`.

The end goal being to remove the `experimental` builds.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 24f934751120ea420b7ba4d2e314df805f3eff06)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:23:46 -07:00
174c840b96 Make internal/test/daemon.Daemon swarm aware
This remove the daemon.Swarm construction by make the new test Daemon
struct aware of swarm.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 83d18cf4e3e84055f7034816eed2a10c04e777ca)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:23:34 -07:00
e0b31bfb7b Using the default PollSettings function
Using the default PollSettings functions to adjust the timeout
value instead of changing the value each time when needed.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
(cherry picked from commit b8912feeffcdfd489c9fc1212277840adac2719c)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:23:21 -07:00
176c10200c Add default pollSettings adjustment routines
Add the default function per resource to override the `pollSettings`
which will be re-used where it's needed.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
(cherry picked from commit ee6959addc5664a5c55765f2c721f84414ea4779)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:23:13 -07:00
16e1ab0f89 Fix for Flaky test TestServiceWithPredefinedNetwork
TestServiceWithPredefinedNetwork test case was failing
	at times. To fix the issue, added new API to check
	for services after we clean up all services. Tested
	multiple times and this sould fix flaky issue.

Signed-off-by: selansen <elango.siva@docker.com>
(cherry picked from commit dabffd806c98ab13dbc25e57bee21c5291b9a50c)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:23:01 -07:00
1776b7beed Move integration-cli daemon package to internal/test…
… and do not use the `docker` cli in it. One of the reason of this
move is to not make `integration` package using legacy
`integration-cli` package.

Next move will be to support swarm within this package *and* provide
some helper function using the api (compared to the one using cli in
`integration-cli/daemon` package).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit f0d277fe84a72b29c0d2d541c20d5a9c4d7e4884)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:14:34 -07:00
362aa8f58a Migrate test-integration-cli experimental macvlan test to integration
All `Macvlan` related test on `DockerSuite` and `DockerNetworkSuite`
are migrated to `macvlan_test.go`.

Also, as `macvlan` seems to be out of experimental, this removes
the *skip* when the run is not experimental (and doesn't start a
daemon with experimental either).

The end goal being to remove the `experimental` builds.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit ef5bc603266b9fa5df525319d67329ebc14a8ee7)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:14:14 -07:00
2c0117e268 Network testing with busybox:glibc
Using the `busybox:glibc` instead of `busybox:latest` to the
network related test cases (`ping` issue).

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
(cherry picked from commit 0d31dee5ec724731607e277a415b1ca4ecb7b2c4)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:14:03 -07:00
a29f2e130f Add busybox:latest into the frozen images
Adding `busybox:latest` and `busybox:glibc` as the frozen images

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
(cherry picked from commit 3ae45c5f173d88ba621116f9e1b5611fe687e050)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 18:13:56 -07:00
34e1feb36b Skip some tests in certain condition to run with e2e image
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit e55d6fc8573580f6eea009cd7f1034aa912128ef)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:59:41 -07:00
23752adb2d use unique names for resources used by integration tests container/inspect_test, container/ps_test, container/stop_test
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
(cherry picked from commit 78e4be91332e2237c0fa14eb3ba0fb5b915c3256)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:46:26 -07:00
69f0e0e720 integration/*: make e2e run without failure
… mainly by skipping if daemon is remote.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 6016e79d2552b21643f4bfd093ce76d8ef956d79)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:39:11 -07:00
33df5137f7 Update e2e script
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 4bb0f24716f45ac520e73a52d7d7ca2752cabd31)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:39:01 -07:00
612f972789 integration/TestContainerShmNoLeak: use --iptables=false
As mentioned in commit 9e31938, test cases that use t.Parallel()
and start a docker daemon might step on each other toes as they
try to configure iptables during startup, resulting in flaky tests.

To avoid this, --iptables=false should be used while starting daemon.

Fixes: eaa5192856c1 ("Make container resource mounts unbindable")
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
(cherry picked from commit c125e10a0486623ba3badebf974ea6e582373151)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:29:43 -07:00
f03b3e54d7 Update testing doc
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 58de6277821698a2f97d1a0c83664ab34ff2e8d8)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:29:34 -07:00
dc814f391e Cleanup pkg/jsonmessage progress tests
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 7d8815ea705e85a73248b5d9e468f9dc65277bb8)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:29:28 -07:00
cb1f6242ed Post migration assertion fixes
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit c9e52bd0da0461e605a3678b85702f83081504a7)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:29:22 -07:00
03ad49ebec Automated migration using
gty-migrate-from-testify --ignore-build-tags

Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 6be0f709830113966f295401327b027ec2f0bbca)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:28:49 -07:00
2ad8904abb Update vendor
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 073963e3b770efbdf8bd4b4f92d46b2c62eaf434)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:27:37 -07:00
a415a11279 Cleanup some assertions
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit ef01dea8935932486f03a37069720987e805dce6)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-04-17 17:27:29 -07:00