|
před 5 roky | |
---|---|---|
.. | ||
sig-network | před 5 roky | |
sig-node | před 5 roky | |
BUILD | před 5 roky | |
OWNERS | před 5 roky | |
README.md | před 5 roky | |
behaviors_test.go | před 5 roky | |
types.go | před 5 roky |
The conformance program is intended to answer the question "What is Kubernetes?". That is, what features, functions, and APIs are needed in order to call something "Kubernetes". Since v1.9, this has been defined as passing a specific set of e2e tests. As part of the conformance behavior KEP, this instead is moved to an explicit list of "behaviors", which are captured in this directory tree. The e2e tests are used to validate whether specific behaviors are met, but the definition of conformance is based upon that list of approved behaviors. This allows separate reviewers for behaviors and tests, provides a description of conformance separate from long, complex tests with code, and enables the definition of conformance to encompass behaviors for which tests have not yet been written. All of this begs the question, though, "what is a behavior?".
In behavior driven development, it is sometimes defined as the "business logic" expected from the software. That is, it is a sequence of reactions to some stimulus: an API call, a component failure, a network request on the data plane, or some other action. We can classify these reactions into a few different types in Kubernetes:
Another way to think about this is that a behavior is the combination of the question and answer to "What happens when...".
A behavior will consist of:
All this is still pretty vague, so it is helpful to enumerate some of the characteristics expected of behavior descriptions for conformance in particular.
initContainers
functionality that
they run before the main containers, so in that case ordering is required.