drydock/drydock_provisioner/drivers
Scott Hussey 1964d7f9b0 Implement routedomain support
Route domains will allow multiple L3 networks
to self organize static routes. This allows additions
of L3 networks with manually updating previously deployed
networks.

- Fix a YamlIngester error with labels on NetworkLinks
- Update the CLI --block option
- Add routedomains attribue to Networks in schema and object model
- Add routedomain documentation
- Add unit test for routedomain route generation
- Add unit test coverage reporting

Change-Id: I059d2eae6da84c4f9ad909f0287432e6cf0970d0
2017-12-14 13:45:38 -06:00
..
node Implement routedomain support 2017-12-14 13:45:38 -06:00
oob Refactor orchestrator 2017-10-26 15:00:39 -05:00
__init__.py Refactor orchestrator 2017-10-26 15:00:39 -05:00
driver.py Refactor orchestrator 2017-10-26 15:00:39 -05:00
readme.md Orchestration of MaaS enlistment (#42) 2017-06-15 20:42:53 -07: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