Jump to: navigation, search

Difference between revisions of "Ironic/Testing"

(Created page with "== Testing Ironic == === Testing your changes locally === If you just want to test your changes locally (which you should), the [http://docs.openstack.org/developer/ironic/d...")
 
(Third party CI)
Line 26: Line 26:
 
# each driver must adhere to the existing driver interfaces.
 
# each driver must adhere to the existing driver interfaces.
 
# drivers must function in a common environment with other drivers.
 
# drivers must function in a common environment with other drivers.
# each driver must have comprehensive unit test coverage and sufficient inline documentation.
+
# each driver must have comprehensive unit test coverage and sufficient inline documentation. The unit tests should mock any third-party libraries, so that they can be run without those libraries.
 
# vendors are responsible for fixing bugs in their driver in a timely fashion.
 
# vendors are responsible for fixing bugs in their driver in a timely fashion.
 
# vendors provide third-party non-voting tests on supported hardware platform. [*]
 
# vendors provide third-party non-voting tests on supported hardware platform. [*]

Revision as of 18:01, 28 April 2014

Testing Ironic

Testing your changes locally

If you just want to test your changes locally (which you should), the developer documentation provides a good starting point.

Upstream CI

We have several classes of tests run within OpenStack CI:

Third party CI

Third-party (aka "vendor") drivers are drivers which can not be tested upstream, for instance, because they depend on specific capabilities of physical hardware. Such drivers may be allowed in Ironic if they meet the following requirements:

  1. each driver must adhere to the existing driver interfaces.
  2. drivers must function in a common environment with other drivers.
  3. each driver must have comprehensive unit test coverage and sufficient inline documentation. The unit tests should mock any third-party libraries, so that they can be run without those libraries.
  4. vendors are responsible for fixing bugs in their driver in a timely fashion.
  5. vendors provide third-party non-voting tests on supported hardware platform. [*]
  6. vendors contribute (at least) one developer to upstream participation.

[*] General reference on running third-party CI systems for OpenStack: http://ci.openstack.org/third_party.html

These guidelines are evolving and were originally proposed here: http://lists.openstack.org/pipermail/openstack-dev/2014-January/024823.html