Adding the baclient code to Drydock requires a refactor
of the build automation to support multiple languages
and multiple artifacts included in a single Docker image
NOTE: the go source here is a placeholder 'hello world' sample
Change-Id: I1b4883f018b33b3d4fcd7cbcb6cba660fcdc93de
- Need to refresh the local copy of existing domains
during a deployment so that the same domain is not attempted
to be created multiple times.
Change-Id: Idb792561690d2014aa2fceb54bf85c8e27cd91db
- Node domains must be added to MAAS before assigning
them to any domain. These domains can be added as the
network they are assigned to is configured.
Change-Id: I4a10cc7779b74dd79b8ad4602ae0f9050081d6d4
- Resolve the FQDN of node based on the DNS domain of the primary
network
- When identifying the node in MAAS, set the hostname and the domain
for the node
Change-Id: I1fc5d89e07784ae8168461bcf4ffe400956616f9
Add additional tunables to how SQLalchemy creates connection pools
Also start including static doc assets to they can be published
Change-Id: I268dc265a6b6cf1a200b235a5f99e65e89a95637
When compiling an effective site design, make
the step for resolving device aliases optional
as only a few tasks need this information but it
takes a large amount of the time.
Change-Id: I9f1090de0ec26887217be80567367547306b3905
Aded API capability to erase the storage and destroy one
or more nodes from any node state.
After this operation, the destroyed nodes are deleted from maas
database, and will need to be re-enlisted and be added to maas
in New state. if they need to be re-deployed.
Change-Id: I986278902965d93514f8198602f971669e1e2db3
The builddata API was passing a kwarg
as a parameter causing a failure accessing
database.
Also update the log extraction to improve
description in the builddata
Change-Id: I01b4cbb14eea5c513a164818160fb10a693c4696
- Add CLI actions to output the build data for a node or
a task
- Add API methods to access the Drydock API to retrieve node
or task build data
Change-Id: I0ee01bd4b165b93c2bc0e3050554514ba40f152a
- Collect logs from MAAS when failures happen
during deployment
- Save the logs to build data so it is available via
API
- Add postgres integration test
Change-Id: Ied2d8539fe02a75f1f175a421b897b4f8ce07c8d
- Some status changes in a task may have additional information that
is referenced by a URI link. Support describing these links and
returning them via API.
- Refactor alembic stuff to better handle table schema updates
- Add unit tests
Change-Id: Iae63a9716f2522578be0244925fc274a4338eac4
- Some repos are built without components that MAAS
assumes are there. This allows the configuration to
describe that so MAAS can be updated to disregard
those components
Change-Id: I4eafe9fb8278b944bcb993f10379966a01e94bf6
- Make Keystone session use a timeout to prevent hangs
- Support retries
- Make the above configurable
Change-Id: I7123bd2fdcd329eae5b8b40f09168a1d599fa0f7
- Use connection contexts to ensure database connections
are released back to the pool.
- Make database connection pool size configurable, defaults to 15
Change-Id: Id8011fbf45a1b3c87835ff5f47ebfa9334488319
When a task for prepare_nodes encounters a node that
is already managed by the node provisioner, it skips
additional interactions to prevent disturbing existing
nodes. Add these nodes to the success list for the
task so upstream workflows can validate that a described
node was found and explicitly considered.
Change-Id: Ia387ab4d6fc0d9ad3838b9df54f46d6921d12a42
These kernel parameters must be specified in order.
* Moves kernel parameter string from the maas driver to the model
* Forces hugepagesz to occur immediately before hugepages
Change-Id: Id0cc18b73bde17f9bfac980b0eefe37699e86eff
- Support pkg_list bootactions in the MAAS driver by using
cloud-init user_data on deployment
- Add site definition caching to ease load on Deckhand
Change-Id: I2c8c7dfdd23992fae42fa32edab308f801d05867
- Add a validator for bootactions to warn if a node doesn't
have at least one
- Add a validator for bootactions to error if a package
version specifier is invalid
- Unit tests for the validation
Change-Id: I61d8aa3831791af0484498e6fe9f7c1c83dbf540
- Support a list of debian packages as a bootaction asset
- Add unit testing for parsing the additional bootaction information
- Add __eq__ and __hash__ for DocumentReference to allow checking
equality and list presence
Change-Id: I0ca42baf7aae6dc2e52efd5b311d0632e069dd79
- Add a new action for ConfigureNodeProvisioner to configure a node
provisioner with site-wide configuration
- Add a maasdriver action to configure repositories
Change-Id: I8e216a269b300159b7cc26c3a4542e8b61496dc7
- Support one or more repo specifications for a site
- Add object model for repository
- Add testing for repository parsing
Update freeze job with make target
- Update the requirements freeze job
to have a mark target that rebuilds the tox
virtualenv each run
- Update Dockerfile to create a valid /etc/protocols file
Change-Id: I9d09b7dd7226827995e23756ff968b36eaa4d16c
- New diagrams and documents for developer overview
- Update conf.py for docs to work w/ readthedocs.io
- Add policy and config gen to `make docs`
- Update zuul-linter to support checked in images
- Last fix to document publishing
Change-Id: I4faa1b87032ae5b0e786aa0fd998f809124b7987
- Remove OSH-based gate as it is not relevant at this point
- Add entries for unit testing, linting and security scans
- Some trivial changes to trigger all gates
Change-Id: Icb2731573b45f3824cde8cb44ef64e9d04c017bc
- Add validations that OOB configs for nodes are valid for the
oob type defined
- Add documentation for using Drydock/MAAS to deploy libvirt VMs
- Add logic to update the MAAS node power parameters to allow power
control of libvirt VMs
Change-Id: Ia7d5fbd1659636d46cf1790fe3fc66ca6c6fee89
- Create a driver to support OOB actions via libvirt API
- Update Makefile with external dependency target
- Update Makefile and tooling to support new chart pipeline
- Add 'drydock' make target for chart building
- Add step to install helm binary
Change-Id: I8a3984d8fd70f99a82a954b7a869eab8e30145b4
This PS adds the skeleton for a set of zuul checks and gates for
Airship, using the framework from OpenStack-Helm.
[Fix] Zuul lint fix
- Fix whitespace linting errors
- Update docuemtation errors
- Remove dead tests
Change-Id: Id1ed3aa2321d518ed15fcbb3b698b49709bed287
Signed-off-by: Pete Birley <pete@port.direct>
- Added ValidateDesign to API client.
- Added ValidteDesign to CI client.
- Added a couple unit tests.
Change-Id: I1def14b3703eba12b10a063bf09a3120dcf54b8d
- Added a try when getting baremetal_nodes from site_design.
If baremetal_nodes isn't there it will return an empty set.
Change-Id: I413892274d938ffd23102c73a569b83a59025206
- Changed the expected input from site_design to design_ref.
- Converts the design_ref json/dict into a SiteDesign object.
Change-Id: Ie1f6738fec64749cde9d2843d9373175006794c0
- Added builddata, subtaskerrors, and layers as options to get_task.
- Added get_nodes_for_filter to call POST /nodefilter.
- Updated endpoint for POST /nodes to POST /nodefilter.
- Made node_filter optional in POST /nodefilter.
Change-Id: I456a6e9991d03af3d375c448f5cbf07a21e91f1d
Hostnames with underscores caused a deployment failure.
Update to use a double underscore as a delimiter and provide
a design validator to check that hostnames do not contain it.
Closes #78
Change-Id: Ib148aed5cffe7fd8bc08441eaef8a45af6601bdd
- Added a new query param 'layers=x' to /tasks/{task_id}
where x is a number.
This param allows the API to drill down to all the subtasks.
If x is -1 it will reeturn all subtasks, otherwise it will return
x layers of subtasks.
- Added a new query param 'subtaskerrors=true' to /tasks/{task_id}.
If true then any errors from subtasks will be included in the
subtask_errors element in the response.
- Added a POST to /nodes that requires node_filter and site_design
in the body. Then uses those parameters to return a list of nodes.
Change-Id: I9b4c06dd1c9de2b0500092aa4b4bfacac08eac54
- The apply_platform task was not considered successful if a node had
no kernel parameters or tags, so the deploy step would not start
Change-Id: I5e59e35ec666b3ff2741aae823366d0a39bf4490