Add CI documentation outline

Since third-party driver continuous integration testing is now required for
ironic, we can include documentation for best practices for setting up a test
environment. This patch is to get a basic outline and index done so that we
can then build on it.

Co-Authored-By: Mike Turek <mjturek@linux.vnet.ibm.com>

Change-Id: I06415c3bd5cc9809d3ffda5b656e5948182349fb
This commit is contained in:
Kurt Taylor 2016-08-09 15:39:11 -05:00
parent 165affbbfd
commit f85357ffdb
2 changed files with 82 additions and 0 deletions

View File

@ -0,0 +1,81 @@
.. _third-party-ci:
==================================
Third Party Continuous Integration
==================================
.. NOTE:: This document is a work-in-progress. Unfilled sections will be
worked in follow-up patchsets. This version is to get a basic outline and
index done so that we can then build on it. (krtaylor)
This document provides tips and guidelines for third-party driver developers
setting up their continuous integration test systems.
CI Architecture Overview
========================
Requirements Cookbook
=====================
Sizing
------
Infrastructure
--------------
This section describes what changes you'll need to make to a your CI system to
add an ironic job.
jenkins changes
###############
nodepool changes
################
neutron changes
###############
pre-test hook
#############
cleanup hook
############
Ironic
------
Hardware Pool Management
========================
Problem
-------
If you are using actual hardware as target machines for your CI testing
then the problem of two jobs trying to use the name target arises. If
you have one target machine and a maximum number of one jobs running on
your ironic pipeline at a time, then you won't run into this problem. However,
one target may not handle the load of ironic's daily patch submissions.
Solutions
---------
Zuul v3
#######
Molten Iron
###########
`molteniron <https://github.com/openstack/molteniron/>`_
is a tool that allows you to reserve hardware from a pool at the last minute
to use in your job. Once finished testing, you can unreserve the hardware
making it available for the next test job.
Tips and Tricks
===============
Optimize Run Time
-----------------
Image Server
############
Other References
----------------

View File

@ -110,6 +110,7 @@ the developer community about any implementation using this functionality.
Driver Overview <dev/drivers>
Driver Base Class Definition <api/ironic.drivers.base.html>
Writing "vendor_passthru" methods <dev/vendor-passthru>
Third party continuous integration testing <dev/third-party-ci>
Testing Network Integration
---------------------------