Commit Graph

16 Commits

Author SHA1 Message Date
Ruslan Aliev 47ced6d7de Allow creation of network bonding with a single interface
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: I7a5f51541051abbeada3bea1608394bb4e374115
2024-02-16 13:44:43 -06:00
Sergiy Markin f99abfa433 Airflow stable 2.6.2
This PS updates python modules and code to match Airflow 2.6.2:

- bionic py36 gates  were removed
- python code corrected to match new modules versions
- selection of python modules versions was perfrmed based on
  airflow-2.6.2 constraints
- postgresql image updated to 14.8

Change-Id: Ibdcc75e600166c20b842508aa5539587cca466f0
2023-08-29 00:50:54 +00:00
Sergiy Markin d00eaf0303 Drydock focal related upgrades
This PS implements the following changes:
- switches freeze approach to requirements-direct.txt and
  requirements-frozen.txt files
- adjusts code tabulation style according to  yapf recommendations
- replaces deprecated usage of responce.body attribute with
  responce.text
- fixes integration tests in controlled by Makefile + tox
- uplifts Helm to v3.9.4

Change-Id: I751db72eb8f670825382f11a36657112faeb169a
2023-04-26 22:32:49 +00:00
Phil Sphicas 611e98de3f Use OOB driver creds for MAAS
During MAAS enlistment (and commissioning), an IPMI account (named
"maas" by default) is created on each node, which MAAS then uses for
power management.

This change allows MAAS to use the same credentials as the ones used by
the OOB driver, by overwriting the power parameters for the discovered
nodes. This includes the power type, so if the node is configured to use
Redfish, then Drydock will update a MAAS node discovered as IPMI to use
Redfish instead.

It also provides an option to instruct MAAS not to recreate IPMI
credentials during commissioning, which is passed through to the MAAS
API. Setting this to true is only supported in MAAS 2.7 or later [0].

The two maasdriver configuration options are introduced in drydock.conf,
along with their default values:

    [maasdriver]
    use_node_oob_params = false
    skip_bmc_config = false

These options do not prevent MAAS from creating the IPMI account during
enlistment - this would require addition MAAS customization.

0: 8842d0bfd3

Change-Id: I24d3bc3b1cc94907d73bc247de3fc06dd4750ab1
2021-07-30 16:39:06 +00:00
Phil Sphicas 292e94ee2c Avoid expensive MAAS API calls
The MAAS API call "GET /MAAS/api/2.0/machines/" retrieves information
about every machine known to MAAS, which is very slow. The API supports
filtering based on hostname and mac_address (among others), and querying
for power parameters for all nodes at once.

This change modifies identify_baremetal_node to avoid calling refresh on
the full machine list.

Also, the refresh method of ResourceCollectionBase is updated to allow
passing of params, which can be used to take advantage of the filtering.
Note that a filtered call to refresh overwrites the resources collection
to only contain the returned values.

Most calls to Machines.refresh() aren't really needed at all - they are
replaced with a call to Machines.empty_refresh(), which will still make
sure that the API endpoint is accessible but return an empty collection.
(This may get removed entirely in the future.)

Change-Id: Ie58c45e1790c5c827d9d47f5582214ca519946de
2021-07-28 22:56:13 +00:00
Phil Sphicas 93f593f568 Support binary prefixes for node storage size
This change allows node storage sizes to be specified using binary
prefixes (MiB, GiB, TiB) in addition to the existing supported formats
(MB, GB, TB).

Change-Id: Idef88b648a75bad87625acf1d73af011480cc0b9
2020-06-02 07:11:13 +00:00
Alexander Hughes 1755930331 Address PEP8 Failures in Drydock
Flake8 version recently updated to include new PEP8 rules. Some of
the codebase is not compliant with the new rules.

Change-Id: I0f5b3d41ee54ff0d9ffa05f733f98c7e34f0f258
Signed-off-by: Alexander Hughes <Alexander.Hughes@pm.me>
2020-05-12 18:27:06 +00:00
Mahmoudi, Ahmad (am495p) a6fa70dff8 Allow Deploy Allocated Node
Updated the maas diver to allow node deploy in Allocated state.

Change-Id: Ic68279e641431e61ec714d94867bd7bbaea083c6
2019-08-26 22:03:44 -05:00
Scott Hussey 0428e30251 Support MAAS having dead rack controllers
- Ensure that picking a rack controller only uses
  healthy controllers

Change-Id: I23b1955d270d3b3b51e7043e5d96dc5018b8b25f
2019-02-04 15:56:42 -06:00
Roman Gorshunov d5c54eab68 Fix: pep8 airship-drydock-omni-test fix
Fixes for pep8 test.

Change-Id: Id2b7a187ffe56a47a184314d1a19507a78f7d88a
2018-11-05 18:35:36 +01:00
Zuul 756a063c30 Merge "Support multiple rack controllers" 2018-10-23 18:52:25 +00:00
Scott Hussey 357cf7e455 Support multiple rack controllers
- Update the maasdriver to support two concurrent
  rack controllers when configuring networking.
- Identify a baremetal node from both the MAAS node and
  rack controller collections
- Relax validation to only require at least one healthy
  rack controller

Change-Id: I04beb56a8212b65061840021b13b412fbb37ae81
2018-10-18 17:04:00 -05:00
Scott Hussey e45306b598 (fix) Register error for missing disk
- When a block device isn't found on a node
  the failure isn't registered as such

Change-Id: Iaeab6d2e797e1d0c6089e26da9abcd1c60f2c5c5
2018-10-05 14:02:06 -05:00
Scott Hussey 6ca7aa4bff Catchup YAPF formatting
Change-Id: Ic54f77b4b0bdd9199fbc10dfdfc43d3af8f0bfd1
2018-09-26 08:57:51 -05:00
Aaron Sheffield e9ebfeae44 Bubble Up All Failures
- Includes the machine exception in the exception from node.
- Changed the bubble up logic to include all failures (still filters on success).

Change-Id: I1b907420eff8273c631f81e16508491cc8293629
2018-09-11 14:27:03 -05:00
Scott Hussey 0f39a55942 Refactor build to include Go
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
2018-09-04 13:13:21 -05:00