1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/vendor/github.com
Chris Telfer 50dbdeff9f 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>
2018-03-28 14:16:31 -04:00
..
armon rerun vndr 2017-03-08 02:29:34 +00:00
aws/aws-sdk-go Update aws-sdk-go and go-ini 2018-01-20 19:58:25 +00:00
Azure/go-ansiterm vendor: re-vendor github.com/Azure/go-ansiterm 2017-10-02 09:47:38 +02:00
beorn7/perks rerun vndr 2017-03-08 02:29:34 +00:00
boltdb/bolt rerun vndr 2017-03-08 02:29:34 +00:00
bsphere/le_go rerun vndr 2017-03-08 02:29:34 +00:00
BurntSushi/toml vendor: update BurntSushi/toml for MIT license 2018-02-05 13:57:49 +09:00
cloudflare/cfssl rerun vndr 2017-03-08 02:29:34 +00:00
containerd bump containerd/console to 2748ece16665b45a47f884001d5831ec79703880 2018-02-28 21:43:20 +01:00
coreos Vendor containerd 1.0 2017-10-19 13:19:41 -07:00
deckarep/golang-set rerun vndr 2017-03-08 02:29:34 +00:00
dmcgowan/go-tar Update containerd to 59bd1967112885c4d49e510e55701 2017-11-29 19:15:14 -05:00
docker Import libnetwork fix for rolling updates 2018-03-28 14:16:31 -04:00
fluent/fluent-logger-golang Added SubSecondPrecision flag in fluentd logger 2017-12-05 17:21:57 +05:30
fsnotify/fsnotify Update fsnotify to fix deadlock in removing watch 2017-11-09 15:17:22 -05:00
go-check/check rerun vndr 2017-03-08 02:29:34 +00:00
go-ini/ini Update aws-sdk-go and go-ini 2018-01-20 19:58:25 +00:00
godbus/dbus rerun vndr 2017-03-08 02:29:34 +00:00
gogo/protobuf Vendor gogoprotobuf v0.4 2017-05-17 15:50:28 -07:00
golang Content encoding negotiation added to archive request. 2018-02-24 06:41:45 +01:00
google Update vendor 2018-03-16 10:54:54 -04:00
googleapis/gax-go rerun vndr 2017-03-08 02:29:34 +00:00
gorilla rerun vndr 2017-03-08 02:29:34 +00:00
gotestyourself/gotestyourself Update vendor 2018-03-16 10:54:54 -04:00
Graylog2/go-gelf Update Graylog2/go-gelf vendoring. Fixes #35613 2017-12-11 15:55:50 -05:00
grpc-ecosystem/go-grpc-prometheus rerun vndr 2017-03-08 02:29:34 +00:00
hashicorp Libnetwork revendoring 2018-02-02 14:36:32 -08:00
imdario/mergo rerun vndr 2017-03-08 02:29:34 +00:00
inconshreveable/mousetrap rerun vndr 2017-03-08 02:29:34 +00:00
ishidawataru/sctp Support SCTP port mapping (bump up API to v1.37) 2018-02-20 11:15:36 +09:00
jmespath/go-jmespath rerun vndr 2017-03-08 02:29:34 +00:00
kr/pty Bump vndr to 9909bb2b8a0b7ea464527b376dc50389c90df587 2017-07-10 14:05:13 -07:00
mattn/go-shellwords Vendor package update github.com/mattn/go-shellwords 2017-04-11 18:14:00 +05:30
matttproud/golang_protobuf_extensions rerun vndr 2017-03-08 02:29:34 +00:00
Microsoft Revendor Microsoft/opengcs @ v0.3.6 2018-01-24 16:09:58 -08:00
miekg/dns Bump vndr to 9909bb2b8a0b7ea464527b376dc50389c90df587 2017-07-10 14:05:13 -07:00
mistifyio/go-zfs rerun vndr 2017-03-08 02:29:34 +00:00
moby/buildkit vendor: update buildkit 2017-09-21 22:17:43 -07:00
Nvveen/Gotty Revendor github.com/Nvveen/Gotty for github.com/Nvveen/Gotty#2 2017-04-06 12:19:32 +01:00
opencontainers Bump go-digest to v1.0.0-rc.1 2018-03-26 22:17:35 +02:00
pborman/uuid rerun vndr 2017-03-08 02:29:34 +00:00
philhofer/fwd rerun vndr 2017-03-08 02:29:34 +00:00
pivotal-golang/clock rerun vndr 2017-03-08 02:29:34 +00:00
pkg/errors rerun vndr 2017-03-08 02:29:34 +00:00
pmezard/go-difflib Add missing go-difflib vendoring 2017-05-15 11:23:52 -07:00
prometheus rerun vndr 2017-03-08 02:29:34 +00:00
RackSec/srslog rerun vndr 2017-03-08 02:29:34 +00:00
samuel/go-zookeeper rerun vndr 2017-03-08 02:29:34 +00:00
sean-/seed Vendoring memberlist tag 0.1.0 2017-04-27 13:21:35 -07:00
seccomp/libseccomp-golang Update moby to runc and oci 1.0 runtime final rc 2017-05-05 13:45:45 -07:00
sirupsen/logrus revendor logrus and x/crypto 2017-09-14 11:05:47 -05:00
spf13 Vendor swarmkit 79381d0 2017-06-21 15:32:53 -07:00
stevvooe/ttrpc Update containerd dependencies to match 1.0.2 2018-02-14 02:13:07 +01:00
syndtr/gocapability
tchap/go-patricia rerun vndr 2017-03-08 02:29:34 +00:00
tinylib/msgp Added SubSecondPrecision flag in fluentd logger 2017-12-05 17:21:57 +05:30
tonistiigi/fsutil Vendor containerd 1.0 2017-10-19 13:19:41 -07:00
ugorji/go rerun vndr 2017-03-08 02:29:34 +00:00
vbatts/tar-split vendor: update to github.com/vbatts/tar-split@v0.10.2 2017-11-08 02:50:52 +11:00
vdemeester/shakers rerun vndr 2017-03-08 02:29:34 +00:00
vishvananda Vendoring netlink library 2017-12-06 13:19:57 -08:00