drydock/python/drydock_provisioner/drivers/node/maasdriver
Scott Hussey 54ea0e1374 Workaround MAAS race condition
- If two threads concurrently update the power parameters
  of VMs on the same libvirt host, it seems to leave MAAS
  with broken state. Add locking in Drydock so that Drydock
  does not do this concurrently.

Change-Id: I85575f4ba48152b4dc79c646871f33b69f845ab9
2018-12-17 11:29:52 -06:00
..
actions Fix: pep8 airship-drydock-omni-test fix 2018-11-05 18:35:36 +01:00
models Workaround MAAS race condition 2018-12-17 11:29:52 -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