drydock/python/drydock_provisioner/drivers
Phil Sphicas a75704b8cb fix: prevent multiple IP assignments
A recent change[0] to address PEP8 issues resulted in an unintended
behavior modification, in some cases resulting in MAAS allocation of
multiple IP addresses to the same NIC.

This reverts to the original code logic.

[0] 1755930331

Change-Id: I6dccd1b60c414e3aa966085e81dc0b61244e9814
2020-05-30 20:26:40 +00:00
..
kubernetes Catchup YAPF formatting 2018-09-26 08:57:51 -05:00
node fix: prevent multiple IP assignments 2020-05-30 20:26:40 +00:00
oob Add Redfish as OOB driver 2018-12-08 21:19:30 +05:30
__init__.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
driver.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
readme.md Refactor build to include Go 2018-09-04 13:13:21 -05:00

readme.md

Drivers

Drivers are downstream actors that Drydock will use to actually execute orchestration actions. It is intended to be a pluggable architecture so that various downstream automation can be used. A driver must implement all actions even if the implementation is effectively a no-op.

oob

The oob drivers will interface with physical servers' out-of-band management system (e.g. Dell iDRAC, HP iLO, etc...). OOB management will be used for setting a system to use PXE boot and power cycling servers.

Actions

  • ConfigNodePxe - Where available, configure PXE boot options (e.g. PXE interface)
  • SetNodeBoot - Set boot source (PXE, hard disk) of a node
  • PowerOffNode - Power down a node
  • PowerOnNode - Power up a node
  • PowerCycleNode - Power cycle a node
  • InterrogateOob - Interrogate a node's OOB interface. Resultant data is dependent on what functionality is implemented for a particular OOB interface

node

The node drivers will interface with an external bootstrapping system for loading the base OS on a server and configuring hardware, network, and storage.

Actions

  • CreateNetworkTemplate - Configure site-wide network information in bootstrapper
  • CreateStorageTemplate - Configure site-wide storage information in bootstrapper
  • CreateBootMedia - Ensure all needed boot media is available to the bootstrapper including external repositories
  • PrepareHardwareConfig - Prepare the bootstrapper to handle all hardware configuration actions (firmware updates, RAID configuration, driver installation)
  • IdentifyNode - Correlate a node definition in the Drydock internal model with a node detected by the downstream node bootstrapper.
  • ConfigureHardware - Update and validate all hardware configurations on a node prior to deploying the OS on it
  • InterrogateNode - Interrogate the bootstrapper about node information. Depending on the current state of the node, this interrogation will produce different information.
  • ApplyNodeNetworking - Configure networking for a node
  • ApplyNodeStorage - Configure storage for a node
  • ApplyNodePlatform - Configure stream and kernel options for a node
  • DeployNode - Deploy the OS to a node
  • DestroyNode - Take steps to bring a node back to a blank undeployed state

network

The network drivers will interface with switches for managing port configuration to support the bootstrapping of physical nodes. This is not intended to be a network provisioner, but instead is a support driver for node bootstrapping where temporary changes to network configurations are required.

Actions

  • InterrogatePort - Request information about the current configuration of a network port
  • ConfigurePortProvisioning - Configure a network port in provisioning (PXE) mode
  • ConfigurePortProduction - Configure a network port in production (configuration post-deployment) mode