From f0e61582664d16c5a608c3a742cc12b6b006bca6 Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Fri, 6 Jul 2018 14:43:49 -0700 Subject: [PATCH] vendor: update containerd to b41633746 Signed-off-by: Tonis Tiigi --- vendor.conf | 8 ++-- .../containerd/console/console_linux.go | 4 ++ .../containerd/containerd/cio/io.go | 11 +++++ .../containerd/containerd/container.go | 9 +++- .../containerd/containerd/oci/spec_unix.go | 2 + .../containerd/runtime/linux/process.go | 2 +- .../containerd/runtime/linux/task.go | 2 +- .../containerd/runtime/shim/client/client.go | 2 +- .../containerd/runtime/shim/v1/shim.pb.go | 2 +- .../containerd/containerd/vendor.conf | 33 ++++++++------- .../{stevvooe => containerd}/ttrpc/LICENSE | 0 .../{stevvooe => containerd}/ttrpc/README.md | 4 +- .../{stevvooe => containerd}/ttrpc/channel.go | 16 +++++++ .../{stevvooe => containerd}/ttrpc/client.go | 20 ++++++++- vendor/github.com/containerd/ttrpc/codec.go | 42 +++++++++++++++++++ vendor/github.com/containerd/ttrpc/config.go | 39 +++++++++++++++++ .../ttrpc/handshake.go | 16 +++++++ .../{stevvooe => containerd}/ttrpc/server.go | 31 ++++++++++---- .../ttrpc/services.go | 16 +++++++ .../{stevvooe => containerd}/ttrpc/types.go | 16 +++++++ .../ttrpc/unixcreds_linux.go | 16 +++++++ vendor/github.com/containerd/typeurl/types.go | 16 +++++++ vendor/github.com/stevvooe/ttrpc/codec.go | 26 ------------ vendor/github.com/stevvooe/ttrpc/config.go | 23 ---------- 24 files changed, 271 insertions(+), 85 deletions(-) rename vendor/github.com/{stevvooe => containerd}/ttrpc/LICENSE (100%) rename vendor/github.com/{stevvooe => containerd}/ttrpc/README.md (90%) rename vendor/github.com/{stevvooe => containerd}/ttrpc/channel.go (85%) rename vendor/github.com/{stevvooe => containerd}/ttrpc/client.go (87%) create mode 100644 vendor/github.com/containerd/ttrpc/codec.go create mode 100644 vendor/github.com/containerd/ttrpc/config.go rename vendor/github.com/{stevvooe => containerd}/ttrpc/handshake.go (65%) rename vendor/github.com/{stevvooe => containerd}/ttrpc/server.go (88%) rename vendor/github.com/{stevvooe => containerd}/ttrpc/services.go (84%) rename vendor/github.com/{stevvooe => containerd}/ttrpc/types.go (56%) rename vendor/github.com/{stevvooe => containerd}/ttrpc/unixcreds_linux.go (82%) delete mode 100644 vendor/github.com/stevvooe/ttrpc/codec.go delete mode 100644 vendor/github.com/stevvooe/ttrpc/config.go diff --git a/vendor.conf b/vendor.conf index 33e2dc8445..6828d3fc63 100644 --- a/vendor.conf +++ b/vendor.conf @@ -114,14 +114,14 @@ github.com/googleapis/gax-go v2.0.0 google.golang.org/genproto 694d95ba50e67b2e363f3483057db5d4910c18f9 # containerd -github.com/containerd/containerd 08f7ee9828af1783dc98cc5cc1739e915697c667 +github.com/containerd/containerd b41633746ed4833f52c3c071e8edcfa2713e5677 github.com/containerd/fifo 3d5202aec260678c48179c56f40e6f38a095738c github.com/containerd/continuity d3c23511c1bf5851696cba83143d9cbcd666869b github.com/containerd/cgroups fe281dd265766145e943a034aa41086474ea6130 -github.com/containerd/console 9290d21dc56074581f619579c43d970b4514bc08 +github.com/containerd/console 5d1b48d6114b8c9666f0c8b916f871af97b0a761 github.com/containerd/go-runc f271fa2021de855d4d918dbef83c5fe19db1bdd -github.com/containerd/typeurl f6943554a7e7e88b3c14aad190bf05932da84788 -github.com/stevvooe/ttrpc d4528379866b0ce7e9d71f3eb96f0582fc374577 +github.com/containerd/typeurl a93fcdb778cd272c6e9b3028b2f42d813e785d40 +github.com/containerd/ttrpc 94dde388801693c54f88a6596f713b51a8b30b2d github.com/gogo/googleapis 08a7655d27152912db7aaf4f983275eaf8d128ef # cluster diff --git a/vendor/github.com/containerd/console/console_linux.go b/vendor/github.com/containerd/console/console_linux.go index efefcb1e6d..42274e100e 100644 --- a/vendor/github.com/containerd/console/console_linux.go +++ b/vendor/github.com/containerd/console/console_linux.go @@ -262,10 +262,14 @@ func (ec *EpollConsole) Shutdown(close func(int) error) error { // signalRead signals that the console is readable. func (ec *EpollConsole) signalRead() { + ec.readc.L.Lock() ec.readc.Signal() + ec.readc.L.Unlock() } // signalWrite signals that the console is writable. func (ec *EpollConsole) signalWrite() { + ec.writec.L.Lock() ec.writec.Signal() + ec.writec.L.Unlock() } diff --git a/vendor/github.com/containerd/containerd/cio/io.go b/vendor/github.com/containerd/containerd/cio/io.go index 2f9b5f1037..10ad36ba87 100644 --- a/vendor/github.com/containerd/containerd/cio/io.go +++ b/vendor/github.com/containerd/containerd/cio/io.go @@ -255,3 +255,14 @@ func (l *logIO) Wait() { func (l *logIO) Close() error { return nil } + +// Load the io for a container but do not attach +// +// Allows io to be loaded on the task for deletion without +// starting copy routines +func Load(set *FIFOSet) (IO, error) { + return &cio{ + config: set.Config, + closers: []io.Closer{set}, + }, nil +} diff --git a/vendor/github.com/containerd/containerd/container.go b/vendor/github.com/containerd/containerd/container.go index 001b16c740..23f6d4db61 100644 --- a/vendor/github.com/containerd/containerd/container.go +++ b/vendor/github.com/containerd/containerd/container.go @@ -307,6 +307,12 @@ func (c *container) get(ctx context.Context) (containers.Container, error) { // get the existing fifo paths from the task information stored by the daemon func attachExistingIO(response *tasks.GetResponse, ioAttach cio.Attach) (cio.IO, error) { + fifoSet := loadFifos(response) + return ioAttach(fifoSet) +} + +// loadFifos loads the containers fifos +func loadFifos(response *tasks.GetResponse) *cio.FIFOSet { path := getFifoDir([]string{ response.Process.Stdin, response.Process.Stdout, @@ -315,13 +321,12 @@ func attachExistingIO(response *tasks.GetResponse, ioAttach cio.Attach) (cio.IO, closer := func() error { return os.RemoveAll(path) } - fifoSet := cio.NewFIFOSet(cio.Config{ + return cio.NewFIFOSet(cio.Config{ Stdin: response.Process.Stdin, Stdout: response.Process.Stdout, Stderr: response.Process.Stderr, Terminal: response.Process.Terminal, }, closer) - return ioAttach(fifoSet) } // getFifoDir looks for any non-empty path for a stdio fifo diff --git a/vendor/github.com/containerd/containerd/oci/spec_unix.go b/vendor/github.com/containerd/containerd/oci/spec_unix.go index f791c357fa..f8d8524ddb 100644 --- a/vendor/github.com/containerd/containerd/oci/spec_unix.go +++ b/vendor/github.com/containerd/containerd/oci/spec_unix.go @@ -153,7 +153,9 @@ func createDefaultSpec(ctx context.Context, id string) (*Spec, error) { }, Linux: &specs.Linux{ MaskedPaths: []string{ + "/proc/acpi", "/proc/kcore", + "/proc/keys", "/proc/latency_stats", "/proc/timer_list", "/proc/timer_stats", diff --git a/vendor/github.com/containerd/containerd/runtime/linux/process.go b/vendor/github.com/containerd/containerd/runtime/linux/process.go index a8a95db46d..02cccd206b 100644 --- a/vendor/github.com/containerd/containerd/runtime/linux/process.go +++ b/vendor/github.com/containerd/containerd/runtime/linux/process.go @@ -26,8 +26,8 @@ import ( "github.com/containerd/containerd/errdefs" "github.com/containerd/containerd/runtime" shim "github.com/containerd/containerd/runtime/shim/v1" + "github.com/containerd/ttrpc" "github.com/pkg/errors" - "github.com/stevvooe/ttrpc" ) // Process implements a linux process diff --git a/vendor/github.com/containerd/containerd/runtime/linux/task.go b/vendor/github.com/containerd/containerd/runtime/linux/task.go index d19090a728..43c93eaba8 100644 --- a/vendor/github.com/containerd/containerd/runtime/linux/task.go +++ b/vendor/github.com/containerd/containerd/runtime/linux/task.go @@ -32,9 +32,9 @@ import ( "github.com/containerd/containerd/runtime/shim/client" shim "github.com/containerd/containerd/runtime/shim/v1" runc "github.com/containerd/go-runc" + "github.com/containerd/ttrpc" "github.com/gogo/protobuf/types" "github.com/pkg/errors" - "github.com/stevvooe/ttrpc" ) // Task on a linux based system diff --git a/vendor/github.com/containerd/containerd/runtime/shim/client/client.go b/vendor/github.com/containerd/containerd/runtime/shim/client/client.go index e46d6df3ab..009ccc9398 100644 --- a/vendor/github.com/containerd/containerd/runtime/shim/client/client.go +++ b/vendor/github.com/containerd/containerd/runtime/shim/client/client.go @@ -31,9 +31,9 @@ import ( "golang.org/x/sys/unix" + "github.com/containerd/ttrpc" "github.com/pkg/errors" "github.com/sirupsen/logrus" - "github.com/stevvooe/ttrpc" "github.com/containerd/containerd/events" "github.com/containerd/containerd/log" diff --git a/vendor/github.com/containerd/containerd/runtime/shim/v1/shim.pb.go b/vendor/github.com/containerd/containerd/runtime/shim/v1/shim.pb.go index a357fd3675..e4dae343d5 100644 --- a/vendor/github.com/containerd/containerd/runtime/shim/v1/shim.pb.go +++ b/vendor/github.com/containerd/containerd/runtime/shim/v1/shim.pb.go @@ -50,7 +50,7 @@ import strings "strings" import reflect "reflect" import context "context" -import ttrpc "github.com/stevvooe/ttrpc" +import ttrpc "github.com/containerd/ttrpc" import io "io" diff --git a/vendor/github.com/containerd/containerd/vendor.conf b/vendor/github.com/containerd/containerd/vendor.conf index 2e100c1619..b9e98a85e2 100644 --- a/vendor/github.com/containerd/containerd/vendor.conf +++ b/vendor/github.com/containerd/containerd/vendor.conf @@ -1,7 +1,7 @@ github.com/containerd/go-runc f271fa2021de855d4d918dbef83c5fe19db1bdd5 -github.com/containerd/console 9290d21dc56074581f619579c43d970b4514bc08 +github.com/containerd/console 5d1b48d6114b8c9666f0c8b916f871af97b0a761 github.com/containerd/cgroups fe281dd265766145e943a034aa41086474ea6130 -github.com/containerd/typeurl f6943554a7e7e88b3c14aad190bf05932da84788 +github.com/containerd/typeurl a93fcdb778cd272c6e9b3028b2f42d813e785d40 github.com/containerd/fifo 3d5202aec260678c48179c56f40e6f38a095738c github.com/containerd/btrfs 2e1aa0ddf94f91fa282b6ed87c23bf0d64911244 github.com/containerd/continuity d3c23511c1bf5851696cba83143d9cbcd666869b @@ -37,13 +37,14 @@ github.com/Microsoft/hcsshim v0.6.11 github.com/boltdb/bolt e9cf4fae01b5a8ff89d0ec6b32f0d9c9f79aefdd google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944 golang.org/x/text 19e51611da83d6be54ddafce4a4af510cb3e9ea4 -github.com/stevvooe/ttrpc d4528379866b0ce7e9d71f3eb96f0582fc374577 +github.com/containerd/ttrpc 94dde388801693c54f88a6596f713b51a8b30b2d github.com/syndtr/gocapability db04d3cc01c8b54962a58ec7e491717d06cfcc16 gotest.tools v2.1.0 github.com/google/go-cmp v0.1.0 -github.com/containerd/cri 8bcb9a95394e8d7845da1d6a994d3ac2a86d22f0 -github.com/containerd/go-cni f2d7272f12d045b16ed924f50e91f9f9cecc55a7 +# cri dependencies +github.com/containerd/cri v1.11.0 +github.com/containerd/go-cni 5882530828ecf62032409b298a3e8b19e08b6534 github.com/blang/semver v3.1.0 github.com/containernetworking/cni v0.6.0 github.com/containernetworking/plugins v0.7.0 @@ -57,22 +58,26 @@ github.com/golang/glog 44145f04b68cf362d9c4df2182967c2275eaefed github.com/google/gofuzz 44d81051d367757e1c7c6a5a86423ece9afcf63c github.com/hashicorp/errwrap 7554cd9344cec97297fa6649b055a8c98c2a1e55 github.com/hashicorp/go-multierror ed905158d87462226a13fe39ddf685ea65f1c11f -github.com/json-iterator/go 1.0.4 -github.com/opencontainers/runtime-tools 6073aff4ac61897f75895123f7e24135204a404d +github.com/json-iterator/go f2b4162afba35581b6d4a50d3b8f34e33c144682 +github.com/modern-go/reflect2 05fbef0ca5da472bbf96c9322b84a53edc03c9fd +github.com/modern-go/concurrent 1.0.3 +github.com/opencontainers/runtime-tools v0.6.0 github.com/opencontainers/selinux 4a2974bf1ee960774ffd517717f1f45325af0206 github.com/seccomp/libseccomp-golang 32f571b70023028bd57d9288c20efbcb237f3ce0 -github.com/spf13/pflag v1.0.0 github.com/tchap/go-patricia 5ad6cdb7538b0097d5598c7e57f0a24072adf7dc +github.com/xeipuuv/gojsonpointer 4e3ac2762d5f479393488629ee9370b50873b3a6 +github.com/xeipuuv/gojsonreference bd5ef7bd5415a7ac448318e64f11a24cd21e594b +github.com/xeipuuv/gojsonschema 1d523034197ff1f222f6429836dd36a2457a1874 golang.org/x/crypto 49796115aa4b964c318aad4f3084fdb41e9aa067 golang.org/x/time f51c12702a4d776e4c1fa9b0fabab841babae631 gopkg.in/inf.v0 3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4 gopkg.in/yaml.v2 53feefa2559fb8dfa8d81baad31be332c97d6c77 -k8s.io/api 7e796de92438aede7cb5d6bcf6c10f4fa65db560 -k8s.io/apimachinery fcb9a12f7875d01f8390b28faedc37dcf2e713b9 -k8s.io/apiserver 4a8377c547bbff4576a35b5b5bf4026d9b5aa763 -k8s.io/client-go b9a0cf870f239c4a4ecfd3feb075a50e7cbe1473 -k8s.io/kubernetes v1.10.0 -k8s.io/utils 258e2a2fa64568210fbd6267cf1d8fd87c3cb86e +k8s.io/api 9e5ffd1f1320950b238cfce291b926411f0af722 +k8s.io/apimachinery ed135c5b96450fd24e5e981c708114fbbd950697 +k8s.io/apiserver a90e3a95c2e91b944bfca8225c4e0d12e42a9eb5 +k8s.io/client-go 03bfb9bdcfe5482795b999f39ca3ed9ad42ce5bb +k8s.io/kubernetes v1.11.0 +k8s.io/utils 733eca437aa39379e4bcc25e726439dfca40fcff # zfs dependencies github.com/containerd/zfs 9a0b8b8b5982014b729cd34eb7cd7a11062aa6ec diff --git a/vendor/github.com/stevvooe/ttrpc/LICENSE b/vendor/github.com/containerd/ttrpc/LICENSE similarity index 100% rename from vendor/github.com/stevvooe/ttrpc/LICENSE rename to vendor/github.com/containerd/ttrpc/LICENSE diff --git a/vendor/github.com/stevvooe/ttrpc/README.md b/vendor/github.com/containerd/ttrpc/README.md similarity index 90% rename from vendor/github.com/stevvooe/ttrpc/README.md rename to vendor/github.com/containerd/ttrpc/README.md index b246e578b2..d1eed6b120 100644 --- a/vendor/github.com/stevvooe/ttrpc/README.md +++ b/vendor/github.com/containerd/ttrpc/README.md @@ -1,6 +1,6 @@ # ttrpc -[![Build Status](https://travis-ci.org/stevvooe/ttrpc.svg?branch=master)](https://travis-ci.org/stevvooe/ttrpc) +[![Build Status](https://travis-ci.org/containerd/ttrpc.svg?branch=master)](https://travis-ci.org/containerd/ttrpc) GRPC for low-memory environments. @@ -25,7 +25,7 @@ Create a gogo vanity binary (see [`cmd/protoc-gen-gogottrpc/main.go`](cmd/protoc-gen-gogottrpc/main.go) for an example with the ttrpc plugin enabled. -It's recommended to use [`protobuild`](https://github.com/stevvooe/protobuild) +It's recommended to use [`protobuild`](https://github.com//stevvooe/protobuild) to build the protobufs for this project, but this will work with protoc directly, if required. diff --git a/vendor/github.com/stevvooe/ttrpc/channel.go b/vendor/github.com/containerd/ttrpc/channel.go similarity index 85% rename from vendor/github.com/stevvooe/ttrpc/channel.go rename to vendor/github.com/containerd/ttrpc/channel.go index 9493d68624..22f5496b4b 100644 --- a/vendor/github.com/stevvooe/ttrpc/channel.go +++ b/vendor/github.com/containerd/ttrpc/channel.go @@ -1,3 +1,19 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + package ttrpc import ( diff --git a/vendor/github.com/stevvooe/ttrpc/client.go b/vendor/github.com/containerd/ttrpc/client.go similarity index 87% rename from vendor/github.com/stevvooe/ttrpc/client.go rename to vendor/github.com/containerd/ttrpc/client.go index f047181678..ede2e6b741 100644 --- a/vendor/github.com/stevvooe/ttrpc/client.go +++ b/vendor/github.com/containerd/ttrpc/client.go @@ -1,3 +1,19 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + package ttrpc import ( @@ -9,9 +25,9 @@ import ( "sync" "syscall" - "github.com/containerd/containerd/log" "github.com/gogo/protobuf/proto" "github.com/pkg/errors" + "github.com/sirupsen/logrus" "google.golang.org/grpc/status" ) @@ -180,7 +196,7 @@ func (c *Client) run() { case msg := <-incoming: call, ok := waiters[msg.StreamID] if !ok { - log.L.Errorf("ttrpc: received message for unknown channel %v", msg.StreamID) + logrus.Errorf("ttrpc: received message for unknown channel %v", msg.StreamID) continue } diff --git a/vendor/github.com/containerd/ttrpc/codec.go b/vendor/github.com/containerd/ttrpc/codec.go new file mode 100644 index 0000000000..b4aac2fac0 --- /dev/null +++ b/vendor/github.com/containerd/ttrpc/codec.go @@ -0,0 +1,42 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package ttrpc + +import ( + "github.com/gogo/protobuf/proto" + "github.com/pkg/errors" +) + +type codec struct{} + +func (c codec) Marshal(msg interface{}) ([]byte, error) { + switch v := msg.(type) { + case proto.Message: + return proto.Marshal(v) + default: + return nil, errors.Errorf("ttrpc: cannot marshal unknown type: %T", msg) + } +} + +func (c codec) Unmarshal(p []byte, msg interface{}) error { + switch v := msg.(type) { + case proto.Message: + return proto.Unmarshal(p, v) + default: + return errors.Errorf("ttrpc: cannot unmarshal into unknown type: %T", msg) + } +} diff --git a/vendor/github.com/containerd/ttrpc/config.go b/vendor/github.com/containerd/ttrpc/config.go new file mode 100644 index 0000000000..019b7a09dd --- /dev/null +++ b/vendor/github.com/containerd/ttrpc/config.go @@ -0,0 +1,39 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package ttrpc + +import "github.com/pkg/errors" + +type serverConfig struct { + handshaker Handshaker +} + +type ServerOpt func(*serverConfig) error + +// WithServerHandshaker can be passed to NewServer to ensure that the +// handshaker is called before every connection attempt. +// +// Only one handshaker is allowed per server. +func WithServerHandshaker(handshaker Handshaker) ServerOpt { + return func(c *serverConfig) error { + if c.handshaker != nil { + return errors.New("only one handshaker allowed per server") + } + c.handshaker = handshaker + return nil + } +} diff --git a/vendor/github.com/stevvooe/ttrpc/handshake.go b/vendor/github.com/containerd/ttrpc/handshake.go similarity index 65% rename from vendor/github.com/stevvooe/ttrpc/handshake.go rename to vendor/github.com/containerd/ttrpc/handshake.go index a08ae8ee4b..a424b67a49 100644 --- a/vendor/github.com/stevvooe/ttrpc/handshake.go +++ b/vendor/github.com/containerd/ttrpc/handshake.go @@ -1,3 +1,19 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + package ttrpc import ( diff --git a/vendor/github.com/stevvooe/ttrpc/server.go b/vendor/github.com/containerd/ttrpc/server.go similarity index 88% rename from vendor/github.com/stevvooe/ttrpc/server.go rename to vendor/github.com/containerd/ttrpc/server.go index fd29b719e4..1a518b1b4f 100644 --- a/vendor/github.com/stevvooe/ttrpc/server.go +++ b/vendor/github.com/containerd/ttrpc/server.go @@ -1,3 +1,19 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + package ttrpc import ( @@ -9,8 +25,8 @@ import ( "sync/atomic" "time" - "github.com/containerd/containerd/log" "github.com/pkg/errors" + "github.com/sirupsen/logrus" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -51,12 +67,11 @@ func (s *Server) Register(name string, methods map[string]Method) { s.services.register(name, methods) } -func (s *Server) Serve(l net.Listener) error { +func (s *Server) Serve(ctx context.Context, l net.Listener) error { s.addListener(l) defer s.closeListener(l) var ( - ctx = context.Background() backoff time.Duration handshaker = s.config.handshaker ) @@ -88,7 +103,7 @@ func (s *Server) Serve(l net.Listener) error { } sleep := time.Duration(rand.Int63n(int64(backoff))) - log.L.WithError(err).Errorf("ttrpc: failed accept; backoff %v", sleep) + logrus.WithError(err).Errorf("ttrpc: failed accept; backoff %v", sleep) time.Sleep(sleep) continue } @@ -100,7 +115,7 @@ func (s *Server) Serve(l net.Listener) error { approved, handshake, err := handshaker.Handshake(ctx, conn) if err != nil { - log.L.WithError(err).Errorf("ttrpc: refusing connection after handshake") + logrus.WithError(err).Errorf("ttrpc: refusing connection after handshake") conn.Close() continue } @@ -416,12 +431,12 @@ func (c *serverConn) run(sctx context.Context) { case response := <-responses: p, err := c.server.codec.Marshal(response.resp) if err != nil { - log.L.WithError(err).Error("failed marshaling response") + logrus.WithError(err).Error("failed marshaling response") return } if err := ch.send(ctx, response.id, messageTypeResponse, p); err != nil { - log.L.WithError(err).Error("failed sending message on channel") + logrus.WithError(err).Error("failed sending message on channel") return } @@ -432,7 +447,7 @@ func (c *serverConn) run(sctx context.Context) { // requests due to a terminal error. recvErr = nil // connection is now "closing" if err != nil && err != io.EOF { - log.L.WithError(err).Error("error receiving message") + logrus.WithError(err).Error("error receiving message") } case <-shutdown: return diff --git a/vendor/github.com/stevvooe/ttrpc/services.go b/vendor/github.com/containerd/ttrpc/services.go similarity index 84% rename from vendor/github.com/stevvooe/ttrpc/services.go rename to vendor/github.com/containerd/ttrpc/services.go index b9a749e3de..e909638259 100644 --- a/vendor/github.com/stevvooe/ttrpc/services.go +++ b/vendor/github.com/containerd/ttrpc/services.go @@ -1,3 +1,19 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + package ttrpc import ( diff --git a/vendor/github.com/stevvooe/ttrpc/types.go b/vendor/github.com/containerd/ttrpc/types.go similarity index 56% rename from vendor/github.com/stevvooe/ttrpc/types.go rename to vendor/github.com/containerd/ttrpc/types.go index a522b0cf26..1f7969e5cf 100644 --- a/vendor/github.com/stevvooe/ttrpc/types.go +++ b/vendor/github.com/containerd/ttrpc/types.go @@ -1,3 +1,19 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + package ttrpc import ( diff --git a/vendor/github.com/stevvooe/ttrpc/unixcreds_linux.go b/vendor/github.com/containerd/ttrpc/unixcreds_linux.go similarity index 82% rename from vendor/github.com/stevvooe/ttrpc/unixcreds_linux.go rename to vendor/github.com/containerd/ttrpc/unixcreds_linux.go index 812d927dc5..a471bd365c 100644 --- a/vendor/github.com/stevvooe/ttrpc/unixcreds_linux.go +++ b/vendor/github.com/containerd/ttrpc/unixcreds_linux.go @@ -1,3 +1,19 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + package ttrpc import ( diff --git a/vendor/github.com/containerd/typeurl/types.go b/vendor/github.com/containerd/typeurl/types.go index 10a78228ba..153c488d0a 100644 --- a/vendor/github.com/containerd/typeurl/types.go +++ b/vendor/github.com/containerd/typeurl/types.go @@ -1,3 +1,19 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + package typeurl import ( diff --git a/vendor/github.com/stevvooe/ttrpc/codec.go b/vendor/github.com/stevvooe/ttrpc/codec.go deleted file mode 100644 index 7956a72220..0000000000 --- a/vendor/github.com/stevvooe/ttrpc/codec.go +++ /dev/null @@ -1,26 +0,0 @@ -package ttrpc - -import ( - "github.com/gogo/protobuf/proto" - "github.com/pkg/errors" -) - -type codec struct{} - -func (c codec) Marshal(msg interface{}) ([]byte, error) { - switch v := msg.(type) { - case proto.Message: - return proto.Marshal(v) - default: - return nil, errors.Errorf("ttrpc: cannot marshal unknown type: %T", msg) - } -} - -func (c codec) Unmarshal(p []byte, msg interface{}) error { - switch v := msg.(type) { - case proto.Message: - return proto.Unmarshal(p, v) - default: - return errors.Errorf("ttrpc: cannot unmarshal into unknown type: %T", msg) - } -} diff --git a/vendor/github.com/stevvooe/ttrpc/config.go b/vendor/github.com/stevvooe/ttrpc/config.go deleted file mode 100644 index 23bc603a38..0000000000 --- a/vendor/github.com/stevvooe/ttrpc/config.go +++ /dev/null @@ -1,23 +0,0 @@ -package ttrpc - -import "github.com/pkg/errors" - -type serverConfig struct { - handshaker Handshaker -} - -type ServerOpt func(*serverConfig) error - -// WithServerHandshaker can be passed to NewServer to ensure that the -// handshaker is called before every connection attempt. -// -// Only one handshaker is allowed per server. -func WithServerHandshaker(handshaker Handshaker) ServerOpt { - return func(c *serverConfig) error { - if c.handshaker != nil { - return errors.New("only one handshaker allowed per server") - } - c.handshaker = handshaker - return nil - } -}