Merge pull request #723 from kubernetes/release-1.6

PR #720 into master
This commit is contained in:
Kubernetes Prow Robot 2019-04-18 08:56:09 -07:00 committed by GitHub
commit 5bcff06a35
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 64 additions and 69 deletions

View File

@ -23,7 +23,7 @@ import (
"k8s.io/klog"
"golang.org/x/net/context"
apps "k8s.io/api/apps/v1beta1"
appsv1 "k8s.io/api/apps/v1"
autoscaling "k8s.io/api/autoscaling/v2beta1"
batchv1 "k8s.io/api/batch/v1"
batchv1beta1 "k8s.io/api/batch/v1beta1"
@ -177,7 +177,7 @@ func (b *Builder) buildDaemonSetCollector() *coll.Collector {
familyHeaders,
composedMetricGenFuncs,
)
reflectorPerNamespace(b.ctx, b.kubeClient, &extensions.DaemonSet{}, store, b.namespaces, createDaemonSetListWatch)
reflectorPerNamespace(b.ctx, b.kubeClient, &appsv1.DaemonSet{}, store, b.namespaces, createDaemonSetListWatch)
return coll.NewCollector(store)
}
@ -192,7 +192,7 @@ func (b *Builder) buildDeploymentCollector() *coll.Collector {
familyHeaders,
composedMetricGenFuncs,
)
reflectorPerNamespace(b.ctx, b.kubeClient, &extensions.Deployment{}, store, b.namespaces, createDeploymentListWatch)
reflectorPerNamespace(b.ctx, b.kubeClient, &appsv1.Deployment{}, store, b.namespaces, createDeploymentListWatch)
return coll.NewCollector(store)
}
@ -432,7 +432,7 @@ func (b *Builder) buildStatefulSetCollector() *coll.Collector {
familyHeaders,
composedMetricGenFuncs,
)
reflectorPerNamespace(b.ctx, b.kubeClient, &apps.StatefulSet{}, store, b.namespaces, createStatefulSetListWatch)
reflectorPerNamespace(b.ctx, b.kubeClient, &appsv1.StatefulSet{}, store, b.namespaces, createStatefulSetListWatch)
return coll.NewCollector(store)
}

View File

