diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 2cb30836c..d4cb56a26 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -840,735 +840,735 @@ }, { "ImportPath": "k8s.io/apimachinery/pkg/api/equality", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/errors", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/meta", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/resource", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/testing", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/testing/fuzzer", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/testing/roundtrip", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/validation", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/validation/path", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/apimachinery", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/apimachinery/announced", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/validation", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1alpha1", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion/unstructured", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/fields", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/labels", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/selection", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/types", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/cache", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/clock", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/diff", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/errors", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/framer", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/httpstream", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/intstr", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/json", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/net", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/proxy", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/rand", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/sets", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/uuid", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/wait", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/version", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/pkg/watch", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", - "Rev": "b166f81f5c4c88402ae23a0d0944c6ad08bffd3b" + "Rev": "d0d1876112ca4da17b1ce88c8eeedb2d0bde6294" }, { "ImportPath": "k8s.io/client-go/discovery", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/discovery/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/apps", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta2", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v2alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/batch", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/certificates", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/core", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/core/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/extensions", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/internalinterfaces", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/networking", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/networking/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/policy", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/policy/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/rbac", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/scheduling", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/settings", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/storage", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/scheme", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2alpha1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta2", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v2alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/core/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/networking/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/policy/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1beta1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/pkg/version", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/rest", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/rest/watch", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/testing", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/tools/auth", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/tools/cache", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/tools/metrics", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/tools/reference", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/transport", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/util/cert", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/util/flowcontrol", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/util/homedir", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/client-go/util/integer", - "Rev": "db8228460e2de17f5d3a9a453f61dde0ba86545a" + "Rev": "17da6b01b25bfd0189f321eb19d20d229050aacd" }, { "ImportPath": "k8s.io/kube-openapi/pkg/builder", diff --git a/pkg/util/feature/feature_gate.go b/pkg/util/feature/feature_gate.go index 9cfde3590..ca926d0ee 100644 --- a/pkg/util/feature/feature_gate.go +++ b/pkg/util/feature/feature_gate.go @@ -21,6 +21,7 @@ import ( "sort" "strconv" "strings" + "sync" "github.com/golang/glog" "github.com/spf13/pflag" @@ -85,6 +86,8 @@ type FeatureGate interface { // featureGate implements FeatureGate as well as pflag.Value for flag parsing. type featureGate struct { + lock sync.RWMutex + known map[Feature]FeatureSpec special map[Feature]func(*featureGate, bool) enabled map[Feature]bool @@ -121,6 +124,9 @@ func NewFeatureGate() *featureGate { // Set Parses a string of the form "key1=value1,key2=value2,..." into a // map[string]bool of known keys or returns an error. func (f *featureGate) Set(value string) error { + f.lock.Lock() + defer f.lock.Unlock() + for _, s := range strings.Split(value, ",") { if len(s) == 0 { continue @@ -153,6 +159,9 @@ func (f *featureGate) Set(value string) error { // String returns a string containing all enabled feature gates, formatted as "key1=value1,key2=value2,...". func (f *featureGate) String() string { + f.lock.RLock() + defer f.lock.RUnlock() + pairs := []string{} for k, v := range f.enabled { pairs = append(pairs, fmt.Sprintf("%s=%t", k, v)) @@ -167,6 +176,9 @@ func (f *featureGate) Type() string { // Add adds features to the featureGate. func (f *featureGate) Add(features map[Feature]FeatureSpec) error { + f.lock.Lock() + defer f.lock.Unlock() + if f.closed { return fmt.Errorf("cannot add a feature gate after adding it to the flag set") } @@ -186,6 +198,9 @@ func (f *featureGate) Add(features map[Feature]FeatureSpec) error { // Enabled returns true if the key is enabled. func (f *featureGate) Enabled(key Feature) bool { + f.lock.RLock() + defer f.lock.RUnlock() + defaultValue := f.known[key].Default if f.enabled != nil { if v, ok := f.enabled[key]; ok { @@ -197,7 +212,9 @@ func (f *featureGate) Enabled(key Feature) bool { // AddFlag adds a flag for setting global feature gates to the specified FlagSet. func (f *featureGate) AddFlag(fs *pflag.FlagSet) { + f.lock.Lock() f.closed = true + f.lock.Unlock() known := f.KnownFeatures() fs.Var(f, flagName, ""+ @@ -207,6 +224,8 @@ func (f *featureGate) AddFlag(fs *pflag.FlagSet) { // KnownFeatures returns a slice of strings describing the FeatureGate's known features. func (f *featureGate) KnownFeatures() []string { + f.lock.RLock() + defer f.lock.RUnlock() var known []string for k, v := range f.known { pre := ""