Skip to content

Commit

Permalink
remove network pkgs, add replace opts for network inherit
Browse files Browse the repository at this point in the history
  • Loading branch information
CMGS committed Apr 2, 2019
1 parent 003a85e commit 3aaf7a2
Show file tree
Hide file tree
Showing 22 changed files with 842 additions and 2,251 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ test: deps
# fix mock docker client bug, see https://github.com/moby/moby/pull/34383 [docker 17.05.0-ce]
sed -i.bak "143s/\*http.Transport/http.RoundTripper/" ./vendor/github.com/docker/docker/client/client.go
go vet `go list ./... | grep -v '/vendor/'`
go test -cover ./utils/... ./types/... ./store/etcdv3/... ./scheduler/complex/... ./source/common/... ./network/calico/... ./lock/etcdlock/... ./auth/simple/... ./cluster/calcium/...
go test -cover ./utils/... ./types/... ./store/etcdv3/... ./scheduler/complex/... ./source/common/... ./lock/etcdlock/... ./auth/simple/... ./cluster/calcium/...

mock: deps
mockery -dir ./vendor/google.golang.org/grpc -name ServerStream -output 3rdmocks
Expand All @@ -36,4 +36,4 @@ cloc:

unit-test:
go vet `go list ./... | grep -v '/vendor/'`
go test -cover ./utils/... ./types/... ./store/etcdv3/... ./scheduler/complex/... ./source/common/... ./network/calico/... ./lock/etcdlock/... ./auth/simple/... ./cluster/calcium/...
go test -cover ./utils/... ./types/... ./store/etcdv3/... ./scheduler/complex/... ./source/common/... ./lock/etcdlock/... ./auth/simple/... ./cluster/calcium/...
8 changes: 1 addition & 7 deletions cluster/calcium/calcium.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import (
"strings"

"github.com/projecteru2/core/cluster"
"github.com/projecteru2/core/network"
"github.com/projecteru2/core/network/calico"
"github.com/projecteru2/core/scheduler"
"github.com/projecteru2/core/scheduler/complex"
"github.com/projecteru2/core/source"
Expand All @@ -21,7 +19,6 @@ type Calcium struct {
config types.Config
store store.Store
scheduler scheduler.Scheduler
network network.Network
source source.Source
}

Expand All @@ -39,9 +36,6 @@ func New(config types.Config) (*Calcium, error) {
return nil, err
}

// set network
titanium := calico.New()

// set scm
var scm source.Source
scmtype := strings.ToLower(config.Git.SCMType)
Expand All @@ -54,5 +48,5 @@ func New(config types.Config) (*Calcium, error) {
return nil, types.NewDetailedErr(types.ErrBadSCMType, scmtype)
}

return &Calcium{store: store, config: config, scheduler: scheduler, network: titanium, source: scm}, nil
return &Calcium{store: store, config: config, scheduler: scheduler, source: scm}, nil
}
2 changes: 0 additions & 2 deletions cluster/calcium/calcium_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (

"github.com/stretchr/testify/assert"

networkmocks "github.com/projecteru2/core/network/mocks"
schedulermocks "github.com/projecteru2/core/scheduler/mocks"
sourcemocks "github.com/projecteru2/core/source/mocks"
storemocks "github.com/projecteru2/core/store/mocks"
Expand Down Expand Up @@ -36,7 +35,6 @@ func NewTestCluster() *Calcium {
c.config = types.Config{}
c.store = &storemocks.Store{}
c.scheduler = &schedulermocks.Scheduler{}
c.network = &networkmocks.Network{}
c.source = &sourcemocks.Source{}
return c
}
Expand Down
14 changes: 0 additions & 14 deletions cluster/calcium/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,20 +195,6 @@ func (c *Calcium) doCreateAndStartContainer(
return createContainerMessage
}

// connect virtualizaion to network
// if network manager uses plugin, then connect must be called before container starts
// 如果有 networks 的配置,这里的 networkMode 就为 none 了
// if len(opts.Networks) > 0 {
// ctx := utils.ContextWithDockerEngine(ctx, node.Engine)
// // need to ensure all networks are correctly connected
// for networkID, ipv4 := range opts.Networks {
// if err = c.network.ConnectToNetwork(ctx, containerCreated.ID, networkID, ipv4); err != nil {
// createContainerMessage.Error = err
// return createContainerMessage
// }
// }
// }

// Copy data to container
if len(opts.Data) > 0 {
for dst, src := range opts.Data {
Expand Down
3 changes: 1 addition & 2 deletions cluster/calcium/network.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (

enginetypes "github.com/projecteru2/core/engine/types"
"github.com/projecteru2/core/types"
"github.com/projecteru2/core/utils"
)

// ListNetworks by podname
Expand All @@ -24,5 +23,5 @@ func (c *Calcium) ListNetworks(ctx context.Context, podname string, driver strin
}

node := nodes[0]
return c.network.ListNetworks(utils.ContextWithDockerEngine(ctx, node.Engine), driver)
return node.Engine.NetworkList(ctx, []string{driver})
}
8 changes: 4 additions & 4 deletions cluster/calcium/network_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (

"github.com/stretchr/testify/mock"

enginemocks "github.com/projecteru2/core/engine/mocks"
enginetypes "github.com/projecteru2/core/engine/types"
networkmocks "github.com/projecteru2/core/network/mocks"
storemocks "github.com/projecteru2/core/store/mocks"
"github.com/projecteru2/core/types"
)
Expand All @@ -25,15 +25,15 @@ func TestNetwork(t *testing.T) {
_, err := c.ListNetworks(ctx, "", "")
assert.Error(t, err)
// vaild
engine := &enginemocks.API{}
node := &types.Node{
Name: "test",
Available: true,
Engine: engine,
}
name := "test"
network := &networkmocks.Network{}
network.On("ListNetworks", mock.Anything, mock.Anything).Return([]*enginetypes.Network{{Name: name}}, nil)
engine.On("NetworkList", mock.Anything, mock.Anything).Return([]*enginetypes.Network{{Name: name}}, nil)
store.On("GetNodesByPod", mock.AnythingOfType("*context.emptyCtx"), mock.Anything).Return([]*types.Node{node}, nil)
c.network = network
ns, err := c.ListNetworks(ctx, "", "")
assert.NoError(t, err)
assert.Equal(t, len(ns), 1)
Expand Down
6 changes: 5 additions & 1 deletion cluster/calcium/replace.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ func (c *Calcium) ReplaceContainer(ctx context.Context, opts *types.ReplaceOptio
if err != nil {
log.Errorf("[ReplaceContainer] Get container %s failed %v", ID, err)
continue

}
if opts.Podname != "" && container.Podname != opts.Podname {
log.Warnf("[ReplaceContainer] Skip not in pod container %s", container.ID)
Expand All @@ -58,6 +57,11 @@ func (c *Calcium) ReplaceContainer(ctx context.Context, opts *types.ReplaceOptio
replaceOpts.SoftLimit = container.SoftLimit
// 覆盖 podname 如果做全量更新的话
replaceOpts.Podname = container.Podname
// 继承网络配置
if replaceOpts.NetworkInherit {
replaceOpts.NetworkMode = ""
replaceOpts.Networks = containerJSON.Networks
}

createMessage, removeMessage, err := c.doReplaceContainer(
ctx, container, containerJSON, &replaceOpts, index,
Expand Down
33 changes: 15 additions & 18 deletions engine/docker/container.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,17 +91,16 @@ func (e *Engine) VirtualizationCreate(ctx context.Context, opts *enginetypes.Vir
hostConfig.PortBindings = portMapping
config.ExposedPorts = exposePorts
}

networkConfig := &dockernetwork.NetworkingConfig{}
if len(opts.Networks) > 0 {
networkConfig.EndpointsConfig = map[string]*dockernetwork.EndpointSettings{}
for networkID, ipv4 := range opts.Networks {
networkConfig.EndpointsConfig[networkID] = &dockernetwork.EndpointSettings {
IPAMConfig: &dockernetwork.EndpointIPAMConfig {
IPv4Address: ipv4,
},
}

networkConfig := &dockernetwork.NetworkingConfig{
EndpointsConfig: map[string]*dockernetwork.EndpointSettings{},
}
for networkID, ipv4 := range opts.Networks {
endpointSetting, err := e.makeIPV4EndpointSetting(ipv4)
if err != nil {
return r, err
}
networkConfig.EndpointsConfig[networkID] = endpointSetting
}

containerCreated, err := e.client.ContainerCreate(ctx, config, hostConfig, networkConfig, opts.Name)
Expand Down Expand Up @@ -147,15 +146,13 @@ func (e *Engine) VirtualizationInspect(ctx context.Context, ID string) (*enginet
r.Env = containerJSON.Config.Env
r.Labels = containerJSON.Config.Labels
r.Running = containerJSON.State.Running
if containerJSON.NetworkSettings != nil {
r.Networks = map[string]string{}
for networkName, networkSetting := range containerJSON.NetworkSettings.Networks {
ip := networkSetting.IPAddress
if dockercontainer.NetworkMode(networkName).IsHost() {
ip = GetIP(e.client.DaemonHost())
}
r.Networks[networkName] = ip
r.Networks = map[string]string{}
for networkName, networkSetting := range containerJSON.NetworkSettings.Networks {
ip := networkSetting.IPAddress
if dockercontainer.NetworkMode(networkName).IsHost() {
ip = GetIP(e.client.DaemonHost())
}
r.Networks[networkName] = ip
}
return r, nil
}
Expand Down
15 changes: 10 additions & 5 deletions engine/docker/network.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ import (
log "github.com/sirupsen/logrus"
)

// NetworkConnect connect to a network
func (e *Engine) NetworkConnect(ctx context.Context, network, target, ipv4, ipv6 string) error {
func (e *Engine) makeIPV4EndpointSetting(ipv4 string) (*dockernetwork.EndpointSettings, error) {
config := &dockernetwork.EndpointSettings{
IPAMConfig: &dockernetwork.EndpointIPAMConfig{},
}
Expand All @@ -23,17 +22,23 @@ func (e *Engine) NetworkConnect(ctx context.Context, network, target, ipv4, ipv6
if ipv4 != "" {
ip := net.ParseIP(ipv4)
if ip == nil {
return coretypes.NewDetailedErr(coretypes.ErrBadIPAddress, ipv4)
return nil, coretypes.NewDetailedErr(coretypes.ErrBadIPAddress, ipv4)
}

config.IPAMConfig.IPv4Address = ip.String()
}
return config, nil
}

// NetworkConnect connect to a network
func (e *Engine) NetworkConnect(ctx context.Context, network, target, ipv4, ipv6 string) error {
config, err := e.makeIPV4EndpointSetting(ipv4)
if err != nil {
return err
}
ipForShow := ipv4
if ipForShow == "" {
ipForShow = "[AutoAlloc]"
}

log.Infof("[ConnectToNetwork] Connect %v to %v with IP %v", target, network, ipForShow)
return e.client.NetworkConnect(ctx, network, target, config)
}
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ require (
go.uber.org/zap v1.7.1 // indirect
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8 // indirect
golang.org/x/time v0.0.0-20170420181420-c06e80d9300e // indirect
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
google.golang.org/grpc v0.0.0-20181112213041-04ea82009cdb
gopkg.in/alexcesaro/statsd.v2 v2.0.0 // indirect
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
Expand Down
18 changes: 2 additions & 16 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ github.com/Microsoft/go-winio v0.4.5 h1:U2XsGR5dBg1yzwSEJoP2dE2/aAXpmad+CNG2hE9P
github.com/Microsoft/go-winio v0.4.5/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw=
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk=
github.com/alexcesaro/statsd v2.0.0+incompatible h1:HG17k1Qk8V1F4UOoq6tx+IUoAbOcI5PHzzEUGeDD72w=
github.com/alexcesaro/statsd v2.0.0+incompatible/go.mod h1:vNepIbQAiyLe1j480173M6NYYaAsGwEcvuDTU3OCUGY=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLMYoU8P317H5OQ+Via4RmuPwCS0=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
Expand Down Expand Up @@ -38,13 +37,11 @@ github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKoh
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
github.com/docker/go-units v0.3.3 h1:Xk8S3Xj5sLGlG5g67hJmYMmUgXv5N4PhkjJHHqrwnTk=
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4=
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE=
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415 h1:WSBJMqJbLxsn+bTCPyPYZfqHdJmc8MK4wrBjMft6BAM=
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
Expand All @@ -53,7 +50,6 @@ github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/btree v0.0.0-20161005200959-925471ac9e21 h1:eQuZ9QxVbMIeFAhxvtYmoxIhvmJCHj767J8EuwvQ1nA=
github.com/google/btree v0.0.0-20161005200959-925471ac9e21/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
Expand All @@ -72,12 +68,9 @@ github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe h1:W/GaMY0y69G4cFlmsC6B9sbuo2fP8OFP1ABjt4kPz+w=
github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
Expand All @@ -87,13 +80,11 @@ github.com/opencontainers/image-spec v0.0.0-20180411145040-e562b0440392 h1:rBwY4
github.com/opencontainers/image-spec v0.0.0-20180411145040-e562b0440392/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
github.com/opencontainers/runc v0.0.0-20180615140650-ad0f5255060d h1:xR1OjwB9B/lHupFRviTjC9DSxJsjRFU1fbCSRSjT0OM=
github.com/opencontainers/runc v0.0.0-20180615140650-ad0f5255060d/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
github.com/philhofer/fwd v1.0.0 h1:UbZqGr5Y38ApvM/V/jEljVxwocdweyH+vmYvRPBnbqQ=
github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
github.com/pkg/errors v0.0.0-20171210022416-8842a6e0cc59 h1:kJj5DuTAYL50fxzt3hb2cILVuaFki0on0gDnuPLiGic=
github.com/pkg/errors v0.0.0-20171210022416-8842a6e0cc59/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pquerna/ffjson v0.0.0-20181028064349-e517b90714f7 h1:gGBSHPOU7g8YjTbhwn+lvFm2VDEhhA+PwDIlstkgSxE=
github.com/pquerna/ffjson v0.0.0-20181028064349-e517b90714f7/go.mod h1:YARuvh7BUWHNhzDq2OM5tzR2RiCcN2D7sapiKyCel/M=
github.com/prometheus/client_golang v0.9.0-pre1 h1:AWTOhsOI9qxeirTuA0A4By/1Es1+y9EcCGY6bBZ2fhM=
github.com/prometheus/client_golang v0.9.0-pre1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
Expand All @@ -113,7 +104,6 @@ github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU=
github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8 h1:ndzgwNDnKIqyCvHTXaCqh9KlOWKvBry6nuXMJmonVsE=
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
Expand All @@ -133,30 +123,26 @@ golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTk
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d h1:g9qWBGx4puODJTMVyoPrpoxPFgVGd+z1DZwjfRu4d0I=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8 h1:YoY1wS6JYVRpIfFngRf2HHo9R9dAne3xbkGOQ5rJXjU=
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/time v0.0.0-20170420181420-c06e80d9300e h1:J4S0GBcCoJ2pYYVewfgT7HU8SvahFdrkNK7FRuGCZdo=
golang.org/x/time v0.0.0-20170420181420-c06e80d9300e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/grpc v0.0.0-20181112213041-04ea82009cdb h1:e5rMwJoP9gAUWYwDJEaAsWj6OuzZkGqTrwL7TX4px7Q=
google.golang.org/grpc v0.0.0-20181112213041-04ea82009cdb/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
gopkg.in/alexcesaro/statsd.v2 v2.0.0 h1:FXkZSCZIH17vLCO5sO2UucTHsH9pc+17F6pl3JVCwMc=
gopkg.in/alexcesaro/statsd.v2 v2.0.0/go.mod h1:i0ubccKGzBVNBpdGV5MocxyA/XlLUJzA7SLonnE4drU=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/libgit2/git2go.v27 v27.0.0-20180529185754-9abc0506daca h1:31aJXZ4HyvHZtfYZgw8BtrEqMHcSYCFYgHs4hIKm6R4=
gopkg.in/libgit2/git2go.v27 v27.0.0-20180529185754-9abc0506daca/go.mod h1:lKrzYfERNvPdRbevxLdKadsT0XwHJ10JC05CXIQgmWc=
gopkg.in/yaml.v2 v2.0.0-20150924142314-53feefa2559f h1:sOheF02XWNGQor9t3gRZtN/HlgP6sv3NozSahoTEmiM=
gopkg.in/yaml.v2 v2.0.0-20150924142314-53feefa2559f/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
Loading

0 comments on commit 3aaf7a2

Please sign in to comment.