@ -17,14 +17,13 @@ limitations under the License.
package collector
import (
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/extensions/v1beta1"
v1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"
clientset "k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/cache"
"k8s.io/kube-state-metrics/pkg/metric"
)
var (
@ -37,7 +36,7 @@ var (
Name: "kube_daemonset_created",
Type: metric.Gauge,
Help: "Unix creation timestamp",
GenerateFunc: wrapDaemonSetFunc(func(d *v1beta1.DaemonSet) *metric.Family {
GenerateFunc: wrapDaemonSetFunc(func(d *v1.DaemonSet) *metric.Family {
ms := []*metric.Metric{}
if !d.CreationTimestamp.IsZero() {
@ -57,7 +56,7 @@ var (
Name: "kube_daemonset_status_current_number_scheduled",
Type: metric.Gauge,
Help: "The number of nodes running at least one daemon pod and are supposed to.",
GenerateFunc: wrapDaemonSetFunc(func(d *v1beta1.DaemonSet) *metric.Family {
GenerateFunc: wrapDaemonSetFunc(func(d *v1.DaemonSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -73,7 +72,7 @@ var (
Name: "kube_daemonset_status_desired_number_scheduled",
Type: metric.Gauge,
Help: "The number of nodes that should be running the daemon pod.",
GenerateFunc: wrapDaemonSetFunc(func(d *v1beta1.DaemonSet) *metric.Family {
GenerateFunc: wrapDaemonSetFunc(func(d *v1.DaemonSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -89,7 +88,7 @@ var (
Name: "kube_daemonset_status_number_available",
Type: metric.Gauge,
Help: "The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and available",
GenerateFunc: wrapDaemonSetFunc(func(d *v1beta1.DaemonSet) *metric.Family {
GenerateFunc: wrapDaemonSetFunc(func(d *v1.DaemonSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -105,7 +104,7 @@ var (
Name: "kube_daemonset_status_number_misscheduled",
Type: metric.Gauge,
Help: "The number of nodes running a daemon pod but are not supposed to.",
GenerateFunc: wrapDaemonSetFunc(func(d *v1beta1.DaemonSet) *metric.Family {
GenerateFunc: wrapDaemonSetFunc(func(d *v1.DaemonSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -121,7 +120,7 @@ var (
Name: "kube_daemonset_status_number_ready",
Type: metric.Gauge,
Help: "The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.",
GenerateFunc: wrapDaemonSetFunc(func(d *v1beta1.DaemonSet) *metric.Family {
GenerateFunc: wrapDaemonSetFunc(func(d *v1.DaemonSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -137,7 +136,7 @@ var (
Name: "kube_daemonset_status_number_unavailable",
Type: metric.Gauge,
Help: "The number of nodes that should be running the daemon pod and have none of the daemon pod running and available",
GenerateFunc: wrapDaemonSetFunc(func(d *v1beta1.DaemonSet) *metric.Family {
GenerateFunc: wrapDaemonSetFunc(func(d *v1.DaemonSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -153,7 +152,7 @@ var (
Name: "kube_daemonset_updated_number_scheduled",
Type: metric.Gauge,
Help: "The total number of nodes that are running updated daemon pod",
GenerateFunc: wrapDaemonSetFunc(func(d *v1beta1.DaemonSet) *metric.Family {
GenerateFunc: wrapDaemonSetFunc(func(d *v1.DaemonSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -167,7 +166,7 @@ var (
Name: "kube_daemonset_metadata_generation",
Type: metric.Gauge,
Help: "Sequence number representing a specific generation of the desired state.",
GenerateFunc: wrapDaemonSetFunc(func(d *v1beta1.DaemonSet) *metric.Family {
GenerateFunc: wrapDaemonSetFunc(func(d *v1.DaemonSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -183,7 +182,7 @@ var (
Name: descDaemonSetLabelsName,
Type: metric.Gauge,
Help: descDaemonSetLabelsHelp,
GenerateFunc: wrapDaemonSetFunc(func(d *v1beta1.DaemonSet) *metric.Family {
GenerateFunc: wrapDaemonSetFunc(func(d *v1.DaemonSet) *metric.Family {
labelKeys, labelValues := kubeLabelsToPrometheusLabels(d.ObjectMeta.Labels)
return &metric.Family{
Metrics: []*metric.Metric{
@ -199,9 +198,9 @@ var (
}
)
func wrapDaemonSetFunc(f func(*v1beta1.DaemonSet) *metric.Family) func(interface{}) *metric.Family {
func wrapDaemonSetFunc(f func(*v1.DaemonSet) *metric.Family) func(interface{}) *metric.Family {
return func(obj interface{}) *metric.Family {
daemonSet := obj.(*v1beta1.DaemonSet)
daemonSet := obj.(*v1.DaemonSet)
metricFamily := f(daemonSet)
@ -217,10 +216,10 @@ func wrapDaemonSetFunc(f func(*v1beta1.DaemonSet) *metric.Family) func(interface
func createDaemonSetListWatch(kubeClient clientset.Interface, ns string) cache.ListWatch {
return cache.ListWatch{
ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) {
return kubeClient.ExtensionsV1beta1().DaemonSets(ns).List(opts)
return kubeClient.AppsV1().DaemonSets(ns).List(opts)
},
WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) {
return kubeClient.ExtensionsV1beta1().DaemonSets(ns).Watch(opts)
return kubeClient.AppsV1().DaemonSets(ns).Watch(opts)
},
}
}

View File

@ -20,7 +20,7 @@ import (
"testing"
"time"
"k8s.io/api/extensions/v1beta1"
v1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"
)
@ -52,7 +52,7 @@ func TestDaemonSetCollector(t *testing.T) {
`
cases := []generateMetricsTestCase{
{
Obj: &v1beta1.DaemonSet{
Obj: &v1.DaemonSet{
ObjectMeta: metav1.ObjectMeta{
Name: "ds1",
Namespace: "ns1",
@ -61,7 +61,7 @@ func TestDaemonSetCollector(t *testing.T) {
},
Generation: 21,
},
Status: v1beta1.DaemonSetStatus{
Status: v1.DaemonSetStatus{
CurrentNumberScheduled: 15,
NumberMisscheduled: 10,
DesiredNumberScheduled: 5,
@ -92,7 +92,7 @@ func TestDaemonSetCollector(t *testing.T) {
},
},
{
Obj: &v1beta1.DaemonSet{
Obj: &v1.DaemonSet{
ObjectMeta: metav1.ObjectMeta{
Name: "ds2",
CreationTimestamp: metav1.Time{Time: time.Unix(1500000000, 0)},
@ -102,7 +102,7 @@ func TestDaemonSetCollector(t *testing.T) {
},
Generation: 14,
},
Status: v1beta1.DaemonSetStatus{
Status: v1.DaemonSetStatus{
CurrentNumberScheduled: 10,
NumberMisscheduled: 5,
DesiredNumberScheduled: 0,
@ -135,7 +135,7 @@ func TestDaemonSetCollector(t *testing.T) {
},
},
{
Obj: &v1beta1.DaemonSet{
Obj: &v1.DaemonSet{
ObjectMeta: metav1.ObjectMeta{
Name: "ds3",
CreationTimestamp: metav1.Time{Time: time.Unix(1500000000, 0)},
@ -145,7 +145,7 @@ func TestDaemonSetCollector(t *testing.T) {
},
Generation: 15,
},
Status: v1beta1.DaemonSetStatus{
Status: v1.DaemonSetStatus{
CurrentNumberScheduled: 10,
NumberMisscheduled: 5,
DesiredNumberScheduled: 15,

View File

@ -19,7 +19,7 @@ package collector
import (
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/apps/v1beta1"
v1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"
@ -37,7 +37,7 @@ var (
Name: "kube_statefulset_created",
Type: metric.Gauge,
Help: "Unix creation timestamp",
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
ms := []*metric.Metric{}
if !s.CreationTimestamp.IsZero() {
@ -55,7 +55,7 @@ var (
Name: "kube_statefulset_status_replicas",
Type: metric.Gauge,
Help: "The number of replicas per StatefulSet.",
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -69,7 +69,7 @@ var (
Name: "kube_statefulset_status_replicas_current",
Type: metric.Gauge,
Help: "The number of current replicas per StatefulSet.",
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -83,7 +83,7 @@ var (
Name: "kube_statefulset_status_replicas_ready",
Type: metric.Gauge,
Help: "The number of ready replicas per StatefulSet.",
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -97,7 +97,7 @@ var (
Name: "kube_statefulset_status_replicas_updated",
Type: metric.Gauge,
Help: "The number of updated replicas per StatefulSet.",
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -111,17 +111,13 @@ var (
Name: "kube_statefulset_status_observed_generation",
Type: metric.Gauge,
Help: "The generation observed by the StatefulSet controller.",
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
ms := []*metric.Metric{}
if s.Status.ObservedGeneration != nil {
ms = append(ms, &metric.Metric{
Value: float64(*s.Status.ObservedGeneration),
})
}
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
return &metric.Family{
Metrics: ms,
Metrics: []*metric.Metric{
{
Value: float64(s.Status.ObservedGeneration),
},
},
}
}),
},
@ -129,7 +125,7 @@ var (
Name: "kube_statefulset_replicas",
Type: metric.Gauge,
Help: "Number of desired pods for a StatefulSet.",
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
ms := []*metric.Metric{}
if s.Spec.Replicas != nil {
@ -147,7 +143,7 @@ var (
Name: "kube_statefulset_metadata_generation",
Type: metric.Gauge,
Help: "Sequence number representing a specific generation of the desired state for the StatefulSet.",
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -161,7 +157,7 @@ var (
Name: descStatefulSetLabelsName,
Type: metric.Gauge,
Help: descStatefulSetLabelsHelp,
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
labelKeys, labelValues := kubeLabelsToPrometheusLabels(s.Labels)
return &metric.Family{
Metrics: []*metric.Metric{
@ -178,7 +174,7 @@ var (
Name: "kube_statefulset_status_current_revision",
Type: metric.Gauge,
Help: "Indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).",
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -194,7 +190,7 @@ var (
Name: "kube_statefulset_status_update_revision",
Type: metric.Gauge,
Help: "Indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)",
GenerateFunc: wrapStatefulSetFunc(func(s *v1beta1.StatefulSet) *metric.Family {
GenerateFunc: wrapStatefulSetFunc(func(s *v1.StatefulSet) *metric.Family {
return &metric.Family{
Metrics: []*metric.Metric{
{
@ -209,9 +205,9 @@ var (
}
)
func wrapStatefulSetFunc(f func(*v1beta1.StatefulSet) *metric.Family) func(interface{}) *metric.Family {
func wrapStatefulSetFunc(f func(*v1.StatefulSet) *metric.Family) func(interface{}) *metric.Family {
return func(obj interface{}) *metric.Family {
statefulSet := obj.(*v1beta1.StatefulSet)
statefulSet := obj.(*v1.StatefulSet)
metricFamily := f(statefulSet)
@ -227,10 +223,10 @@ func wrapStatefulSetFunc(f func(*v1beta1.StatefulSet) *metric.Family) func(inter
func createStatefulSetListWatch(kubeClient clientset.Interface, ns string) cache.ListWatch {
return cache.ListWatch{
ListFunc: func(opts metav1.ListOptions) (runtime.Object, error) {
return kubeClient.AppsV1beta1().StatefulSets(ns).List(opts)
return kubeClient.AppsV1().StatefulSets(ns).List(opts)
},
WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) {
return kubeClient.AppsV1beta1().StatefulSets(ns).Watch(opts)
return kubeClient.AppsV1().StatefulSets(ns).Watch(opts)
},
}
}

View File

@ -20,7 +20,7 @@ import (
"testing"
"time"
"k8s.io/api/apps/v1beta1"
v1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"
)
@ -63,7 +63,7 @@ func TestStatefuleSetCollector(t *testing.T) {
`
cases := []generateMetricsTestCase{
{
Obj: &v1beta1.StatefulSet{
Obj: &v1.StatefulSet{
ObjectMeta: metav1.ObjectMeta{
Name: "statefulset1",
CreationTimestamp: metav1.Time{Time: time.Unix(1500000000, 0)},
@ -73,12 +73,12 @@ func TestStatefuleSetCollector(t *testing.T) {
},
Generation: 3,
},
Spec: v1beta1.StatefulSetSpec{
Spec: v1.StatefulSetSpec{
Replicas: &statefulSet1Replicas,
ServiceName: "statefulset1service",
},
Status: v1beta1.StatefulSetStatus{
ObservedGeneration: &statefulSet1ObservedGeneration,
Status: v1.StatefulSetStatus{
ObservedGeneration: statefulSet1ObservedGeneration,
Replicas: 2,
UpdateRevision: "ur1",
CurrentRevision: "cr1",
@ -112,7 +112,7 @@ func TestStatefuleSetCollector(t *testing.T) {
},
},
{
Obj: &v1beta1.StatefulSet{
Obj: &v1.StatefulSet{
ObjectMeta: metav1.ObjectMeta{
Name: "statefulset2",
Namespace: "ns2",
@ -121,13 +121,13 @@ func TestStatefuleSetCollector(t *testing.T) {
},
Generation: 21,
},
Spec: v1beta1.StatefulSetSpec{
Spec: v1.StatefulSetSpec{
Replicas: &statefulSet2Replicas,
ServiceName: "statefulset2service",
},
Status: v1beta1.StatefulSetStatus{
Status: v1.StatefulSetStatus{
CurrentReplicas: 2,
ObservedGeneration: &statefulSet2ObservedGeneration,
ObservedGeneration: statefulSet2ObservedGeneration,
ReadyReplicas: 5,
Replicas: 5,
UpdatedReplicas: 3,
@ -161,7 +161,7 @@ func TestStatefuleSetCollector(t *testing.T) {
},
},
{
Obj: &v1beta1.StatefulSet{
Obj: &v1.StatefulSet{
ObjectMeta: metav1.ObjectMeta{
Name: "statefulset3",
Namespace: "ns3",
@ -170,12 +170,12 @@ func TestStatefuleSetCollector(t *testing.T) {
},
Generation: 36,
},
Spec: v1beta1.StatefulSetSpec{
Spec: v1.StatefulSetSpec{
Replicas: &statefulSet3Replicas,
ServiceName: "statefulset2service",
},
Status: v1beta1.StatefulSetStatus{
ObservedGeneration: nil,
Status: v1.StatefulSetStatus{
ObservedGeneration: 0,
Replicas: 7,
UpdateRevision: "ur3",
CurrentRevision: "cr3",

View File

@ -1,4 +1,4 @@
apiVersion: apps/v1beta2
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: daemonset

View File

@ -1,4 +1,4 @@
apiVersion: apps/v1beta2
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: statefulset

2
vendor/modules.txt vendored
View File

@ -119,7 +119,6 @@ gopkg.in/inf.v0
gopkg.in/yaml.v2
# k8s.io/api v0.0.0-20190313235455-40a48860b5ab
k8s.io/api/apps/v1
k8s.io/api/apps/v1beta1
k8s.io/api/autoscaling/v2beta1
k8s.io/api/batch/v1
k8s.io/api/batch/v1beta1
@ -127,6 +126,7 @@ k8s.io/api/certificates/v1beta1
k8s.io/api/core/v1
k8s.io/api/extensions/v1beta1
k8s.io/api/policy/v1beta1
k8s.io/api/apps/v1beta1
k8s.io/api/admissionregistration/v1beta1
k8s.io/api/autoscaling/v1
k8s.io/api/apps/v1beta2