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:
parent
165affbbfd
commit
f85357ffdb
81
doc/source/dev/third-party-ci.rst
Normal file
81
doc/source/dev/third-party-ci.rst
Normal 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
|
||||
----------------
|
||||
|
@ -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
|
||||
---------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user