diff --git a/build b/build index 16d3c8c85..56d5155dd 100755 --- a/build +++ b/build @@ -29,8 +29,8 @@ if [ "$GO111MODULE" == "off" ]; then echo "Building plugin without go module" echo "Warning: this will be deprecated in near future so please use go modules!" - ORG_PATH="github.com/intel" - REPO_PATH="${ORG_PATH}/multus-cni" + ORG_PATH="gopkg.in/intel" + REPO_PATH="${ORG_PATH}/multus-cni.v3" if [ ! -h gopath/src/${REPO_PATH} ]; then mkdir -p gopath/src/${ORG_PATH} diff --git a/checkpoint/checkpoint.go b/checkpoint/checkpoint.go index c9dce0fbf..c448b5ff0 100644 --- a/checkpoint/checkpoint.go +++ b/checkpoint/checkpoint.go @@ -19,8 +19,8 @@ import ( "encoding/json" "io/ioutil" - "github.com/intel/multus-cni/logging" - "github.com/intel/multus-cni/types" + "gopkg.in/intel/multus-cni.v3/logging" + "gopkg.in/intel/multus-cni.v3/types" v1 "k8s.io/api/core/v1" ) diff --git a/checkpoint/checkpoint_test.go b/checkpoint/checkpoint_test.go index ee625d415..4f5ddddbf 100644 --- a/checkpoint/checkpoint_test.go +++ b/checkpoint/checkpoint_test.go @@ -10,7 +10,7 @@ import ( "io/ioutil" "testing" - "github.com/intel/multus-cni/types" + "gopkg.in/intel/multus-cni.v3/types" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sTypes "k8s.io/apimachinery/pkg/types" diff --git a/doc/development.md b/doc/development.md index 977ad3a80..466a0b156 100644 --- a/doc/development.md +++ b/doc/development.md @@ -1,5 +1,15 @@ ## Development Information +## How to utilize multus-cni code as library? + +Multus now uses [gopkg.in](http://gopkg.in/) to expose its code as library. +You can use following command to import our code into your go code. + +``` +go get gopkg.in/intel/multus-cni.v3 +``` + + ## How do I submit an issue? Use GitHub as normally, you'll be presented with an option to submit a issue or enhancement request. diff --git a/go.mod b/go.mod index 97b10e67e..b3932d49c 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/intel/multus-cni +module gopkg.in/intel/multus-cni.v3 go 1.12 diff --git a/k8sclient/k8sclient.go b/k8sclient/k8sclient.go index 389f3f094..48f1c4a3a 100644 --- a/k8sclient/k8sclient.go +++ b/k8sclient/k8sclient.go @@ -37,9 +37,9 @@ import ( "github.com/containernetworking/cni/libcni" "github.com/containernetworking/cni/pkg/skel" cnitypes "github.com/containernetworking/cni/pkg/types" - "github.com/intel/multus-cni/kubeletclient" - "github.com/intel/multus-cni/logging" - "github.com/intel/multus-cni/types" + "gopkg.in/intel/multus-cni.v3/kubeletclient" + "gopkg.in/intel/multus-cni.v3/logging" + "gopkg.in/intel/multus-cni.v3/types" nettypes "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/apis/k8s.cni.cncf.io/v1" netclient "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/client/clientset/versioned/typed/k8s.cni.cncf.io/v1" netutils "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/utils" diff --git a/k8sclient/k8sclient_test.go b/k8sclient/k8sclient_test.go index e65e07241..d0fc6d13a 100644 --- a/k8sclient/k8sclient_test.go +++ b/k8sclient/k8sclient_test.go @@ -23,10 +23,10 @@ import ( "testing" types020 "github.com/containernetworking/cni/pkg/types/020" - testutils "github.com/intel/multus-cni/testing" + testutils "gopkg.in/intel/multus-cni.v3/testing" "github.com/containernetworking/cni/pkg/skel" - "github.com/intel/multus-cni/types" + "gopkg.in/intel/multus-cni.v3/types" nettypes "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/apis/k8s.cni.cncf.io/v1" netfake "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/client/clientset/versioned/fake" diff --git a/kubeletclient/kubeletclient.go b/kubeletclient/kubeletclient.go index d39c8d733..eed27978a 100644 --- a/kubeletclient/kubeletclient.go +++ b/kubeletclient/kubeletclient.go @@ -5,9 +5,9 @@ import ( "path/filepath" "time" - "github.com/intel/multus-cni/checkpoint" - "github.com/intel/multus-cni/logging" - "github.com/intel/multus-cni/types" + "gopkg.in/intel/multus-cni.v3/checkpoint" + "gopkg.in/intel/multus-cni.v3/logging" + "gopkg.in/intel/multus-cni.v3/types" "golang.org/x/net/context" v1 "k8s.io/api/core/v1" "k8s.io/kubernetes/pkg/kubelet/apis/podresources" diff --git a/kubeletclient/kubeletclient_test.go b/kubeletclient/kubeletclient_test.go index e3815c739..759a42cf8 100644 --- a/kubeletclient/kubeletclient_test.go +++ b/kubeletclient/kubeletclient_test.go @@ -15,7 +15,7 @@ import ( k8sTypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/kubelet/util" - mtypes "github.com/intel/multus-cni/types" + mtypes "gopkg.in/intel/multus-cni.v3/types" podresourcesapi "k8s.io/kubernetes/pkg/kubelet/apis/podresources/v1alpha1" ) diff --git a/multus/multus.go b/multus/multus.go index aebd462ef..f8d626f5f 100644 --- a/multus/multus.go +++ b/multus/multus.go @@ -37,10 +37,10 @@ import ( cnicurrent "github.com/containernetworking/cni/pkg/types/current" cniversion "github.com/containernetworking/cni/pkg/version" "github.com/containernetworking/plugins/pkg/ns" - k8s "github.com/intel/multus-cni/k8sclient" - "github.com/intel/multus-cni/logging" - "github.com/intel/multus-cni/netutils" - "github.com/intel/multus-cni/types" + k8s "gopkg.in/intel/multus-cni.v3/k8sclient" + "gopkg.in/intel/multus-cni.v3/logging" + "gopkg.in/intel/multus-cni.v3/netutils" + "gopkg.in/intel/multus-cni.v3/types" nettypes "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/apis/k8s.cni.cncf.io/v1" nadutils "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/utils" "github.com/vishvananda/netlink" diff --git a/multus/multus_test.go b/multus/multus_test.go index e969f5251..895060ccc 100644 --- a/multus/multus_test.go +++ b/multus/multus_test.go @@ -34,10 +34,10 @@ import ( cniversion "github.com/containernetworking/cni/pkg/version" "github.com/containernetworking/plugins/pkg/ns" "github.com/containernetworking/plugins/pkg/testutils" - "github.com/intel/multus-cni/k8sclient" - "github.com/intel/multus-cni/logging" - testhelpers "github.com/intel/multus-cni/testing" - "github.com/intel/multus-cni/types" + "gopkg.in/intel/multus-cni.v3/k8sclient" + "gopkg.in/intel/multus-cni.v3/logging" + testhelpers "gopkg.in/intel/multus-cni.v3/testing" + "gopkg.in/intel/multus-cni.v3/types" netfake "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/client/clientset/versioned/fake" "k8s.io/client-go/kubernetes/fake" "k8s.io/client-go/tools/record" diff --git a/netutils/netutils.go b/netutils/netutils.go index 542b887d4..ab5f3cba6 100644 --- a/netutils/netutils.go +++ b/netutils/netutils.go @@ -20,7 +20,7 @@ import ( cnitypes "github.com/containernetworking/cni/pkg/types" "github.com/containernetworking/cni/pkg/types/current" "github.com/containernetworking/plugins/pkg/ns" - "github.com/intel/multus-cni/logging" + "gopkg.in/intel/multus-cni.v3/logging" "github.com/vishvananda/netlink" "net" "strings" diff --git a/types/conf.go b/types/conf.go index 00688e8a9..6d04f2419 100644 --- a/types/conf.go +++ b/types/conf.go @@ -23,7 +23,7 @@ import ( "github.com/containernetworking/cni/pkg/skel" "github.com/containernetworking/cni/pkg/types/current" "github.com/containernetworking/cni/pkg/version" - "github.com/intel/multus-cni/logging" + "gopkg.in/intel/multus-cni.v3/logging" ) const ( diff --git a/types/conf_test.go b/types/conf_test.go index ac4144942..67e67a94a 100644 --- a/types/conf_test.go +++ b/types/conf_test.go @@ -26,7 +26,7 @@ import ( types020 "github.com/containernetworking/cni/pkg/types/020" "github.com/containernetworking/plugins/pkg/ns" "github.com/containernetworking/plugins/pkg/testutils" - testhelpers "github.com/intel/multus-cni/testing" + testhelpers "gopkg.in/intel/multus-cni.v3/testing" netutils "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/utils" . "github.com/onsi/ginkgo" diff --git a/vendor/golang.org/x/net/html/node.go b/vendor/golang.org/x/net/html/node.go index 633ee15dc..1350eef22 100644 --- a/vendor/golang.org/x/net/html/node.go +++ b/vendor/golang.org/x/net/html/node.go @@ -18,6 +18,11 @@ const ( ElementNode CommentNode DoctypeNode + // RawNode nodes are not returned by the parser, but can be part of the + // Node tree passed to func Render to insert raw HTML (without escaping). + // If so, this package makes no guarantee that the rendered HTML is secure + // (from e.g. Cross Site Scripting attacks) or well-formed. + RawNode scopeMarkerNode ) diff --git a/vendor/golang.org/x/net/html/render.go b/vendor/golang.org/x/net/html/render.go index 8bf47ede7..46879c083 100644 --- a/vendor/golang.org/x/net/html/render.go +++ b/vendor/golang.org/x/net/html/render.go @@ -134,6 +134,9 @@ func render1(w writer, n *Node) error { } } return w.WriteByte('>') + case RawNode: + _, err := w.WriteString(n.Data) + return err default: return errors.New("html: unknown node type") } diff --git a/vendor/golang.org/x/net/http2/http2.go b/vendor/golang.org/x/net/http2/http2.go index bdaba1d46..27cc893cc 100644 --- a/vendor/golang.org/x/net/http2/http2.go +++ b/vendor/golang.org/x/net/http2/http2.go @@ -19,7 +19,6 @@ package http2 // import "golang.org/x/net/http2" import ( "bufio" "crypto/tls" - "errors" "fmt" "io" "net/http" @@ -173,11 +172,6 @@ func (s SettingID) String() string { return fmt.Sprintf("UNKNOWN_SETTING_%d", uint16(s)) } -var ( - errInvalidHeaderFieldName = errors.New("http2: invalid header field name") - errInvalidHeaderFieldValue = errors.New("http2: invalid header field value") -) - // validWireHeaderFieldName reports whether v is a valid header field // name (key). See httpguts.ValidHeaderName for the base rules. // diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index de31d72b2..bc9e41a1b 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -581,13 +581,10 @@ type stream struct { cancelCtx func() // owned by serverConn's serve loop: - bodyBytes int64 // body bytes seen so far - declBodyBytes int64 // or -1 if undeclared - flow flow // limits writing from Handler to client - inflow flow // what the client is allowed to POST/etc to us - parent *stream // or nil - numTrailerValues int64 - weight uint8 + bodyBytes int64 // body bytes seen so far + declBodyBytes int64 // or -1 if undeclared + flow flow // limits writing from Handler to client + inflow flow // what the client is allowed to POST/etc to us state streamState resetQueued bool // RST_STREAM queued for write; set by sc.resetStream gotTrailerHeader bool // HEADER frame for trailers was seen diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go index d948e96ee..81778bec6 100644 --- a/vendor/golang.org/x/net/http2/transport.go +++ b/vendor/golang.org/x/net/http2/transport.go @@ -2198,8 +2198,6 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error { return nil } -var errInvalidTrailers = errors.New("http2: invalid trailers") - func (rl *clientConnReadLoop) endStream(cs *clientStream) { // TODO: check that any declared content-length matches, like // server.go's (*stream).endStream method. @@ -2430,7 +2428,6 @@ func (cc *ClientConn) writeStreamReset(streamID uint32, code ErrCode, err error) var ( errResponseHeaderListSize = errors.New("http2: response header list larger than advertised limit") errRequestHeaderListSize = errors.New("http2: request header list larger than peer's advertised limit") - errPseudoTrailers = errors.New("http2: invalid pseudo header in trailers") ) func (cc *ClientConn) logf(format string, args ...interface{}) { diff --git a/vendor/modules.txt b/vendor/modules.txt index 0eb248cac..4b2353e89 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -108,7 +108,7 @@ github.com/vishvananda/netlink/nl github.com/vishvananda/netns # golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 golang.org/x/crypto/ssh/terminal -# golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa +# golang.org/x/net v0.0.0-20200226121028-0de0cce0169b golang.org/x/net/context golang.org/x/net/context/ctxhttp golang.org/x/net/html