Remove 'fake' and 'ssh' drivers from default enabled list

Remove the 'fake' and 'ssh' drivers, since they should not show up in
production, and it is better to have production-oriented sane defaults.

Updates the option doc string with a lengthy description.

Updates the developer documentation with a link to the wiki page,
where a list of CI-tested drivers will be maintained.

Change-Id: I1151ace22752efdf6a8a43e279a57d728ea6cce2
This commit is contained in:
Devananda van der Veen 2014-04-18 16:33:30 -07:00 committed by Ruby Loo
parent af398ee3c4
commit bc17510675
3 changed files with 44 additions and 25 deletions

View File

@ -4,23 +4,34 @@
Pluggable Drivers Pluggable Drivers
================= =================
The IPMITool driver provides an interface to the command-line `ipmitool`_ Ironic supports a pluggable driver model. This allows contributors to easily
utility, whereas the IPMINative driver provides an interface to the newer add new drivers, and operators to use third-party drivers or write their own.
`pyghmi`_ python library.
The SSH driver provides an interface to control the power state of virtual Drivers are loaded by the ironic-conductor service during initialization, by
machines used in our test environments. enumerating the python entrypoint "ironic.drivers" and attempting to load
all drivers specified in the "enabled_drivers" configuration option. A
complete list of drivers available on the system may be found by
enumerating this entrypoint by running the following python script::
The SeaMicro driver provides an enhanced interface for SeaMicro hardware. #!/usr/bin/env python
import pkg_resources as pkg
print [p.name for p in pkg.iter_entry_points("ironic.drivers") if not p.name.startswith("fake")]
A list of drivers enabled in a running Ironic service may be found by issuing
the following command against that API end point::
ironic driver-list
Supported Drivers
-----------------
For a list of supported drivers (those that are continuously tested on every
upstream commit) please consult the wiki page::
https://wiki.openstack.org/wiki/Ironic/Drivers
.. toctree:: .. toctree::
../api/ironic.drivers.base ../api/ironic.drivers.base
../api/ironic.drivers.pxe ../api/ironic.drivers.pxe
../api/ironic.drivers.modules.ipminative
../api/ironic.drivers.modules.ipmitool
../api/ironic.drivers.modules.pxe
../api/ironic.drivers.modules.seamicro
../api/ironic.drivers.modules.ssh
.. _ipmitool: http://ipmitool.sourceforge.net/
.. _pyghmi: https://github.com/stackforge/pyghmi

View File

@ -218,10 +218,15 @@
# Options defined in ironic.common.driver_factory # Options defined in ironic.common.driver_factory
# #
# List of drivers to enable. Missing drivers, or drivers which # Specify the list of drivers to load during service
# can not be loaded will be treated as a fatal exception. # initialization. Missing drivers, or drivers which fail to
# (list value) # initialize, will prevent the conductor service from
#enabled_drivers=fake,pxe_ipmitool,pxe_ssh # starting. The option default is a recommended set of
# production-oriented drivers. A complete list of drivers
# present on your system may be found by enumerating the
# "ironic.drivers" entrypoint. An example may be found in the
# developer documentation online. (list value)
#enabled_drivers=pxe_ipmitool
# #

View File

@ -23,15 +23,18 @@ from stevedore import dispatch
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)
# TODO(deva): remove 'fake' and 'pxe_ssh' testing drivers from the defaults
# once appropriate test environments (devstack & triple)
# are updated
driver_opts = [ driver_opts = [
cfg.ListOpt('enabled_drivers', cfg.ListOpt('enabled_drivers',
default=['fake', 'pxe_ipmitool', 'pxe_ssh'], default=['pxe_ipmitool'],
help='List of drivers to enable. Missing drivers, or ' help='Specify the list of drivers to load during service '
'drivers which can not be loaded will be ' 'initialization. Missing drivers, or drivers which '
'treated as a fatal exception.'), 'fail to initialize, will prevent the conductor '
'service from starting. The option default is a '
'recommended set of production-oriented drivers. A '
'complete list of drivers present on your system may '
'be found by enumerating the "ironic.drivers" '
'entrypoint. An example may be found in the '
'developer documentation online.'),
] ]
CONF = cfg.CONF CONF = cfg.CONF