drydock/drydock_provisioner/drivers/node/maasdriver
Scott Hussey 72adce3d38 Add Task persistence and KOTH
Implement logic to use SQLalchemy to persist and query
task information as well as manage multiple instances
with a king-of-the-hill algorithm via Postgres

- Implement leadership claim
- Implement task insert/update/query
- Implement status message inserts
- Implement integration tests w/ Postgres

Change-Id: Ic657afef3c7e1eb678629fb8b30969fa9f52585e
2017-10-26 14:56:13 -05:00
..
models Additional fields in enquiry API 2017-10-26 13:39:51 -05:00
__init__.py Orchestration of MaaS enlistment (#42) 2017-06-15 20:42:53 -07:00
api_client.py DRYD-50 Drydock support of NIC bonding 2017-09-21 10:29:39 -05:00
driver.py Add Task persistence and KOTH 2017-10-26 14:56:13 -05:00
readme.md Orchestration of MaaS enlistment (#42) 2017-06-15 20:42:53 -07:00

readme.md

MaaS Node Driver

This driver will handle node provisioning using Ubuntu MaaS 2.1. It expects the Drydock config to hold a valid MaaS API URL (e.g. http://host:port/MAAS/api/2.0) and a valid API key for authentication.

Drydock Model to MaaS Model Relationship

Site

Will provide some attributes used for configuring MaaS site-wide such as tag definitions and repositories.

Will provide attributes for configuring Node/Machine interfaces

Network

MaaS will be configured with a single 'space'. Each Network in Drydock will translate to a unique MaaS fabric+vlan+subnet. Any network with an address range of type 'dhcp' will cause DHCP to be enabled in MaaS for that network.

Hardware Profile

A foundation to a Baremetal Node definition. Not directly used in MaaS

Host Profile

A foundation to a Baremetal Node definition. Not directly used in MaaS

Baremetal Node

Defines all the attributes required to commission and deploy nodes via MaaS

  • bootdisk fields and partitions list - Define local node storage configuration to be implemented by MaaS
  • addressing and interface list - Combined with referenced network links and networks, define interface (physical and virtual (bond / vlan)) configurations and network addressing
  • tags and owner data - Statically defined metadata that will propagate to MaaS
  • base_os - Select which stream a node will be deployed with
  • kernel and kernel params - Allow for custom kernel selection and parameter definition