ae87cd1714
NOTE: This has become a monolithic commit to get gate settings/scripts in place for CI - Add Makefile with UCP standard entrypoints - Move Dockerfile into images/drydock per UCP standards - Add values.yaml entries for uWSGI threads and workers - Add environment variables to chart Deployment manifest for uWSGI thread and workers - Add threads and workers specification to uWSGI commandline in entrypoint - Test that the Drydock API is responding - Test that the Drydock API rejects noauth requests - Fix Makefile utility script to work behind a proxy Correct task success voting Some tasks were incorrectly considered partial_success even when no failure occurred. - Network configuration erroneously marked messages as errors - Update result propagation logic to only use the latest retry The deploy_nodes task ended as incomplete due to a missing subtask assignment Also added a node check step to prepare_nodes so that nodes that are already under provisioner control (MaaS) are not IPMI-rebooted. Tangential changes: - added config item to for leadership claim interval - added some debug logging to bootaction_report task - fix tasks list API endpoint to generate valid JSON Improve task concurrency When tasks are started with a scope of multiple nodes, split the main task so each node is managed independently to de-link the progression of nodes. - Split the prepare_nodes task - Begin reducing cyclomatic complexity to allow for better unit testing - Improved tox testing to include coverage by default - Include postgresql integration tests in coverage Closes #73 Change-Id: I600c2a4db74dd42e809bc3ee499fb945ebdf31f6 |
||
---|---|---|
.. | ||
actions | ||
models | ||
__init__.py | ||
api_client.py | ||
driver.py | ||
readme.md |
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.
Network Link
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