e2e metrics: remove redundant checks around metrics tests

The MetricsGrabber itself knows now whether it supports each
component. The checks inside the tests therefore are redundant at best
or worse, they are wrong: for example, on a KinD cluster the check for
"has master node registered" failed and metrics grabbing from
scheduler and controller manager were skipped unnecessarily.
This commit is contained in:
Patrick Ohly 2021-06-03 14:13:22 +02:00
parent a4c7e91b59
commit f298a658ae

View File

@ -17,15 +17,12 @@ limitations under the License.
package monitoring
import (
"context"
"errors"
"fmt"
"strings"
"time"
"github.com/onsi/ginkgo"
"github.com/onsi/gomega"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework"
@ -39,27 +36,15 @@ var _ = instrumentation.SIGDescribe("MetricsGrabber", func() {
f := framework.NewDefaultFramework("metrics-grabber")
var c, ec clientset.Interface
var grabber *e2emetrics.Grabber
var masterRegistered bool
ginkgo.BeforeEach(func() {
var err error
c = f.ClientSet
ec = f.KubemarkExternalClusterClientSet
// Check if master Node is registered
nodes, err := c.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{})
framework.ExpectNoError(err)
for _, node := range nodes.Items {
if strings.HasSuffix(node.Name, "master") {
masterRegistered = true
}
}
gomega.Eventually(func() error {
grabber, err = e2emetrics.NewMetricsGrabber(c, ec, f.ClientConfig(), true, true, true, true, true, true)
if err != nil {
return fmt.Errorf("failed to create metrics grabber: %v", err)
}
if masterRegistered && !grabber.HasControlPlanePods() {
return fmt.Errorf("unable to get find control plane pods")
}
return nil
}, 5*time.Minute, 10*time.Second).Should(gomega.BeNil())
})
@ -88,10 +73,6 @@ var _ = instrumentation.SIGDescribe("MetricsGrabber", func() {
ginkgo.It("should grab all metrics from a Scheduler.", func() {
ginkgo.By("Proxying to Pod through the API server")
if !masterRegistered {
e2eskipper.Skipf("Master is node api.Registry. Skipping testing Scheduler metrics.")
return
}
response, err := grabber.GrabFromScheduler()
if errors.Is(err, e2emetrics.MetricsGrabbingDisabledError) {
e2eskipper.Skipf("%v", err)
@ -102,10 +83,6 @@ var _ = instrumentation.SIGDescribe("MetricsGrabber", func() {
ginkgo.It("should grab all metrics from a ControllerManager.", func() {
ginkgo.By("Proxying to Pod through the API server")
if !masterRegistered {
e2eskipper.Skipf("Master is node api.Registry. Skipping testing ControllerManager metrics.")
return
}
response, err := grabber.GrabFromControllerManager()
if errors.Is(err, e2emetrics.MetricsGrabbingDisabledError) {
e2eskipper.Skipf("%v", err)