Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bumps GRPC to 1.12.0 #2649

Merged
merged 6 commits into from
Jun 1, 2018
Merged

Bumps GRPC to 1.12.0 #2649

merged 6 commits into from
Jun 1, 2018

Commits on May 29, 2018

  1. This commit fixes some issues with our use of tls.Config and with GRPC:

    1. We now call `Clone` on the tls config when cloning the MutableTLSConfig
    because you can't reuse a tls.Config for multiple connections, which we
    would be doing if something called MutableTLSCreds.Clone, which newer
    versions of GRPC do.
    
    2. To prevent data races when grpc attempts to log, only set the grpc logger
    to discard in test init functions, rather than in TestMain functions as is
    documented by the `SetLoggerV2` function.  Also, use `SetLoggerV2` since
    SetLogger is deprecated.
    
    3. Wrap the default logger in a private struct that converts a logrus
    entry into a grpc LoggerV2, since the grpc Logger is deprecated.
    
    4. Stop using transport.StreamFromContext to get the peer address when checking
    redirects in the raft proxy.  grpc/transport is an internal package that
    downstream should not depend on, as the API may change (StreamFromContext
    for example is removed in >=1.11).  peer.FromContext can get the peer address
    just as well.
    
    Signed-off-by: Ying Li <ying.li@docker.com>
    cyli committed May 29, 2018
    Configuration menu
    Copy the full SHA
    f1afeb1 View commit details
    Browse the repository at this point in the history
  2. This commit fixes some breaking changes in GRPC >= 1.10.

    1. The GRPC update stopped returning errors when the listener underlying
    a GRPC server closed, so remove that assertion from the tests.
    
    2. Change the first error tracking in node not to check the GRPC error type for
    x509 errors, since it's changed between GRPC <1.10 and >=1.10, and the error
    message has changed as well in >=1.11. Also change the error message checking
    to something that works in <1.10 as well as >=1.11.
    
    Signed-off-by: Ying Li <ying.li@docker.com>
    cyli committed May 29, 2018
    Configuration menu
    Copy the full SHA
    4343384 View commit details
    Browse the repository at this point in the history
  3. Change TestSecurityConfigUpdateRootCA test to use a custom GRPC diale…

    …r that
    
    can surface TLS handshake errors, which GRPC considers transient.
    
    Signed-off-by: Ying Li <ying.li@docker.com>
    cyli committed May 29, 2018
    Configuration menu
    Copy the full SHA
    6a6993f View commit details
    Browse the repository at this point in the history
  4. Do not close the server transport in the dispatcher to force the agent

    to reconnect.  Just return an error - if an error is returned, the agent
    will reconnect anyway - it seems like the transport closing was a way
    to convince GRPC's load balancer to start reconnecting automatically.
    See moby#797.
    
    Signed-off-by: Ying Li <ying.li@docker.com>
    cyli committed May 29, 2018
    Configuration menu
    Copy the full SHA
    90418ad View commit details
    Browse the repository at this point in the history
  5. Sending a message beyond the max receivable message size for the server

    no longer returns an EOF.
    
    Signed-off-by: Ying Li <ying.li@docker.com>
    cyli committed May 29, 2018
    Configuration menu
    Copy the full SHA
    e54ad63 View commit details
    Browse the repository at this point in the history
  6. Vendor GRPC 1.12.0, protobuf 1.1.0, and gogo protobuf 1.0.0.

    Signed-off-by: Ying Li <ying.li@docker.com>
    cyli committed May 29, 2018
    Configuration menu
    Copy the full SHA
    8f58755 View commit details
    Browse the repository at this point in the history