diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index dff0ca553..5fca5163c 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -1148,595 +1148,595 @@ }, { "ImportPath": "k8s.io/client-go/discovery", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/discovery/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/apps", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta2", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/batch", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/certificates", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/core", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/core/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/events", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/events/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/extensions", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/internalinterfaces", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/networking", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/networking/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/policy", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/policy/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/rbac", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/scheduling", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/settings", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/storage", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/scheme", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta2", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/core/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/events/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/networking/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/policy/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1beta1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/pkg/version", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/rest", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/rest/watch", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/testing", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/tools/auth", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/tools/cache", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/tools/metrics", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/tools/pager", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/tools/reference", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/transport", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/util/buffer", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/util/cert", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/util/flowcontrol", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/util/homedir", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/util/integer", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/client-go/util/retry", - "Rev": "11179e1670c367e523060709f0b35a878fa9de9a" + "Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4" }, { "ImportPath": "k8s.io/kube-openapi/pkg/builder", diff --git a/pkg/storage/value/metrics.go b/pkg/storage/value/metrics.go new file mode 100644 index 000000000..0425cd230 --- /dev/null +++ b/pkg/storage/value/metrics.go @@ -0,0 +1,57 @@ +/* +Copyright 2017 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package value + +import ( + "sync" + "time" + + "github.com/prometheus/client_golang/prometheus" +) + +var ( + transformerLatencies = prometheus.NewHistogramVec( + prometheus.HistogramOpts{ + Namespace: "apiserver", + Subsystem: "storage", + Name: "transformation_latencies_microseconds", + Help: "Latencies in microseconds of value transformation operations.", + // In-process transformations (ex. AES CBC) complete on the order of 20 microseconds. However, when + // external KMS is involved latencies may climb into milliseconds. + Buckets: prometheus.ExponentialBuckets(5, 2, 14), + }, + []string{"transformation_type"}, + ) +) + +var registerMetrics sync.Once + +func RegisterMetrics() { + registerMetrics.Do(func() { + prometheus.MustRegister(transformerLatencies) + }) +} + +func RecordTransformation(transformationType string, start time.Time) { + since := sinceInMicroseconds(start) + transformerLatencies.WithLabelValues(transformationType).Observe(float64(since)) +} + +func sinceInMicroseconds(start time.Time) int64 { + elapsedNanoseconds := time.Since(start).Nanoseconds() + return elapsedNanoseconds / int64(time.Microsecond) +} diff --git a/pkg/storage/value/transformer.go b/pkg/storage/value/transformer.go index 04af5d6db..899814716 100644 --- a/pkg/storage/value/transformer.go +++ b/pkg/storage/value/transformer.go @@ -21,8 +21,13 @@ import ( "bytes" "fmt" "sync" + "time" ) +func init() { + RegisterMetrics() +} + // Context is additional information that a storage transformation may need to verify the data at rest. type Context interface { // AuthenticatedData should return an array of bytes that describes the current value. If the value changes, @@ -80,12 +85,14 @@ func (t *MutableTransformer) Set(transformer Transformer) { } func (t *MutableTransformer) TransformFromStorage(data []byte, context Context) (out []byte, stale bool, err error) { + defer RecordTransformation("from_storage", time.Now()) t.lock.RLock() transformer := t.transformer t.lock.RUnlock() return transformer.TransformFromStorage(data, context) } func (t *MutableTransformer) TransformToStorage(data []byte, context Context) (out []byte, err error) { + defer RecordTransformation("to_storage", time.Now()) t.lock.RLock() transformer := t.transformer t.lock.RUnlock()