Add design principles to docs

One of the things we should make clear is what Tempest is, and what
it isn't at any point in time. This should be up front and center
in our README

Change-Id: I3b92c8afe7031630f97a4fb060bf7b555f1bb1c2
This commit is contained in:
Sean Dague 2013-11-01 18:09:55 -04:00
parent 4732c3d164
commit a26454d179

View File

@ -6,6 +6,33 @@ cluster. Tempest has batteries of tests for OpenStack API validation,
Scenarios, and other specific tests useful in validating an OpenStack
deployment.
Design Principles
----------
Tempest Design Principles that we strive to live by.
- Tempest should be able to run against any OpenStack cloud, be it a
one node devstack install, a 20 node lxc cloud, or a 1000 node kvm
cloud.
- Tempest should be explicit in testing features. It is easy to auto
discover features of a cloud incorrectly, and give people an
incorrect assessment of their cloud. Explicit is always better.
- Tempest uses OpenStack public interfaces. Tests in Tempest should
only touch public interfaces, API calls (native or 3rd party),
public CLI or libraries.
- Tempest should not touch private or implementation specific
interfaces. This means not directly going to the database, not
directly hitting the hypervisors, not testing extensions not
included in the OpenStack base. If there is some feature of
OpenStack that is not verifiable through standard interfaces, this
should be considered a possible enhancement.
- Tempest strives for complete coverage of the OpenStack API and
common scenarios that demonstrate a working cloud.
- Tempest drives load in an OpenStack cloud. By including a broad
array of API and scenario tests Tempest can be reused in whole or in
parts as load generation for an OpenStack cloud.
- Tempest should attempt to clean up after itself, whenever possible
we should tear down resources when done.
- Tempest should be self testing.
Quickstart
----------