mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 11:21:47 +00:00
Merge pull request #88982 from aojea/flakyvolumes
e2e: wait for controller manager pod to be ready
This commit is contained in:
commit
a35f54e3e8
@ -31,6 +31,7 @@ go_library(
|
|||||||
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
"//staging/src/k8s.io/component-base/metrics/testutil:go_default_library",
|
"//staging/src/k8s.io/component-base/metrics/testutil:go_default_library",
|
||||||
"//test/e2e/framework/log:go_default_library",
|
"//test/e2e/framework/log:go_default_library",
|
||||||
|
"//test/e2e/framework/pod:go_default_library",
|
||||||
"//test/e2e/perftype:go_default_library",
|
"//test/e2e/perftype:go_default_library",
|
||||||
"//test/e2e/system:go_default_library",
|
"//test/e2e/system:go_default_library",
|
||||||
"//vendor/k8s.io/klog:go_default_library",
|
"//vendor/k8s.io/klog:go_default_library",
|
||||||
|
@ -19,11 +19,13 @@ package metrics
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"sync"
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/fields"
|
"k8s.io/apimachinery/pkg/fields"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/kubernetes/pkg/master/ports"
|
"k8s.io/kubernetes/pkg/master/ports"
|
||||||
|
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
|
||||||
"k8s.io/kubernetes/test/e2e/system"
|
"k8s.io/kubernetes/test/e2e/system"
|
||||||
|
|
||||||
"k8s.io/klog"
|
"k8s.io/klog"
|
||||||
@ -40,15 +42,16 @@ type Collection struct {
|
|||||||
|
|
||||||
// Grabber provides functions which grab metrics from components
|
// Grabber provides functions which grab metrics from components
|
||||||
type Grabber struct {
|
type Grabber struct {
|
||||||
client clientset.Interface
|
client clientset.Interface
|
||||||
externalClient clientset.Interface
|
externalClient clientset.Interface
|
||||||
grabFromAPIServer bool
|
grabFromAPIServer bool
|
||||||
grabFromControllerManager bool
|
grabFromControllerManager bool
|
||||||
grabFromKubelets bool
|
grabFromKubelets bool
|
||||||
grabFromScheduler bool
|
grabFromScheduler bool
|
||||||
grabFromClusterAutoscaler bool
|
grabFromClusterAutoscaler bool
|
||||||
masterName string
|
masterName string
|
||||||
registeredMaster bool
|
registeredMaster bool
|
||||||
|
waitForControllerManagerReadyOnce sync.Once
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewMetricsGrabber returns new metrics which are initialized.
|
// NewMetricsGrabber returns new metrics which are initialized.
|
||||||
@ -160,7 +163,12 @@ func (g *Grabber) GrabFromControllerManager() (ControllerManagerMetrics, error)
|
|||||||
if !g.registeredMaster {
|
if !g.registeredMaster {
|
||||||
return ControllerManagerMetrics{}, fmt.Errorf("Master's Kubelet is not registered. Skipping ControllerManager's metrics gathering")
|
return ControllerManagerMetrics{}, fmt.Errorf("Master's Kubelet is not registered. Skipping ControllerManager's metrics gathering")
|
||||||
}
|
}
|
||||||
output, err := g.getMetricsFromPod(g.client, fmt.Sprintf("%v-%v", "kube-controller-manager", g.masterName), metav1.NamespaceSystem, ports.InsecureKubeControllerManagerPort)
|
|
||||||
|
podName := fmt.Sprintf("%v-%v", "kube-controller-manager", g.masterName)
|
||||||
|
g.waitForControllerManagerReadyOnce.Do(func() {
|
||||||
|
e2epod.WaitForPodNameRunningInNamespace(g.client, podName, metav1.NamespaceSystem)
|
||||||
|
})
|
||||||
|
output, err := g.getMetricsFromPod(g.client, podName, metav1.NamespaceSystem, ports.InsecureKubeControllerManagerPort)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ControllerManagerMetrics{}, err
|
return ControllerManagerMetrics{}, err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user