k3s/test/e2e/framework
k8s-merge-robot 15ed9dbd02 Merge pull request #23771 from jayunit100/ClusterVerificationFramework
Automatic merge from submit-queue

Cluster Verification Framework

I've spent the last few days looking at the general patterns of verification we have that we tend to reuse in the e2es.  Basically, we need 
 
- label filters
- forEach and WaitFor (where forEach doesn't necessarily waitFor anything).
- timeouts
- multiple phases (reusable definition of state)
- an extensible way to define cluster state that can evolve over time in a data object rather than as a set of parameters that have magic semantics

This PR 
- implements the abstract above functionality declaratively, and w/o hidden semantics.
- addresses the sprawling duplicate methods in #23540, so that we can phase out the wrapper methods and replace them with well defined, extensible semantics for cluster state.
- fixes the recently discovered #23730 issue (where kubectl.go is relying on examples.go, which is obviously wacky) by using the new framework to implement forEachPod in just a couple of lines and migrating the wrapper function into framework.go.

There is some cleanup to do here, but this is seemingly working for a couple of use cases that are important (spark,cassandra,...,kubectl) tests. - i played with a few different ideas and this wound up seeming to be the most natural implementation from a usability standpoint... 

in any case, just thought id push this up as a first iteration, open to feedback.

@kubernetes/sig-testing @timothysc
2016-04-20 04:23:21 -07:00
..
cleanup.go Update test/e2e for test/e2e/framework refactoring 2016-04-13 10:50:17 -07:00
framework.go Cluster verification framework supporting declarative definition and iteration against pod spectrum 2016-04-18 10:01:10 -04:00
kubelet_stats.go Add perfdash support in kubelet_perf and metrics_util 2016-04-13 14:32:11 -07:00
log_size_monitoring.go Update test/e2e for test/e2e/framework refactoring 2016-04-13 10:50:17 -07:00
metrics_util.go Move /resetMetrics to DELETE /metrics 2016-04-15 11:44:17 -04:00
perf_util.go Add perfdash support in kubelet_perf and metrics_util 2016-04-13 14:32:11 -07:00
prompush.go Update test/e2e for test/e2e/framework refactoring 2016-04-13 10:50:17 -07:00
resource_usage_gatherer.go Update test/e2e for test/e2e/framework refactoring 2016-04-13 10:50:17 -07:00
test_context.go Update test/e2e for test/e2e/framework refactoring 2016-04-13 10:50:17 -07:00
util.go Merge pull request #24359 from janetkuo/rollover-e2e-no-events 2016-04-18 16:51:22 -07:00