From 156e9a1cd8ef670192945373f23cf0b6b2cec02e Mon Sep 17 00:00:00 2001 From: Adam Harrison Date: Thu, 21 Sep 2017 17:19:54 +0100 Subject: [PATCH] Upgrade client-go and kubectl to 1.7.x --- Gopkg.lock | 147 +++++++++++++++++------------ Gopkg.toml | 7 +- cmd/kured/Dockerfile | 2 +- cmd/kured/main.go | 8 +- pkg/daemonsetlock/daemonsetlock.go | 14 +-- 5 files changed, 104 insertions(+), 74 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index c070189..c8f423b 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -1,9 +1,5 @@ -[solve-meta] - analyzer-name = "dep" - analyzer-version = 1 - inputs-digest = "758e136fb047a3fbb8746d2e83a9e11d341db8e16e4ddc78bc0e8b41038f023b" - solver-name = "gps-cdcl" - solver-version = 1 +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + [[projects]] name = "github.com/PuerkitoBio/purell" @@ -24,10 +20,16 @@ revision = "abc6f20dabf4b10195f233ad21ea6c5ba33acae0" [[projects]] - branch = "master" - name = "github.com/blang/semver" + name = "github.com/asaskevich/govalidator" packages = ["."] - revision = "60ec3488bfea7cca02b021d106d9911120d25fe9" + revision = "73945b6115bfbbcc57d89b7316e28109364124e1" + version = "v7" + +[[projects]] + branch = "master" + name = "github.com/beorn7/perks" + packages = ["quantile"] + revision = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9" [[projects]] branch = "master" @@ -35,24 +37,6 @@ packages = ["."] revision = "99c3df83b51532e3615f851d8c2dbb638f5313bf" -[[projects]] - branch = "master" - name = "github.com/coreos/go-oidc" - packages = ["http","jose","key","oauth2","oidc"] - revision = "48c41f8e5a608ae49cbff1d977dd060815a8bb9f" - -[[projects]] - branch = "master" - name = "github.com/coreos/go-systemd" - packages = ["journal"] - revision = "fa8411dcbcbad22b8542b0433914ef68b123f989" - -[[projects]] - branch = "master" - name = "github.com/coreos/pkg" - packages = ["capnslog","health","httputil","timeutil"] - revision = "3ac0863d7acf3bc44daf49afef8919af12f704ef" - [[projects]] branch = "master" name = "github.com/davecgh/go-spew" @@ -68,15 +52,33 @@ [[projects]] branch = "master" name = "github.com/emicklei/go-restful" - packages = [".","log","swagger"] + packages = [".","log"] revision = "b14c3a95fc27c52959d2eddc85066da3c14bf269" +[[projects]] + name = "github.com/emicklei/go-restful-swagger12" + packages = ["."] + revision = "dcef7f55730566d41eae5db10e7d6981829720f6" + version = "1.0.1" + [[projects]] branch = "master" name = "github.com/ghodss/yaml" packages = ["."] revision = "aa0c862057666179de291b67d9f093d12b5a8473" +[[projects]] + branch = "master" + name = "github.com/go-openapi/analysis" + packages = ["."] + revision = "8ed83f2ea9f00f945516462951a288eaa68bf0d6" + +[[projects]] + branch = "master" + name = "github.com/go-openapi/errors" + packages = ["."] + revision = "03cfca65330da08a5a440053faf994a3c682b5bf" + [[projects]] branch = "master" name = "github.com/go-openapi/jsonpointer" @@ -89,12 +91,24 @@ packages = ["."] revision = "36d33bfe519efae5632669801b180bf1a245da3b" +[[projects]] + branch = "master" + name = "github.com/go-openapi/loads" + packages = ["."] + revision = "a80dea3052f00e5f032e860dd7355cd0cc67e24d" + [[projects]] branch = "master" name = "github.com/go-openapi/spec" packages = ["."] revision = "e51c28f07047ad90caff03f6450908720d337e0c" +[[projects]] + branch = "master" + name = "github.com/go-openapi/strfmt" + packages = ["."] + revision = "610b6cacdcde6852f4de68998bd20ce1dac85b22" + [[projects]] branch = "master" name = "github.com/go-openapi/swag" @@ -131,17 +145,11 @@ packages = ["."] revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" -[[projects]] - branch = "master" - name = "github.com/jonboulle/clockwork" - packages = ["."] - revision = "2eee05ed794112d45db504eb05aa693efd2b8b09" - [[projects]] branch = "master" name = "github.com/juju/ratelimit" packages = ["."] - revision = "77ed1c8a01217656d2080ad51981f6e99adaa177" + revision = "5b9ff866471762aa2ab2dced63c9fb6f53921342" [[projects]] branch = "master" @@ -149,24 +157,42 @@ packages = ["buffer","jlexer","jwriter"] revision = "2af9a745a611440bab0528e5ac19b2805a1c50eb" +[[projects]] + name = "github.com/matttproud/golang_protobuf_extensions" + packages = ["pbutil"] + revision = "3247c84500bff8d9fb6d579d800f20b3e091582c" + version = "v1.0.0" + [[projects]] branch = "master" - name = "github.com/pborman/uuid" + name = "github.com/mitchellh/mapstructure" packages = ["."] - revision = "c55201b036063326c5b1b89ccfe45a184973d073" + revision = "d0303fe809921458f417bcf828397a65db30a7e4" [[projects]] branch = "master" name = "github.com/prometheus/client_golang" - packages = ["api/prometheus"] + packages = ["api/prometheus","prometheus","prometheus/promhttp"] revision = "5636dc67ae776adf5590da7349e70fbb9559972d" +[[projects]] + branch = "master" + name = "github.com/prometheus/client_model" + packages = ["go"] + revision = "6f3806018612930941127f2a7c6c453ba2c527d2" + [[projects]] branch = "master" name = "github.com/prometheus/common" - packages = ["model"] + packages = ["expfmt","internal/bitbucket.org/ww/goautoneg","model"] revision = "ebdfc6da46522d58825777cf1f90490a5b1ef1d8" +[[projects]] + branch = "master" + name = "github.com/prometheus/procfs" + packages = [".","xfs"] + revision = "e645f4e5aaa8506fc71d6edbc5c4ff02c04c46f2" + [[projects]] branch = "master" name = "github.com/spf13/cobra" @@ -191,12 +217,6 @@ packages = ["context","context/ctxhttp","http2","http2/hpack","idna"] revision = "2a35e686583654a1b89ca79c4ac78cb3d6529ca3" -[[projects]] - branch = "master" - name = "golang.org/x/oauth2" - packages = [".","google","internal","jws","jwt"] - revision = "e86e2718db89775a4604abc10a5d3a5672e7336e" - [[projects]] branch = "master" name = "golang.org/x/sys" @@ -209,32 +229,39 @@ packages = ["internal/gen","internal/triegen","internal/ucd","transform","unicode/cldr","unicode/norm","width"] revision = "a9a820217f98f7c8a207ec1e45a874e1fe12c478" -[[projects]] - name = "google.golang.org/appengine" - packages = [".","internal","internal/app_identity","internal/base","internal/datastore","internal/log","internal/modules","internal/remote_api","internal/urlfetch","urlfetch"] - revision = "150dc57a1b433e64154302bdc40b6bb8aefa313a" - version = "v1.0.0" - -[[projects]] - branch = "master" - name = "google.golang.org/cloud" - packages = ["compute/metadata","internal"] - revision = "d96a09b3489f3183f15b676a5f8d04af06bdeb0e" - [[projects]] branch = "master" name = "gopkg.in/inf.v0" packages = ["."] revision = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4" +[[projects]] + branch = "v2" + name = "gopkg.in/mgo.v2" + packages = ["bson","internal/json"] + revision = "3f83fa5005286a7fe593b055f0d7771a7dce4655" + [[projects]] branch = "v2" name = "gopkg.in/yaml.v2" packages = ["."] revision = "cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b" +[[projects]] + branch = "release-1.7" + name = "k8s.io/apimachinery" + packages = ["pkg/api/equality","pkg/api/errors","pkg/api/meta","pkg/api/resource","pkg/apimachinery","pkg/apimachinery/announced","pkg/apimachinery/registered","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/openapi","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/rand","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 = "8ab5f3d8a330c2e9baaf84e39042db8d49034ae2" + [[projects]] name = "k8s.io/client-go" - packages = ["discovery","kubernetes","kubernetes/typed/apps/v1beta1","kubernetes/typed/authentication/v1beta1","kubernetes/typed/authorization/v1beta1","kubernetes/typed/autoscaling/v1","kubernetes/typed/batch/v1","kubernetes/typed/batch/v2alpha1","kubernetes/typed/certificates/v1alpha1","kubernetes/typed/core/v1","kubernetes/typed/extensions/v1beta1","kubernetes/typed/policy/v1beta1","kubernetes/typed/rbac/v1alpha1","kubernetes/typed/storage/v1beta1","pkg/api","pkg/api/errors","pkg/api/install","pkg/api/meta","pkg/api/meta/metatypes","pkg/api/resource","pkg/api/unversioned","pkg/api/v1","pkg/api/validation/path","pkg/apimachinery","pkg/apimachinery/announced","pkg/apimachinery/registered","pkg/apis/apps","pkg/apis/apps/install","pkg/apis/apps/v1beta1","pkg/apis/authentication","pkg/apis/authentication/install","pkg/apis/authentication/v1beta1","pkg/apis/authorization","pkg/apis/authorization/install","pkg/apis/authorization/v1beta1","pkg/apis/autoscaling","pkg/apis/autoscaling/install","pkg/apis/autoscaling/v1","pkg/apis/batch","pkg/apis/batch/install","pkg/apis/batch/v1","pkg/apis/batch/v2alpha1","pkg/apis/certificates","pkg/apis/certificates/install","pkg/apis/certificates/v1alpha1","pkg/apis/extensions","pkg/apis/extensions/install","pkg/apis/extensions/v1beta1","pkg/apis/policy","pkg/apis/policy/install","pkg/apis/policy/v1beta1","pkg/apis/rbac","pkg/apis/rbac/install","pkg/apis/rbac/v1alpha1","pkg/apis/storage","pkg/apis/storage/install","pkg/apis/storage/v1beta1","pkg/auth/user","pkg/conversion","pkg/conversion/queryparams","pkg/fields","pkg/genericapiserver/openapi/common","pkg/labels","pkg/runtime","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/third_party/forked/golang/reflect","pkg/third_party/forked/golang/template","pkg/types","pkg/util","pkg/util/cert","pkg/util/clock","pkg/util/errors","pkg/util/flowcontrol","pkg/util/framer","pkg/util/integer","pkg/util/intstr","pkg/util/json","pkg/util/jsonpath","pkg/util/labels","pkg/util/net","pkg/util/parsers","pkg/util/rand","pkg/util/runtime","pkg/util/sets","pkg/util/uuid","pkg/util/validation","pkg/util/validation/field","pkg/util/wait","pkg/util/yaml","pkg/version","pkg/watch","pkg/watch/versioned","plugin/pkg/client/auth","plugin/pkg/client/auth/gcp","plugin/pkg/client/auth/oidc","rest","tools/clientcmd/api","tools/metrics","transport"] - revision = "e121606b0d09b2e1c467183ee46217fa85a6b672" - version = "v2.0.0" + packages = ["discovery","kubernetes","kubernetes/scheme","kubernetes/typed/admissionregistration/v1alpha1","kubernetes/typed/apps/v1beta1","kubernetes/typed/authentication/v1","kubernetes/typed/authentication/v1beta1","kubernetes/typed/authorization/v1","kubernetes/typed/authorization/v1beta1","kubernetes/typed/autoscaling/v1","kubernetes/typed/autoscaling/v2alpha1","kubernetes/typed/batch/v1","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/v1alpha1","kubernetes/typed/rbac/v1beta1","kubernetes/typed/settings/v1alpha1","kubernetes/typed/storage/v1","kubernetes/typed/storage/v1beta1","pkg/api","pkg/api/v1","pkg/api/v1/ref","pkg/apis/admissionregistration","pkg/apis/admissionregistration/v1alpha1","pkg/apis/apps","pkg/apis/apps/v1beta1","pkg/apis/authentication","pkg/apis/authentication/v1","pkg/apis/authentication/v1beta1","pkg/apis/authorization","pkg/apis/authorization/v1","pkg/apis/authorization/v1beta1","pkg/apis/autoscaling","pkg/apis/autoscaling/v1","pkg/apis/autoscaling/v2alpha1","pkg/apis/batch","pkg/apis/batch/v1","pkg/apis/batch/v2alpha1","pkg/apis/certificates","pkg/apis/certificates/v1beta1","pkg/apis/extensions","pkg/apis/extensions/v1beta1","pkg/apis/networking","pkg/apis/networking/v1","pkg/apis/policy","pkg/apis/policy/v1beta1","pkg/apis/rbac","pkg/apis/rbac/v1alpha1","pkg/apis/rbac/v1beta1","pkg/apis/settings","pkg/apis/settings/v1alpha1","pkg/apis/storage","pkg/apis/storage/v1","pkg/apis/storage/v1beta1","pkg/util","pkg/util/parsers","pkg/version","rest","rest/watch","tools/clientcmd/api","tools/metrics","transport","util/cert","util/flowcontrol","util/integer"] + revision = "d92e8497f71b7b4e0494e5bd204b48d34bd6f254" + version = "v4.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "6892de026c4d8eb2c9973e20ee4734016093888c0376a54247a79147ab9d2fb6" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml index c72e1cc..04f0de7 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -1,6 +1,5 @@ [[constraint]] - branch = "master" name = "github.com/Sirupsen/logrus" [[constraint]] @@ -17,4 +16,8 @@ [[constraint]] name = "k8s.io/client-go" - version = "^2.0.0" + version = "v4.0.0" + +[[constraint]] + name = "k8s.io/apimachinery" + branch = "release-1.7" diff --git a/cmd/kured/Dockerfile b/cmd/kured/Dockerfile index a2d3565..218adbb 100644 --- a/cmd/kured/Dockerfile +++ b/cmd/kured/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/cache/apt -ADD https://storage.googleapis.com/kubernetes-release/release/v1.4.8/bin/linux/amd64/kubectl /usr/bin/kubectl +ADD https://storage.googleapis.com/kubernetes-release/release/v1.7.6/bin/linux/amd64/kubectl /usr/bin/kubectl RUN chmod 0755 /usr/bin/kubectl COPY ./kured /usr/bin/kured ENTRYPOINT ["/usr/bin/kured"] diff --git a/cmd/kured/main.go b/cmd/kured/main.go index 29a69d4..f9b5d73 100644 --- a/cmd/kured/main.go +++ b/cmd/kured/main.go @@ -10,8 +10,8 @@ import ( log "github.com/Sirupsen/logrus" "github.com/spf13/cobra" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" - "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/rest" "github.com/prometheus/client_golang/prometheus" @@ -175,13 +175,13 @@ func waitForDrain(client *kubernetes.Clientset, nodeID string) { for { var unterminated int - namespaces, err := client.CoreV1().Namespaces().List(v1.ListOptions{}) + namespaces, err := client.CoreV1().Namespaces().List(metav1.ListOptions{}) if err != nil { log.Fatalf("Error waiting for drain: %v", err) } for _, namespace := range namespaces.Items { - drainCandidates := v1.ListOptions{LabelSelector: "ignore_on_drain!=true"} + drainCandidates := metav1.ListOptions{LabelSelector: "ignore_on_drain!=true"} pods, err := client.CoreV1().Pods(namespace.ObjectMeta.Name).List(drainCandidates) if err != nil { log.Fatalf("Error waiting for drain: %v", err) @@ -262,7 +262,7 @@ func rebootAsRequired(nodeID string) { tick := delaytick.New(source, period) for _ = range tick { if rebootRequired() && !rebootBlocked() { - node, err := client.CoreV1().Nodes().Get(nodeID) + node, err := client.CoreV1().Nodes().Get(nodeID, metav1.GetOptions{}) if err != nil { log.Fatal(err) } diff --git a/pkg/daemonsetlock/daemonsetlock.go b/pkg/daemonsetlock/daemonsetlock.go index 0cc71d7..b26d574 100644 --- a/pkg/daemonsetlock/daemonsetlock.go +++ b/pkg/daemonsetlock/daemonsetlock.go @@ -5,9 +5,9 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" - "k8s.io/client-go/pkg/api/errors" - "k8s.io/client-go/pkg/api/unversioned" ) type DaemonSetLock struct { @@ -29,7 +29,7 @@ func New(client *kubernetes.Clientset, nodeID, namespace, name, annotation strin func (dsl *DaemonSetLock) Acquire(metadata interface{}) (acquired bool, owner string, err error) { for { - ds, err := dsl.client.ExtensionsV1beta1().DaemonSets(dsl.namespace).Get(dsl.name) + ds, err := dsl.client.ExtensionsV1beta1().DaemonSets(dsl.namespace).Get(dsl.name, metav1.GetOptions{}) if err != nil { return false, "", err } @@ -55,7 +55,7 @@ func (dsl *DaemonSetLock) Acquire(metadata interface{}) (acquired bool, owner st _, err = dsl.client.ExtensionsV1beta1().DaemonSets(dsl.namespace).Update(ds) if err != nil { - if se, ok := err.(*errors.StatusError); ok && se.ErrStatus.Reason == unversioned.StatusReasonConflict { + if se, ok := err.(*errors.StatusError); ok && se.ErrStatus.Reason == metav1.StatusReasonConflict { // Something else updated the resource between us reading and writing - try again soon time.Sleep(time.Second) continue @@ -68,7 +68,7 @@ func (dsl *DaemonSetLock) Acquire(metadata interface{}) (acquired bool, owner st } func (dsl *DaemonSetLock) Test(metadata interface{}) (holding bool, err error) { - ds, err := dsl.client.ExtensionsV1beta1().DaemonSets(dsl.namespace).Get(dsl.name) + ds, err := dsl.client.ExtensionsV1beta1().DaemonSets(dsl.namespace).Get(dsl.name, metav1.GetOptions{}) if err != nil { return false, err } @@ -87,7 +87,7 @@ func (dsl *DaemonSetLock) Test(metadata interface{}) (holding bool, err error) { func (dsl *DaemonSetLock) Release() error { for { - ds, err := dsl.client.ExtensionsV1beta1().DaemonSets(dsl.namespace).Get(dsl.name) + ds, err := dsl.client.ExtensionsV1beta1().DaemonSets(dsl.namespace).Get(dsl.name, metav1.GetOptions{}) if err != nil { return err } @@ -109,7 +109,7 @@ func (dsl *DaemonSetLock) Release() error { _, err = dsl.client.ExtensionsV1beta1().DaemonSets(dsl.namespace).Update(ds) if err != nil { - if se, ok := err.(*errors.StatusError); ok && se.ErrStatus.Reason == unversioned.StatusReasonConflict { + if se, ok := err.(*errors.StatusError); ok && se.ErrStatus.Reason == metav1.StatusReasonConflict { // Something else updated the resource between us reading and writing - try again soon time.Sleep(time.Second) continue