ironic/ironic/drivers/modules
Mark Goddard 65a68e4e96 Deploy steps - conductor & drivers
This adds a 'deploy_step' decorator. A deploy step must take as the
only positional argument, a TaskManager object.

A step can be executed synchronously or asynchronously. A step should
return None if the method has completed synchronously or
states.DEPLOYWAIT if the step will continue to execute asynchronously.
If the step executes asynchronously, it should issue a call to the
'continue_node_deploy' RPC, so the conductor can begin the next
deploy step.

Only steps with priorities greater than 0 are used.
These steps are ordered by priority from highest value to lowest
value. For steps with the same priority, they are ordered by driver
interface priority (see conductor.manager.DEPLOYING_INTERFACE_PRIORITY).

All in-tree DeployInterfaces are converted to have one big deploy_step
(their existing deploy() method).

A new RPC method 'continue_node_deploy' (RPC API version 1.45) is used
by deploy steps to notify the conductor to continue node deployment
(e.g. execute the next deploy step).

Similar to cleaning, the conductor gets the node's deploy steps and
executes them, one at a time (one deploy step right now). The conductor
also handles out-of-tree drivers that don't have deploy steps yet; a
warning is logged in these cases.

Co-Authored-By: Ruby Loo <rloo@oath.com>

Change-Id: I5feac3856cc4b87a850180b7fd0b3b9805f9225f
Story: #1753128
Task: #22592
2018-07-11 16:18:59 +00:00
..
ansible Deploy steps - conductor & drivers 2018-07-11 16:18:59 +00:00
cimc Fix handling of 'timeout' parameter to power methods 2018-02-06 08:33:45 -05:00
drac iDRAC RAID10 creation with greater than 16 drives 2018-07-02 10:23:04 -04:00
ilo Remove the ilo classic drivers 2018-06-22 16:55:20 +02:00
irmc Support RAID configuration for BM via iRMC driver 2018-07-04 15:45:34 +07:00
network Fix W504 errors 2018-05-09 06:11:30 -07:00
oneview Do not disable inspector periodic tasks if [inspector]enabled is False 2018-06-27 16:18:25 +02:00
redfish Added Redfish boot mode management 2018-06-18 10:55:47 +02:00
storage Add an external storage interface 2018-06-19 16:49:45 +00:00
ucs Fix handling of 'timeout' parameter to power methods 2018-02-06 08:33:45 -05:00
xclarity Fix XClarity parameters discrepancy 2018-05-11 07:24:00 +00:00
__init__.py Remove copyright from empty files 2014-01-07 21:05:01 +08:00
agent.py Deploy steps - conductor & drivers 2018-07-11 16:18:59 +00:00
agent_base_vendor.py Deploy steps - conductor & drivers 2018-07-11 16:18:59 +00:00
agent_client.py Update docstring to agent client related codes 2018-03-05 14:36:45 +08:00
agent_config.template Do not pass ipa-driver-name as kernel parameter 2016-11-11 17:16:20 +02:00
boot.ipxe Convert iPXE boot script to Jinja template 2016-11-21 18:44:38 +02:00
boot_mode_utils.py Move parse_instance_info_capabilities() to common utils.py 2018-06-22 13:40:11 +02:00
console_utils.py Fix W504 errors 2018-05-09 06:11:30 -07:00
deploy_utils.py Deploy steps - conductor & drivers 2018-07-11 16:18:59 +00:00
elilo_efi_pxe_config.template Deprecate elilo support 2017-05-29 11:47:54 -04:00
fake.py Deploy steps - conductor & drivers 2018-07-11 16:18:59 +00:00
image_cache.py Fix W504 errors 2018-05-09 06:11:30 -07:00
inspector.py Merge "Remove the ipmitool classic drivers" 2018-06-28 17:53:33 +00:00
ipmitool.py Move boot-related code to boot_mode_utils.py 2018-06-20 11:37:11 +02:00
ipxe_config.template Fix authentication issues along with add multi extra volumes 2018-05-30 14:28:01 +07:00
iscsi_deploy.py Deploy steps - conductor & drivers 2018-07-11 16:18:59 +00:00
master_grub_cfg.txt grub2 bootloader support for uefi boot mode 2015-07-29 03:18:41 +00:00
noop.py BIOS Settings: Add BIOSInterface 2018-05-08 15:16:52 +08:00
pxe.py Move boot-related code to boot_mode_utils.py 2018-06-20 11:37:11 +02:00
pxe_config.template Stop passing IP address to IPA by PXE 2018-05-30 10:58:37 +09:00
pxe_grub_config.template Do not pass ipa-driver-name as kernel parameter 2016-11-11 17:16:20 +02:00
snmp.py Merge "Add read&write SNMP community names to `snmp` driver" 2018-07-05 22:06:22 +00:00