drydock/python/drydock_provisioner/objects
Markin, Sergiy (sm515x) afdfa33099 [NIC Card Auto-Detect] NIC Card Auto-Detect
This patch adds an ability to match several NIC addresses by one
hardware profile by using regex as the address. The regex expression has
to have regex: prefix in order to be recognized.

Change-Id: I0bb067fb1783725e4ac485683eb898d5fc2d7bf2
2022-07-20 20:09:43 +00:00
..
__init__.py (fix) Support node filter by rack name 2018-10-16 12:27:01 -05:00
base.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
bootaction.py Catchup YAPF formatting 2018-09-26 08:57:51 -05:00
builddata.py Fix: pep8 airship-drydock-omni-test fix 2018-11-05 18:35:36 +01:00
fields.py Catchup YAPF formatting 2018-09-26 08:57:51 -05:00
healthcheck.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
hostprofile.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
hwprofile.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
network.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
node.py [NIC Card Auto-Detect] NIC Card Auto-Detect 2022-07-20 20:09:43 +00:00
promenade.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
rack.py Refactor build to include Go 2018-09-04 13:13:21 -05:00
readme.md Refactor build to include Go 2018-09-04 13:13:21 -05:00
site.py Address PEP8 Failures in Drydock 2020-05-12 18:27:06 +00:00
task.py Catchup YAPF formatting 2018-09-26 08:57:51 -05:00
validation.py Refactor build to include Go 2018-09-04 13:13:21 -05:00

readme.md

Drydock Model

Object models for the drydock design parts and subparts. We use oslo.versionedobjects as the supporting library for object management to support RPC and versioned persistence.

Features

Inheritance

Drydock supports inheritance in the design data model.

Currently this only supports BaremetalNode inheriting from HostProfile and HostProfile inheriting from HostProfile.

Inheritance rules:

  1. A child overrides a parent for part and subpart attributes
  2. For attributes that are lists, the parent list and child list are merged.
  3. A child can remove a list member by prefixing the value with '!'
  4. For lists of subparts (i.e. HostInterface and HostPartition) if there is a member in the parent list and child list with the same name (as defined by the get_name() method), the child member inherits from the parent member. The '!' prefix applies here for deleting a member based on the name.

Phased Data

The source of the data in a object instance can be one of three types.

  • Designed - This is data directly ingested by Drydock representing a design part (Site, HostProfile, etc...) supplied by an external source
  • Compiled - This is designed data that has been processed through the Drydock inheritance / merge system. It is the effective design that will be implemented.
  • Build - This is the result of actual implementation. It should basically match the compiled view of the model, but might have some additional information only available after implementation.