Commit Graph

22 Commits

Author SHA1 Message Date
aebec1d07b 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>
Upstream-commit: 50dbdeff9fd186bb0e9926996436e1f56529a831
Component: engine
2018-03-28 14:16:31 -04:00
e73d8c24d7 Libnetwork revendoring
Diff:
5ab4ab8300...20dd462e0a

- Memberlist revendor (fix for deadlock on exit)
- Network diagnostic client
- Fix for ndots configuration

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
Upstream-commit: ec86547244fa329148a096db56f9ade77a7ce7eb
Component: engine
2018-02-02 14:36:32 -08:00
8afbe15ccf Vendoring of libnetwork
Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
Upstream-commit: c1e1fb6fa5204bb7014ca9ebab9fe1804c1eb957
Component: engine
2017-12-06 13:19:56 -08:00
6cafcfb61b Vendoring libnetwork and swarmkit
Signed-off-by: Abhinandan Prativadi <abhi@docker.com>
Upstream-commit: 2083121b0923dd084fc92873648b7ce74f725da5
Component: engine
2017-10-09 13:08:03 -07:00
35c8905315 Vendoring libnetwork
Diff:
5b28c0ec98...d5c8223190

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
Upstream-commit: 1ddeb11835600127a3319fc0dd3764e57ffbf521
Component: engine
2017-08-31 19:10:23 -07:00
848a1fd437 Vendoring libnetwork
Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
Upstream-commit: 709a433ec827b034b798e748d4393f7c9f3b3bc0
Component: engine
2017-08-10 08:51:30 -07:00
ed4f0879cf Update imports for logrus version
Add forks for changes which only make logrus change without functional
change.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Upstream-commit: 4f3616fb1c112e206b88cb7a9922bf49067a7756
Component: engine
2017-07-31 13:19:38 -07:00
2dcbbd9e01 Libnetwork vendoring
Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
Upstream-commit: 68d8198ed07acde9146a3e8e2021bd9d57250d81
Component: engine
2017-07-28 13:51:54 -07:00
ea569af511 Libnetwork vendoring
Fixes in the Service Discovery areas

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
Upstream-commit: e1953f1ca717c2609a0ee801c8af5b874d9fc3d2
Component: engine
2017-06-19 19:42:24 -07:00
3f80d858fd Vendoring libnetwork f4a15a0890383619ad797b3bd2481cc6f46a978d
Contains Service Discovery hardening fixes via
https://github.com/docker/libnetwork/pull/1796

Fixes multiple issues such as #32830

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 6868b8ef230fea7bc5758e2d252d4297033029fa
Component: engine
2017-06-12 01:01:45 -07:00
af043a1e5b Vendoring libnetwork and netlink
libnetwork eb57059e91bc54c9da23c5a633b75b3faf910a68
netlink bd6d5de5ccef2d66b0a26177928d0d8895d7f969

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 5fd65a6b6c524e670f3b4ccced3974f63c1fd9a6
Component: engine
2017-06-07 06:20:27 -07:00
73e3c52c67 Vendoring libnetwork @b2bc1a6
Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: 46392f2442137ad52bb7382e91e7ad4b70d323b9
Component: engine
2017-05-17 15:50:28 -07:00
1469dbf703 Libnetwork vendoring
Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
Upstream-commit: 385176980ef6c6f322c78d76bd2f98875e6aee69
Component: engine
2017-05-10 21:16:57 -07:00
3f5d2b22f9 Libnetwork vendoring
Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
Upstream-commit: 44c3de84506d2346c2ea68e13b94e2e296aa4caf
Component: engine
2017-04-28 13:17:44 -07:00
648a386996 Libnetwork vendoring
Vendor libnetwork changes for --data-path-addr flag

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
Upstream-commit: b96988feb928d295569f82fd0eaed5c16efad41d
Component: engine
2017-04-26 15:33:13 -07:00
29ed9a4779 Vendoring libnetwork @f3c4ca8
Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: bf5bebdfa0f7cc140f1c94d0e222aab714cbbcfb
Component: engine
2017-04-05 16:31:28 -07:00
60e7990876 Vendor libnetwork for network inspect --verbose changes
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
Upstream-commit: 67086764647b1c16553d1dd057f0e1d2c775c625
Component: engine
2017-03-12 21:23:21 -07:00
df253ac5fd Vendoring libnetwork @1a01921
Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: b005c7d6ebf7c980b1247532188dfe741659b175
Component: engine
2017-03-03 15:55:06 -08:00
eafbc1c086 Vendoring libnetwork @802895f
Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: 9e555ce7c3845219148ab4c16c9aa7efb84c2a89
Component: engine
2017-02-02 15:22:26 -08:00
f823abf46f Vendoring libnetwork to address some concurrency issues
Addresses #28697, #28845, #28712, #26111

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 8f082e418ba662eb700a3a9343371fa6d9c28d5a
Component: engine
2016-11-30 09:31:19 -08:00
12f8b31660 Update libnetwork to latest version
Signed-off-by: Tom Denham <tom@tomdee.co.uk>
Upstream-commit: 5b76fe4a35adac2467658cbc5a2b26469d75f8ca
Component: engine
2016-11-19 16:12:32 -08:00
61646d77af project: use vndr for vendoring
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: f2614f2107c838d014d31b806e3b8a9f1395cb2b
Component: engine
2016-11-03 15:31:46 -07:00