drydock/drydock_provisioner/objects
Scott Hussey cc77125953 [411387] Schema update to support repo
- 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
2018-06-07 23:08:20 +00:00
..
__init__.py Enhance validation message flow 2018-03-13 10:11:49 -05:00
base.py Enhance validation message flow 2018-03-13 10:11:49 -05:00
bootaction.py [390773] Support SRIOV fields in definition profiles 2018-03-14 14:12:51 -05:00
builddata.py Statemgmt access to build data 2018-01-08 13:57:21 -06:00
fields.py [Fix] Adhere to UCP spec for validation status 2018-03-23 10:31:27 -05:00
healthcheck.py Use new validator model for validation 2018-03-14 14:12:51 -05:00
hostprofile.py [391121] Fix reported bootaction defect 2018-05-01 16:09:49 +00:00
hwprofile.py [390773] Support SRIOV fields in definition profiles 2018-03-14 14:12:51 -05:00
network.py Implement routedomain support 2017-12-14 13:45:38 -06:00
node.py Fix: use only node's HW profile for nic logical names 2018-06-05 12:03:38 -05:00
promenade.py Refactor orchestrator 2017-10-26 15:00:39 -05:00
rack.py DRYD21 - YAPF formatting for 375626 2017-08-25 11:21:22 -05:00
readme.md Rename helm_drydock to drydock_provisioner 2017-05-25 08:48:27 -05:00
site.py [411387] Schema update to support repo 2018-06-07 23:08:20 +00:00
task.py Fixing update sites incomplete status 2018-02-19 11:48:06 -06:00
validation.py Use new validator model for validation 2018-03-14 14:12:51 -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.