drydock/python/drydock_provisioner/drivers/node/maasdriver
Scott Hussey 7504c2f907 (fix) Support non-present networks
- Drydock should support defined networks that MAAS cannot
  see. This fixes an issue that caused this use-case to fail
  by ensuring that the MAAS client models with no internal
  resource IDs work.

Change-Id: I1a20d4730e94eee7268ff0cc3451e4b459a1e62b
2019-02-19 11:26:08 -06:00
..
actions Fix: pep8 airship-drydock-omni-test fix 2018-11-05 18:35:36 +01:00
models (fix) Support non-present networks 2019-02-19 11:26:08 -06:00
__init__.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
api_client.py (fix) Use endpoint for MAAS URL 2018-11-27 12:04:38 -06:00
driver.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
errors.py Support multiple rack controllers 2018-10-18 17:04:00 -05:00
readme.md Refactor build to include Go 2018-09-04 13:13:21 -05: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