drydock/drydock_provisioner/drivers/node/maasdriver
Scott Hussey 689445280e Node storage configuration support
- Refactor YAML schema for storage specification
- Add Drydock models for HostVolume/List, HostVolumeGroup/List
  HostStorageDevice/List, HostPartition/List
- Add MAAS API models for block device, partition, volume group
- Add implementation of ApplyNodeStorage driver task
- Add documentation for authoring storage configuration
- Add unit tests for YAML parsing
- Add unit tests for size calculation

Change-Id: I94fa00b2f2bcaff1607b645a421f7e54e6d1f11e
2017-09-21 10:04:18 -05:00
..
models Node storage configuration support 2017-09-21 10:04:18 -05:00
__init__.py Orchestration of MaaS enlistment (#42) 2017-06-15 20:42:53 -07:00
api_client.py Node storage configuration support 2017-09-21 10:04:18 -05:00
driver.py Node storage configuration support 2017-09-21 10:04:18 -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