grabber, err = metrics.NewMetricsGrabber(c, true, true, true, true) framework.ExpectNoError(err) }) It("should grab all metrics from API server.", func() { By("Connecting to /metrics endpoint") response, err := grabber.GrabFromApiServer() framework.ExpectNoError(err) Expect(response).NotTo(BeEmpty()) }) It("should grab all metrics from a Kubelet.", func() { By("Proxying to Node through the API server") nodes := framework.GetReadySchedulableNodesOrDie(f.ClientSet) Expect(nodes.Items).NotTo(BeEmpty()) response, err := grabber.GrabFromKubelet(nodes.Items[0].Name) framework.ExpectNoError(err) Expect(response).NotTo(BeEmpty()) }) It("should grab all metrics from a Scheduler.", func() { By("Proxying to Pod through the API server") // Check if master Node is registered nodes, err := c.Core().Nodes().List(v1.ListOptions{}) framework.ExpectNoError(err) var masterRegistered = false for _, node := range nodes.Items { if strings.HasSuffix(node.Name, "master") { masterRegistered = true }
unknownMetrics := sets.NewString() response, err := grabber.GrabFromApiServer(unknownMetrics) expectNoError(err) Expect(unknownMetrics).To(BeEmpty()) checkMetrics(metrics.Metrics(response), metrics.KnownApiServerMetrics) }) It("should grab all metrics from a Kubelet.", func() { // We run this test only on GCE, as for some reason it flakes in GKE #19468 if providerIs("gce") { By("Connecting proxying to Node through the API server") nodes := ListSchedulableNodesOrDie(c) Expect(nodes.Items).NotTo(BeEmpty()) unknownMetrics := sets.NewString() response, err := grabber.GrabFromKubelet(nodes.Items[0].Name, unknownMetrics) expectNoError(err) Expect(unknownMetrics).To(BeEmpty()) checkMetrics(metrics.Metrics(response), metrics.KnownKubeletMetrics) } }) It("should grab all metrics from a Scheduler.", func() { By("Connecting proxying to Pod through the API server") // Check if master Node is registered nodes, err := c.Nodes().List(api.ListOptions{}) expectNoError(err) var masterRegistered = false for _, node := range nodes.Items {