diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 95bd7398f..a79cd886a 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -928,1047 +928,1047 @@ }, { "ImportPath": "k8s.io/api/admission/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/admissionregistration/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/apps/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/apps/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/apps/v1beta2", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/auditregistration/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/authentication/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/authentication/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/authorization/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/authorization/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/autoscaling/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/autoscaling/v2beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/autoscaling/v2beta2", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/batch/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/batch/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/batch/v2alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/certificates/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/coordination/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/coordination/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/core/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/events/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/extensions/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/networking/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/networking/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/policy/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/rbac/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/rbac/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/rbac/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/scheduling/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/scheduling/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/scheduling/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/settings/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/storage/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/storage/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/api/storage/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/apitesting", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/fuzzer", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/roundtrip", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/equality", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/errors", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/meta", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/resource", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/validation", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/validation/path", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/validation", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/fields", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/labels", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/selection", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/types", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/cache", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/clock", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/diff", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/errors", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/framer", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/intstr", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/json", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/naming", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/net", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/rand", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/sets", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/uuid", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/wait", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/waitgroup", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/version", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/pkg/watch", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/discovery", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/discovery/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/apps", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta2", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/auditregistration", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/auditregistration/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta2", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/batch", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/certificates", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/coordination", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/coordination/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/coordination/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/core", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/core/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/events", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/events/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/extensions", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/internalinterfaces", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/networking", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/networking/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/networking/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/policy", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/policy/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/rbac", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/scheduling", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/settings", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/storage", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/scheme", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/auditregistration/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/auditregistration/v1alpha1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/coordination/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/coordination/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/coordination/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/coordination/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta2", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/auditregistration/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta2", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/coordination/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/coordination/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/core/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/events/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/networking/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/networking/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/policy/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/pkg/version", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/rest", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/rest/watch", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/testing", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/auth", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/cache", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/metrics", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/pager", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/record/util", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/reference", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/transport", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/util/cert", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/util/connrotation", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/util/flowcontrol", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/util/homedir", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/util/keyutil", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/util/retry", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/klog", @@ -2004,99 +2004,99 @@ }, { "ImportPath": "k8s.io/client-go/discovery", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/dynamic", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/informers/auditregistration/v1alpha1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/fake", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/scheme", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/listers/core/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/rest", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/testing", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/cache", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/tools/record", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/util/cert", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/util/flowcontrol", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/client-go/util/keyutil", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/component-base/cli/flag", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/component-base/logs", - "Rev": "cbd15b5248fb4916e95fa2ec12ec503630092549" + "Rev": "042923af8161122c22c3b351a4dbe6c6154b56f5" }, { "ImportPath": "k8s.io/utils/buffer", diff --git a/pkg/endpoints/handlers/fieldmanager/internal/managedfields.go b/pkg/endpoints/handlers/fieldmanager/internal/managedfields.go index 0c20d97b9..6dbc840d0 100644 --- a/pkg/endpoints/handlers/fieldmanager/internal/managedfields.go +++ b/pkg/endpoints/handlers/fieldmanager/internal/managedfields.go @@ -146,6 +146,27 @@ func encodeManagedFields(managedFields fieldpath.ManagedFields) (encodedManagedF } encodedManagedFields = append(encodedManagedFields, *v) } + return sortEncodedManagedFields(encodedManagedFields) +} + +func sortEncodedManagedFields(encodedManagedFields []metav1.ManagedFieldsEntry) (sortedManagedFields []metav1.ManagedFieldsEntry, err error) { + sort.Slice(encodedManagedFields, func(i, j int) bool { + p, q := encodedManagedFields[i], encodedManagedFields[j] + + if p.Operation != q.Operation { + return p.Operation < q.Operation + } + + if p.Time == nil || q.Time == nil { + return false + } + if !p.Time.Equal(q.Time) { + return p.Time.Before(q.Time) + } + + return p.Manager < q.Manager + }) + return encodedManagedFields, nil } diff --git a/pkg/endpoints/handlers/fieldmanager/internal/managedfields_test.go b/pkg/endpoints/handlers/fieldmanager/internal/managedfields_test.go index 1712b3b23..cedec758c 100644 --- a/pkg/endpoints/handlers/fieldmanager/internal/managedfields_test.go +++ b/pkg/endpoints/handlers/fieldmanager/internal/managedfields_test.go @@ -17,8 +17,10 @@ limitations under the License. package internal import ( + "fmt" "reflect" "testing" + "time" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -198,3 +200,113 @@ time: "2001-02-03T04:05:06Z" }) } } + +func TestSortEncodedManagedFields(t *testing.T) { + tests := []struct { + name string + managedFields []metav1.ManagedFieldsEntry + expected []metav1.ManagedFieldsEntry + }{ + { + name: "empty", + managedFields: []metav1.ManagedFieldsEntry{}, + expected: []metav1.ManagedFieldsEntry{}, + }, + { + name: "nil", + managedFields: nil, + expected: nil, + }, + { + name: "remains untouched", + managedFields: []metav1.ManagedFieldsEntry{ + {Manager: "a", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "a", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + }, + expected: []metav1.ManagedFieldsEntry{ + {Manager: "a", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "a", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + }, + }, + { + name: "apply first", + managedFields: []metav1.ManagedFieldsEntry{ + {Manager: "a", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + {Manager: "a", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + }, + expected: []metav1.ManagedFieldsEntry{ + {Manager: "a", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "a", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + }, + }, + { + name: "newest last", + managedFields: []metav1.ManagedFieldsEntry{ + {Manager: "c", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + {Manager: "a", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "c", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2002-01-01T01:00:00Z")}, + {Manager: "b", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + }, + expected: []metav1.ManagedFieldsEntry{ + {Manager: "a", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "b", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "c", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + {Manager: "c", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2002-01-01T01:00:00Z")}, + }, + }, + { + name: "manager last", + managedFields: []metav1.ManagedFieldsEntry{ + {Manager: "c", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + {Manager: "a", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "d", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + {Manager: "b", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + }, + expected: []metav1.ManagedFieldsEntry{ + {Manager: "a", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "b", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "c", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + {Manager: "d", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + }, + }, + { + name: "manager sorted", + managedFields: []metav1.ManagedFieldsEntry{ + {Manager: "c", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + {Manager: "a", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "f", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2002-01-01T01:00:00Z")}, + {Manager: "d", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2002-01-01T01:00:00Z")}, + {Manager: "e", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2002-01-01T01:00:00Z")}, + {Manager: "b", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + }, + expected: []metav1.ManagedFieldsEntry{ + {Manager: "a", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "b", Operation: metav1.ManagedFieldsOperationApply, Time: nil}, + {Manager: "c", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2001-01-01T01:00:00Z")}, + {Manager: "d", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2002-01-01T01:00:00Z")}, + {Manager: "e", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2002-01-01T01:00:00Z")}, + {Manager: "f", Operation: metav1.ManagedFieldsOperationUpdate, Time: parseTimeOrPanic("2002-01-01T01:00:00Z")}, + }, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + sorted, err := sortEncodedManagedFields(test.managedFields) + if err != nil { + t.Fatalf("did not expect error when sorting but got: %v", err) + } + if !reflect.DeepEqual(sorted, test.expected) { + t.Fatalf("expected:\n%v\nbut got:\n%v", test.expected, sorted) + } + }) + } +} + +func parseTimeOrPanic(s string) *metav1.Time { + t, err := time.Parse(time.RFC3339, s) + if err != nil { + panic(fmt.Sprintf("failed to parse time %s, got: %v", s, err)) + } + return &metav1.Time{Time: t.UTC()} +}