From 2e039a4e60334709a5e6089327a9868d5be19241 Mon Sep 17 00:00:00 2001 From: marcos Date: Tue, 21 Nov 2017 15:21:15 -0300 Subject: [PATCH] Make KubeletClient public --- Gopkg.lock | 166 ++++++++++++++++++++++++++++++++++-- k8s/factory.go | 12 +-- k8s/factory_mock.go | 4 +- k8s/local_cached_factory.go | 4 +- 4 files changed, 171 insertions(+), 15 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index fb0425b..b36afa3 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -13,6 +13,18 @@ revision = "78439966b38d69bf38227fbf57ac8a6fee70f69a" version = "v0.4.5" +[[projects]] + name = "github.com/PuerkitoBio/purell" + packages = ["."] + revision = "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4" + version = "v1.1.0" + +[[projects]] + branch = "master" + name = "github.com/PuerkitoBio/urlesc" + packages = ["."] + revision = "de5bf2ad457846296e2031421a34e2568e304e35" + [[projects]] name = "github.com/aws/aws-sdk-go" packages = ["aws","aws/awserr","aws/awsutil","aws/client","aws/client/metadata","aws/corehandlers","aws/credentials","aws/credentials/ec2rolecreds","aws/credentials/endpointcreds","aws/credentials/stscreds","aws/defaults","aws/ec2metadata","aws/endpoints","aws/request","aws/session","aws/signer/v4","internal/shareddefaults","private/protocol","private/protocol/ec2query","private/protocol/query","private/protocol/query/queryutil","private/protocol/rest","private/protocol/xml/xmlutil","service/autoscaling","service/ec2","service/sts"] @@ -54,24 +66,78 @@ revision = "0dadbb0345b35ec7ef35e228dabb8de89a65bf52" version = "v0.3.2" +[[projects]] + name = "github.com/emicklei/go-restful" + packages = [".","log"] + revision = "5741799b275a3c4a5a9623a993576d7545cf7b5c" + version = "v2.4.0" + +[[projects]] + name = "github.com/emicklei/go-restful-swagger12" + packages = ["."] + revision = "dcef7f55730566d41eae5db10e7d6981829720f6" + version = "1.0.1" + +[[projects]] + name = "github.com/ghodss/yaml" + packages = ["."] + revision = "0ca9ea5df5451ffdf184b4428c902747c2c11cd7" + version = "v1.0.0" + [[projects]] name = "github.com/go-ini/ini" packages = ["."] revision = "5b3e00af70a9484542169a976dcab8d03e601a17" version = "v1.30.0" +[[projects]] + branch = "master" + name = "github.com/go-openapi/jsonpointer" + packages = ["."] + revision = "779f45308c19820f1a69e9a4cd965f496e0da10f" + +[[projects]] + branch = "master" + name = "github.com/go-openapi/jsonreference" + packages = ["."] + revision = "36d33bfe519efae5632669801b180bf1a245da3b" + +[[projects]] + branch = "master" + name = "github.com/go-openapi/spec" + packages = ["."] + revision = "a4fa9574c7aa73b2fc54e251eb9524d0482bb592" + +[[projects]] + branch = "master" + name = "github.com/go-openapi/swag" + packages = ["."] + revision = "cf0bdb963811675a4d7e74901cefc7411a1df939" + [[projects]] name = "github.com/gogo/protobuf" - packages = ["proto"] + packages = ["proto","sortkeys"] revision = "100ba4e885062801d56799d78530b73b178a78f3" version = "v0.4" +[[projects]] + branch = "master" + name = "github.com/golang/glog" + packages = ["."] + revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998" + [[projects]] branch = "master" name = "github.com/golang/protobuf" - packages = ["proto"] + packages = ["proto","ptypes","ptypes/any","ptypes/duration","ptypes/timestamp"] revision = "130e6b02ab059e7b717a096f397c5b60111cae74" +[[projects]] + branch = "master" + name = "github.com/google/btree" + packages = ["."] + revision = "316fb6d3f031ae8f4d457c6c5186b9e3ded70435" + [[projects]] branch = "master" name = "github.com/google/go-github" @@ -84,6 +150,18 @@ packages = ["query"] revision = "53e6ce116135b80d037921a7fdd5138cf32d7a8a" +[[projects]] + branch = "master" + name = "github.com/google/gofuzz" + packages = ["."] + revision = "24818f796faf91cd76ec7bddd72458fbced7a6c1" + +[[projects]] + name = "github.com/googleapis/gnostic" + packages = ["OpenAPIv2","compiler","extensions"] + revision = "ee43cbb60db7bd22502942cccbc39059117352ab" + version = "v0.1.0" + [[projects]] name = "github.com/gorilla/context" packages = ["."] @@ -114,6 +192,12 @@ revision = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b" version = "v1.2.0" +[[projects]] + branch = "master" + name = "github.com/gregjones/httpcache" + packages = [".","diskcache"] + revision = "2bcd89a1743fd4b373f7370ce8ddc14dfbd18229" + [[projects]] branch = "master" name = "github.com/hashicorp/golang-lru" @@ -137,6 +221,24 @@ packages = ["."] revision = "0b12d6b5" +[[projects]] + name = "github.com/json-iterator/go" + packages = ["."] + revision = "f7279a603edee96fe7764d3de9c6ff8cf9970994" + version = "1.0.4" + +[[projects]] + branch = "master" + name = "github.com/juju/ratelimit" + packages = ["."] + revision = "59fac5042749a5afb9af70e813da1dd5474f0167" + +[[projects]] + branch = "master" + name = "github.com/mailru/easyjson" + packages = ["buffer","jlexer","jwriter"] + revision = "32fa128f234d041f196a9f3e0fea5ac9772c08e1" + [[projects]] name = "github.com/matttproud/golang_protobuf_extensions" packages = ["pbutil"] @@ -161,6 +263,18 @@ revision = "ab7389ef9f50030c9b245bc16b981c7ddf192882" version = "v1.0.0" +[[projects]] + branch = "master" + name = "github.com/petar/GoLLRB" + packages = ["llrb"] + revision = "53be0d36a84c2a886ca057d34b6aa4468df9ccb4" + +[[projects]] + name = "github.com/peterbourgon/diskv" + packages = ["."] + revision = "5f041e8faa004a95c88a202771f4cc3e991971e6" + version = "v2.0.1" + [[projects]] name = "github.com/pkg/errors" packages = ["."] @@ -215,6 +329,12 @@ revision = "6e221c482653ef05c9f6a7bf71ddceea0e40bac5" version = "v2.17.09" +[[projects]] + name = "github.com/spf13/pflag" + packages = ["."] + revision = "e57e3eeb33f795204c1ca35f56c44f83227c6e66" + version = "v1.0.0" + [[projects]] branch = "master" name = "github.com/stretchr/objx" @@ -242,7 +362,7 @@ [[projects]] branch = "master" name = "golang.org/x/net" - packages = ["context","context/ctxhttp","proxy","websocket"] + packages = ["context","context/ctxhttp","http2","http2/hpack","idna","lex/httplex","proxy","websocket"] revision = "aabf50738bcdd9b207582cbe796b59ed65d56680" [[projects]] @@ -266,7 +386,7 @@ [[projects]] branch = "master" name = "golang.org/x/text" - packages = ["encoding","encoding/internal/identifier","internal/gen","transform","unicode/cldr"] + packages = ["collate","collate/build","encoding","encoding/internal/identifier","internal/colltab","internal/gen","internal/tag","internal/triegen","internal/ucd","language","secure/bidirule","transform","unicode/bidi","unicode/cldr","unicode/norm","unicode/rangetable","width"] revision = "c01e4764d870b77f8abe5096ee19ad20d80e8075" [[projects]] @@ -275,9 +395,45 @@ revision = "150dc57a1b433e64154302bdc40b6bb8aefa313a" version = "v1.0.0" +[[projects]] + name = "gopkg.in/inf.v0" + packages = ["."] + revision = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4" + version = "v0.9.0" + +[[projects]] + branch = "v2" + name = "gopkg.in/yaml.v2" + packages = ["."] + revision = "287cf08546ab5e7e37d55a84f7ed3fd1db036de5" + +[[projects]] + branch = "master" + name = "k8s.io/api" + packages = ["admissionregistration/v1alpha1","apps/v1beta1","apps/v1beta2","authentication/v1","authentication/v1beta1","authorization/v1","authorization/v1beta1","autoscaling/v1","autoscaling/v2beta1","batch/v1","batch/v1beta1","batch/v2alpha1","certificates/v1beta1","core/v1","extensions/v1beta1","networking/v1","policy/v1beta1","rbac/v1","rbac/v1alpha1","rbac/v1beta1","scheduling/v1alpha1","settings/v1alpha1","storage/v1","storage/v1beta1"] + revision = "218912509d74a117d05a718bb926d0948e531c20" + +[[projects]] + branch = "master" + name = "k8s.io/apimachinery" + packages = ["pkg/api/equality","pkg/api/errors","pkg/api/meta","pkg/api/resource","pkg/apis/meta/v1","pkg/apis/meta/v1/unstructured","pkg/apis/meta/v1alpha1","pkg/conversion","pkg/conversion/queryparams","pkg/conversion/unstructured","pkg/fields","pkg/labels","pkg/runtime","pkg/runtime/schema","pkg/runtime/serializer","pkg/runtime/serializer/json","pkg/runtime/serializer/protobuf","pkg/runtime/serializer/recognizer","pkg/runtime/serializer/streaming","pkg/runtime/serializer/versioning","pkg/selection","pkg/types","pkg/util/clock","pkg/util/diff","pkg/util/errors","pkg/util/framer","pkg/util/intstr","pkg/util/json","pkg/util/net","pkg/util/runtime","pkg/util/sets","pkg/util/validation","pkg/util/validation/field","pkg/util/wait","pkg/util/yaml","pkg/version","pkg/watch","third_party/forked/golang/reflect"] + revision = "18a564baac720819100827c16fdebcadb05b2d0d" + +[[projects]] + name = "k8s.io/client-go" + packages = ["discovery","kubernetes","kubernetes/scheme","kubernetes/typed/admissionregistration/v1alpha1","kubernetes/typed/apps/v1beta1","kubernetes/typed/apps/v1beta2","kubernetes/typed/authentication/v1","kubernetes/typed/authentication/v1beta1","kubernetes/typed/authorization/v1","kubernetes/typed/authorization/v1beta1","kubernetes/typed/autoscaling/v1","kubernetes/typed/autoscaling/v2beta1","kubernetes/typed/batch/v1","kubernetes/typed/batch/v1beta1","kubernetes/typed/batch/v2alpha1","kubernetes/typed/certificates/v1beta1","kubernetes/typed/core/v1","kubernetes/typed/extensions/v1beta1","kubernetes/typed/networking/v1","kubernetes/typed/policy/v1beta1","kubernetes/typed/rbac/v1","kubernetes/typed/rbac/v1alpha1","kubernetes/typed/rbac/v1beta1","kubernetes/typed/scheduling/v1alpha1","kubernetes/typed/settings/v1alpha1","kubernetes/typed/storage/v1","kubernetes/typed/storage/v1beta1","pkg/version","rest","rest/watch","tools/clientcmd/api","tools/metrics","tools/reference","transport","util/cert","util/flowcontrol","util/integer"] + revision = "2ae454230481a7cb5544325e12ad7658ecccd19b" + version = "v5.0.1" + +[[projects]] + branch = "master" + name = "k8s.io/kube-openapi" + packages = ["pkg/common"] + revision = "39a7bf85c140f972372c2a0d1ee40adbf0c8bfe1" + [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "c44df7b948bc670608433a44e0c0b7997ab6efe72869b805669503c1c66d651b" + inputs-digest = "e9fd1884fe1cc9d2801810e3934b9caa124434efda447ee2f93435737b2e735f" solver-name = "gps-cdcl" solver-version = 1 diff --git a/k8s/factory.go b/k8s/factory.go index 9f26016..5170edc 100644 --- a/k8s/factory.go +++ b/k8s/factory.go @@ -21,7 +21,7 @@ import ( type FactoryApi interface { GetForInstance(instance *types.Instance) (*kubernetes.Clientset, error) - GetKubeletForInstance(instance *types.Instance) (*kubeletClient, error) + GetKubeletForInstance(instance *types.Instance) (*KubeletClient, error) } func NewClient(instance *types.Instance, proxyHost string) (*kubernetes.Clientset, error) { @@ -75,7 +75,7 @@ func NewClient(instance *types.Instance, proxyHost string) (*kubernetes.Clientse return kubernetes.New(rc), nil } -func NewKubeletClient(instance *types.Instance, proxyHost string) (*kubeletClient, error) { +func NewKubeletClient(instance *types.Instance, proxyHost string) (*KubeletClient, error) { var durl string host := router.EncodeHost(instance.SessionId, instance.RoutableIP, router.HostOpts{EncodedPort: 10255}) @@ -94,16 +94,16 @@ func NewKubeletClient(instance *types.Instance, proxyHost string) (*kubeletClien cli := &http.Client{ Transport: transport, } - kc := &kubeletClient{client: cli, baseURL: durl} + kc := &KubeletClient{client: cli, baseURL: durl} return kc, nil } -type kubeletClient struct { +type KubeletClient struct { client *http.Client baseURL string } -func (c *kubeletClient) Get(path string) (*http.Response, error) { +func (c *KubeletClient) Get(path string) (*http.Response, error) { return c.client.Get(c.baseURL + path) } @@ -119,7 +119,7 @@ type kubeletPodsResponse struct { Items []item } -func (c *kubeletClient) IsManager() (bool, error) { +func (c *KubeletClient) IsManager() (bool, error) { res, err := c.client.Get(c.baseURL + "/pods") if err != nil { return false, err diff --git a/k8s/factory_mock.go b/k8s/factory_mock.go index 6a4b290..46a4f7f 100644 --- a/k8s/factory_mock.go +++ b/k8s/factory_mock.go @@ -10,9 +10,9 @@ type FactoryMock struct { mock.Mock } -func (m *FactoryMock) GetKubeletForInstance(i *types.Instance) (*kubeletClient, error) { +func (m *FactoryMock) GetKubeletForInstance(i *types.Instance) (*KubeletClient, error) { args := m.Called(i) - return args.Get(0).(*kubeletClient), args.Error(1) + return args.Get(0).(*KubeletClient), args.Error(1) } func (m *FactoryMock) GetForInstance(instance *types.Instance) (*kubernetes.Clientset, error) { diff --git a/k8s/local_cached_factory.go b/k8s/local_cached_factory.go index 10ccb12..809396c 100644 --- a/k8s/local_cached_factory.go +++ b/k8s/local_cached_factory.go @@ -23,7 +23,7 @@ type localCachedFactory struct { type instanceEntry struct { rw sync.Mutex client *kubernetes.Clientset - kubeletClient *kubeletClient + kubeletClient *KubeletClient } func (f *localCachedFactory) GetForInstance(instance *types.Instance) (*kubernetes.Clientset, error) { @@ -60,7 +60,7 @@ func (f *localCachedFactory) GetForInstance(instance *types.Instance) (*kubernet return c.client, nil } -func (f *localCachedFactory) GetKubeletForInstance(instance *types.Instance) (*kubeletClient, error) { +func (f *localCachedFactory) GetKubeletForInstance(instance *types.Instance) (*KubeletClient, error) { key := instance.Name f.irw.Lock()