Commit Graph

13 Commits

Author SHA1 Message Date
Jacob Hoffman-Andrews 1014a81606 Switch to modules (#4211)
Because the package versions in go.mod match what we use in Godeps.json,
there are no substantive code diffs. However, there are some tiny
differences resulting from how go mod vendors things differently than
godep:

go mod does not preserve executable permissions on shell scripts
Some packages have import lines like:
package ocsp // import "golang.org/x/crypto/ocsp"

godep used to remove the comment from these lines, but go mod vendor does not.

This introduces several indirect dependencies that we didn't have
before. This is because godep used to operate at a package level, but
go mod operates at a module (~= repository) level. So if we used a
given repository, but didn't use all of its packages, we wouldn't
previously care about the transitive dependencies of the packages we
weren't using. However, in the go mod world, once we care about the
repository, we care about all of that repository's transitive
dependencies. AFAICT this doesn't affect vendoring.

Fixes #4116
2019-05-23 14:14:00 -07:00
Jacob Hoffman-Andrews 44c0b11981 Update x/text, grpc, and genproto. (#4158)
This is part of #4116 since the modules system wants higher versions of these.

golang.org/x/text -> v0.3.0
google.golang.org/grpc -> v1.20.0
google.golang.org/genproto -> master

$ go test google.golang.org/genproto/googleapis/rpc/status
?       google.golang.org/genproto/googleapis/rpc/status        [no test
files]

$ go test golang.org/x/text/{secure/bidirule,transform,unicode/bidi,unicode/norm}
-count=1
ok      golang.org/x/text/secure/bidirule       0.016s
ok      golang.org/x/text/transform     0.041s
ok      golang.org/x/text/unicode/bidi  0.007s
ok      golang.org/x/text/unicode/norm  1.800s

$ go test google.golang.org/grpc/{,balancer{,/base,/roundrobin},codes,connectivity,credentials,encoding,encoding/proto,grpclog,internal{,/backoff,/channelz,/envconfig,/grpcrand,/transport},keepalive,metadata,naming,peer,resolver{,/dns,/passthrough},stats,status,tap}
ok      google.golang.org/grpc  22.494s
?       google.golang.org/grpc/balancer [no test files]
?       google.golang.org/grpc/balancer/base    [no test files]
ok      google.golang.org/grpc/balancer/roundrobin      (cached)
ok      google.golang.org/grpc/codes    (cached)
?       google.golang.org/grpc/connectivity     [no test files]
ok      google.golang.org/grpc/credentials      0.015s
?       google.golang.org/grpc/encoding [no test files]
ok      google.golang.org/grpc/encoding/proto   0.056s
ok      google.golang.org/grpc/grpclog  0.001s
?       google.golang.org/grpc/internal [no test files]
?       google.golang.org/grpc/internal/backoff [no test files]
ok      google.golang.org/grpc/internal/channelz        0.034s
?       google.golang.org/grpc/internal/envconfig       [no test files]
?       google.golang.org/grpc/internal/grpcrand        [no test files]
ok      google.golang.org/grpc/internal/transport       81.123s
?       google.golang.org/grpc/keepalive        [no test files]
ok      google.golang.org/grpc/metadata 0.005s
ok      google.golang.org/grpc/naming   0.187s
?       google.golang.org/grpc/peer     [no test files]
?       google.golang.org/grpc/resolver [no test files]
ok      google.golang.org/grpc/resolver/dns     1.594s
?       google.golang.org/grpc/resolver/passthrough     [no test files]
ok      google.golang.org/grpc/stats    0.036s
ok      google.golang.org/grpc/status   0.002s
?       google.golang.org/grpc/tap      [no test files]
2019-04-16 14:25:19 -07:00
Jacob Hoffman-Andrews 6354cccd03 Update gRPC to v1.16.0. (#3901)
Fixes #3837

```
$ go test google.golang.org/grpc/...
ok      google.golang.org/grpc  24.275s
?       google.golang.org/grpc/balancer [no test files]
?       google.golang.org/grpc/balancer/base    [no test files]
ok      google.golang.org/grpc/balancer/grpclb  7.271s
?       google.golang.org/grpc/balancer/grpclb/grpc_lb_v1       [no test files]
ok      google.golang.org/grpc/balancer/roundrobin      0.427s
ok      google.golang.org/grpc/benchmark        0.006s [no tests to run]
?       google.golang.org/grpc/benchmark/benchmain      [no test files]
?       google.golang.org/grpc/benchmark/benchresult    [no test files]
?       google.golang.org/grpc/benchmark/client [no test files]
?       google.golang.org/grpc/benchmark/grpc_testing   [no test files]
ok      google.golang.org/grpc/benchmark/latency        1.012s
ok      google.golang.org/grpc/benchmark/primitives     0.036s [no tests to run]
?       google.golang.org/grpc/benchmark/server [no test files]
?       google.golang.org/grpc/benchmark/stats  [no test files]
?       google.golang.org/grpc/benchmark/worker [no test files]
?       google.golang.org/grpc/binarylog/grpc_binarylog_v1      [no test files]
?       google.golang.org/grpc/channelz/grpc_channelz_v1        [no test files]
ok      google.golang.org/grpc/channelz/service 0.024s
ok      google.golang.org/grpc/codes    0.006s
?       google.golang.org/grpc/connectivity     [no test files]
ok      google.golang.org/grpc/credentials      0.014s
ok      google.golang.org/grpc/credentials/alts 0.009s
?       google.golang.org/grpc/credentials/alts/internal        [no test files]
ok      google.golang.org/grpc/credentials/alts/internal/authinfo       0.006s
ok      google.golang.org/grpc/credentials/alts/internal/conn   0.133s
ok      google.golang.org/grpc/credentials/alts/internal/handshaker     0.045s
ok      google.golang.org/grpc/credentials/alts/internal/handshaker/service     0.013s
?       google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp [no test files]
?       google.golang.org/grpc/credentials/alts/internal/testutil       [no test files]
?       google.golang.org/grpc/credentials/google       [no test files]
?       google.golang.org/grpc/credentials/oauth        [no test files]
?       google.golang.org/grpc/encoding [no test files]
?       google.golang.org/grpc/encoding/gzip    [no test files]
ok      google.golang.org/grpc/encoding/proto   0.075s
?       google.golang.org/grpc/examples/helloworld/greeter_client       [no test files]
?       google.golang.org/grpc/examples/helloworld/greeter_server       [no test files]
?       google.golang.org/grpc/examples/helloworld/helloworld   [no test files]
ok      google.golang.org/grpc/examples/helloworld/mock_helloworld      0.011s
?       google.golang.org/grpc/examples/oauth/client    [no test files]
?       google.golang.org/grpc/examples/oauth/server    [no test files]
?       google.golang.org/grpc/examples/route_guide/client      [no test files]
ok      google.golang.org/grpc/examples/route_guide/mock_routeguide     0.039s
?       google.golang.org/grpc/examples/route_guide/routeguide  [no test files]
?       google.golang.org/grpc/examples/route_guide/server      [no test files]
?       google.golang.org/grpc/examples/rpc_errors/client       [no test files]
?       google.golang.org/grpc/examples/rpc_errors/server       [no test files]
ok      google.golang.org/grpc/grpclog  0.007s
?       google.golang.org/grpc/grpclog/glogger  [no test files]
ok      google.golang.org/grpc/health   0.005s
?       google.golang.org/grpc/health/grpc_health_v1    [no test files]
?       google.golang.org/grpc/internal [no test files]
?       google.golang.org/grpc/internal/backoff [no test files]
ok      google.golang.org/grpc/internal/binarylog       0.006s
ok      google.golang.org/grpc/internal/channelz        0.012s
?       google.golang.org/grpc/internal/envconfig       [no test files]
?       google.golang.org/grpc/internal/grpcrand        [no test files]
ok      google.golang.org/grpc/internal/grpcsync        0.013s
ok      google.golang.org/grpc/internal/leakcheck       4.052s
?       google.golang.org/grpc/internal/syscall [no test files]
ok      google.golang.org/grpc/internal/testutils       0.002s
ok      google.golang.org/grpc/internal/transport       81.968s
?       google.golang.org/grpc/interop  [no test files]
?       google.golang.org/grpc/interop/alts/client      [no test files]
?       google.golang.org/grpc/interop/alts/server      [no test files]
?       google.golang.org/grpc/interop/client   [no test files]
?       google.golang.org/grpc/interop/fake_grpclb      [no test files]
?       google.golang.org/grpc/interop/grpc_testing     [no test files]
?       google.golang.org/grpc/interop/http2    [no test files]
?       google.golang.org/grpc/interop/server   [no test files]
?       google.golang.org/grpc/keepalive        [no test files]
ok      google.golang.org/grpc/metadata 0.006s
ok      google.golang.org/grpc/naming   0.159s
?       google.golang.org/grpc/peer     [no test files]
ok      google.golang.org/grpc/reflection       0.016s
?       google.golang.org/grpc/reflection/grpc_reflection_v1alpha       [no test files]
?       google.golang.org/grpc/reflection/grpc_testing  [no test files]
?       google.golang.org/grpc/reflection/grpc_testingv3        [no test files]
?       google.golang.org/grpc/resolver [no test files]
ok      google.golang.org/grpc/resolver/dns     1.370s
?       google.golang.org/grpc/resolver/manual  [no test files]
?       google.golang.org/grpc/resolver/passthrough     [no test files]
ok      google.golang.org/grpc/stats    0.104s
?       google.golang.org/grpc/stats/grpc_testing       [no test files]
ok      google.golang.org/grpc/status   0.017s
?       google.golang.org/grpc/stress/client    [no test files]
?       google.golang.org/grpc/stress/grpc_testing      [no test files]
?       google.golang.org/grpc/stress/metrics_client    [no test files]
?       google.golang.org/grpc/tap      [no test files]
ok      google.golang.org/grpc/test     33.866s
ok      google.golang.org/grpc/test/bufconn     0.005s
?       google.golang.org/grpc/test/codec_perf  [no test files]
?       google.golang.org/grpc/test/go_vet      [no test files]
?       google.golang.org/grpc/test/grpc_testing        [no test files]
```
2018-10-25 12:19:40 -07:00
Roland Bracewell Shoemaker 876c727b6f Update gRPC (#3817)
Fixes #3474.
2018-08-20 10:55:42 -04:00
Jacob Hoffman-Andrews 5f0cbddd9d Check for unnecessary godeps (#3206)
Fixes https://github.com/letsencrypt/boulder/issues/3205.

Previously, we would only move aside Godeps.json before running `godep save ./...`. However, in order to get a true picture of what is needed, we must also remove the existing `vendor/` directory.

This change also removes some unnecessary dependencies that have piled up over the years, generally test dependencies. Godep used to vendor such dependencies but no longer does.
2017-11-03 14:30:07 -04:00
Roland Bracewell Shoemaker 08f4dda038 Update github.com/grpc-ecosystem/go-grpc-prometheus and google.golang.org/grpc (#2637)
Updates the various gRPC/protobuf libs (google.golang.org/grpc/... and github.com/golang/protobuf/proto) and the boulder-tools image so that we can update to the newest github.com/grpc-ecosystem/go-grpc-prometheus. Also regenerates all of the protobuf definition files.

Tests run on updated packages all pass.

Unblocks #2633 fixes #2636.
2017-04-03 11:13:48 -07:00
Daniel McCarney d8c10149dd Updates `google.golang.org/grpc` to v1.0.3. (#2359)
This PR updates our GRPC library dep. to v1.0.3. It's likely we can update to v1.0.4 without much effort but on a first attempt it seems that the SupportPackageIsVersion3 to SupportPackageIsVersion4 change might cause some headaches so I started with 1.0.3.

The grpc/creds.go serverTransportCredentials and clientTransportCredentials needed two new funcs (Clone and OverrideServerName) to conform to the updated credentials.TransportCredentials interface.

It's tempting to remove grpc/creds.go clientTransportCredentials entirely now that the TLSCredentials from upstream has a OverrideServerName function we can use, but unfortunately it only supports one hostname and must be called a-head of ClientHandshake that we still need clientTransportCredentials for our use-case. I tried this and failed, so clientTransportCredentials remains in bgrpc/creds/creds.go.

Per CONTRIBUTING.md I've verified the unit tests pass:

daniel@XXXXXX:~/go/src/google.golang.org/grpc$ git show -s
commit b7f1379d3cbbbeb2ca3405852012e237aa05459e
Merge: 33731fd bac9e1d
Author: Qi Zhao <toqizhao@gmail.com>
Date:   Mon Oct 17 16:02:05 2016 -0700

    Merge pull request #903 from improbable-io/blocking-graceful-shutdown-fix
    
    Make concurrent Server.GracefulStop calls all behave equivalently.

daniel@XXXXXX:~/go/src/google.golang.org/grpc$ go test ./...
ok  	google.golang.org/grpc	0.215s
ok  	google.golang.org/grpc/benchmark	0.017s
?   	google.golang.org/grpc/benchmark/client	[no test files]
?   	google.golang.org/grpc/benchmark/grpc_testing	[no test files]
?   	google.golang.org/grpc/benchmark/server	[no test files]
?   	google.golang.org/grpc/benchmark/stats	[no test files]
?   	google.golang.org/grpc/benchmark/worker	[no test files]
?   	google.golang.org/grpc/codes	[no test files]
ok  	google.golang.org/grpc/credentials	0.041s
?   	google.golang.org/grpc/credentials/oauth	[no test files]
?   	google.golang.org/grpc/examples/helloworld/greeter_client	[no test files]
?   	google.golang.org/grpc/examples/helloworld/greeter_server	[no test files]
?   	google.golang.org/grpc/examples/helloworld/helloworld	[no test files]
?   	google.golang.org/grpc/examples/route_guide/client	[no test files]
?   	google.golang.org/grpc/examples/route_guide/routeguide	[no test files]
?   	google.golang.org/grpc/examples/route_guide/server	[no test files]
ok  	google.golang.org/grpc/grpclb	0.047s
?   	google.golang.org/grpc/grpclb/grpc_lb_v1	[no test files]
?   	google.golang.org/grpc/grpclog	[no test files]
?   	google.golang.org/grpc/grpclog/glogger	[no test files]
?   	google.golang.org/grpc/health	[no test files]
?   	google.golang.org/grpc/health/grpc_health_v1	[no test files]
?   	google.golang.org/grpc/internal	[no test files]
?   	google.golang.org/grpc/interop	[no test files]
?   	google.golang.org/grpc/interop/client	[no test files]
?   	google.golang.org/grpc/interop/grpc_testing	[no test files]
?   	google.golang.org/grpc/interop/server	[no test files]
ok  	google.golang.org/grpc/metadata	0.004s
?   	google.golang.org/grpc/naming	[no test files]
?   	google.golang.org/grpc/peer	[no test files]
ok  	google.golang.org/grpc/reflection	0.029s
?   	google.golang.org/grpc/reflection/grpc_reflection_v1alpha	[no test files]
?   	google.golang.org/grpc/reflection/grpc_testing	[no test files]
?   	google.golang.org/grpc/stress/client	[no test files]
?   	google.golang.org/grpc/stress/grpc_testing	[no test files]
?   	google.golang.org/grpc/stress/metrics_client	[no test files]
ok  	google.golang.org/grpc/test	94.693s
?   	google.golang.org/grpc/test/codec_perf	[no test files]
?   	google.golang.org/grpc/test/grpc_testing	[no test files]
ok  	google.golang.org/grpc/transport	12.574s
2016-11-29 11:07:10 -08:00
Roland Bracewell Shoemaker e187c92715 Add gRPC client side metrics (#2151)
Fixes #1880.

Updates google.golang.org/grpc and github.com/jmhodges/clock, both test suites pass. A few of the gRPC interfaces changed so this also fixes those breakages.
2016-09-09 15:17:36 -04:00
Jacob Hoffman-Andrews fd095b8881 Fix Docker test builds: latest certbot and grpc (#1991)
The `letsencrypt/boulder-tools` image was recently updated, pulling in version
0.8.0 of certbot. That version stores the output of `certonly` requests in a
different path. In test.sh, we check out a specific tagged release of certbot in
order to get its integration tests. Prior to this commit, we were using
certbot 0.8.0 with the integration tests from version 0.6.0 of certbot,
which looked for `certonly` output in the wrong place, and failed.

This commit changes test.sh to checkout the 0.8.0 branch, and also removes a
temporary shim we used to make the `certbot` command call out to the
`letsencrypt` command.

Also, since the latest version of `letsencrypt/boulder-tools` includes an updated
`protoc-gen-go`, this change also updates the support packages to match.
2016-06-29 10:54:03 -07:00
Roland Bracewell Shoemaker 7b29dba75d Add gRPC server-side interceptor (#1933)
Adds a server side unary RPC interceptor which includes basic stats. We could also use this to add a server request ID to the context.Context to identify the call through the system, but really I'd rather do that on the client side before the RPC is sent which requires the client interceptor implementation upstream. Also updates google.golang.org/grpc.

Updates #1880.
2016-06-20 11:27:32 -04:00
Roland Bracewell Shoemaker 92e0704b1b Allow gRPC clients to connect to multiple backends (#1918)
Fixes #1917 and #1755, also updates google.golang.org/grpc to b60d3e9e.
2016-06-15 16:50:56 -07:00
Jacob Hoffman-Andrews 26de87dfa2 Update grpc dep and regenerate caa-checker. (#1761)
* Update grpc dep and regenerate caa-checker.

The latest version generates a different format. This is a precursor to running
go generate in Travis.
2016-04-21 11:05:17 -07:00
Jacob Hoffman-Andrews e6c17e1717 Switch to new vendor style (#1747)
* Switch to new vendor style.

* Fix metrics generate command.

* Fix miekg/dns types_generate.

* Use generated copies of files.

* Update miekg to latest.

Fixes a problem with `go generate`.

* Set GO15VENDOREXPERIMENT.

* Build in letsencrypt/boulder.

* fix travis more.

* Exclude vendor instead of godeps.

* Replace some ...

* Fix unformatted cmd

* Fix errcheck for vendorexp

* Add GO15VENDOREXPERIMENT to Makefile.

* Temp disable errcheck.

* Restore master fetch.

* Restore errcheck.

* Build with 1.6 also.

* Match statsd.*"

* Skip errcheck unles Go1.6.

* Add other ignorepkg.

* Fix errcheck.

* move errcheck

* Remove go1.6 requirement.

* Put godep-restore with errcheck.

* Remove go1.6 dep.

* Revert master fetch revert.

* Remove -r flag from godep save.

* Set GO15VENDOREXPERIMENT in Dockerfile and remove _worskpace.

* Fix Godep version.
2016-04-18 12:51:36 -07:00