* WIP - Initial API implementation with Falcon * API service for /designs and /tasks endpoints REST API using falcon library Middleware for authentication (stubbed until Keystone is avail) Middleware for context and logging Request logging and initial error logging README updates * Cleanup readme formatting * Rename helm_drydock to drydock_provisioner * Fixed missing except statement * Fixed missing except statement * Reorganize API paths in a list Fix duplication of context init Add API version prefix to URLs * DRYD-2 MVP - phase 1 - node enlistment Add node driver task for IdentifyNode Implement MaaS API interface for Machines and Interfaces
2.8 KiB
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