Refactor northbound API
We handle a lot of get/create/
We can significantly reduce code size by introducing a common code path for operations that repeat themselves
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Dima Kuznetsov
- Direction:
- Needs approval
- Assignee:
- Dima Kuznetsov
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
[WIP] Add CRUD class to API NB
Addressed by: https:/
[WIP] Refactor lswitch northbound API methods
Addressed by: https:/
[8/8] Refactor chassis northbound API methods
Addressed by: https:/
[WIP] Refactor lport northbound API methods
Addressed by: https:/
[WIP] Refactor lrouter northbound API methods
Addressed by: https:/
[WIP] Refactor floatingip northbound API methods
Addressed by: https:/
[WIP] Refactor secgroup northbound API methods
Addressed by: https:/
[WIP] Refactor publisher northbound API methods
Addressed by: https:/
[WIP] Refactor qos policy northbound API methods
Addressed by: https:/
Rename publisher & subscriber in nb api
Addressed by: https:/
North Bound Code Refactor
Addressed by: https:/
[6/
Gerrit topic: https:/
Addressed by: https:/
[7/8] [WIP] Add temporary DbStore wrapper
Addressed by: https:/
[1/8] Add namespace helper class
Addressed by: https:/
[3/8] Add model-proxy helpers
Addressed by: https:/
[2/8] Add basic framework for new DF models
Addressed by: https:/
[5/8] Introduce NbAPI crud helper
Addressed by: https:/
[4/8] Add custom field types for dragonflow models
Addressed by: https:/
NbApi: Use SEND_ALL_TOPIC when topic is omitted
Gerrit topic: https:/
Addressed by: https:/
RyuBaseApp: automatically dispatch on new models
Addressed by: https:/
Add new models to obj refresher
Addressed by: https:/
Make parameter optional in NbApi.get_instance
Addressed by: https:/
Move process_object to local controller
Addressed by: https:/
[12/12] DfLocalController: Register new models
Addressed by: https:/
fixup chassis conf
Addressed by: https:/
Add models devref
Addressed by: https:/
[10/xx] Add id and version properties to old style models
Addressed by: https:/
[15/xx] Add dependency detection among models
Addressed by: https:/
[16/xx] DbConsistent: Adapt to new style ID/Version fields
Addressed by: https:/
[17/xx] Refactor DB consistent
Addressed by: https:/
[12/xx] Refresher: Move model refreshers to DfLocalController
Gerrit topic: https:/
Addressed by: https:/
[19/xx] Implement indexes by nested values
Addressed by: https:/
[09/xx] Introduce models package and move old models inside
Addressed by: https:/
[21/xx] DbStore: Support list field indexes
Addressed by: https:/
[21/xx] Add DbStore2 member to DFlowApp
Addressed by: https:/
Add copy and deepcopy functionality to NB models
Addressed by: https:/
Make _get_topic more robust
Addressed by: https:/
Add create_reference syntactic sugar
Addressed by: https:/
Migrate QosPolicy to new model structure
Gerrit topic: https:/
Addressed by: https:/
Add __repr__ to NB models
Addressed by: https:/
[14/xx] Add constants module for the models
Addressed by: https:/
[WIP] Refactor DB consistent (part 2)
Addressed by: https:/
[WIP]Migrate LogicalSwitch and Subnet models to NB model framework
Addressed by: https:/
[WIP]Migrate LogicalRouter and LogicalRouterPort to new model framework
Addressed by: https:/
Add uniform log for event
Addressed by: https:/
[WIP] Migrate Security Groups to new model structure
Gerrit topic: https:/
Addressed by: https:/
Allow non-dependency references
Addressed by: https:/
Fix models overriding each other when using same class names.
Gerrit topic: https:/
Addressed by: https:/
Add clear method to new local cache
Addressed by: https:/
Use model dependency
Addressed by: https:/
Add hierarchical dependency to current model
Addressed by: https:/
Support equality for model instances
Addressed by: https:/
Fix iteration of first-class only models
Addressed by: https:/
Change HostRoute to a plain model
Addressed by: https:/
Migrate Publisher model to the new framework
Addressed by: https:/
Migrate OvsPort and remove LocalInterface
Addressed by: https:/
Migrate lport to NB models
Addressed by: https:/
Introduce ListOfField
Addressed by: https:/
Support comparison of ModelProxy with None
Gerrit topic: https:/
Addressed by: https:/
_is_
Addressed by: https:/
db_store2 marks stale objects
Gerrit topic: https:/
Addressed by: https:/
Allow invoking non-field attributes via proxies
Addressed by: https:/
Remove unnecessary SG code Remove unnecessary SG code
Addressed by: https:/
Migrate Listener to the new model framework
Addressed by: https:/
[WIP] Migrate FloatingIp to the new model framework
Addressed by: https:/
Migrate lport in metadata service daemon
Addressed by: https:/
Migrate ActivePort to the new model framework
Addressed by: https:/
[01/xx] Drop legacy DbStore module
Addressed by: https:/
[02/xx] Rename DbStore2 to DbStore
Addressed by: https:/
[03/xx] Drop legacy models
Gerrit topic: https:/
Addressed by: https:/
[06/xx] Refactor Migration to be a NB model
Addressed by: https:/
Construct DbUpdate for subscriber received events
Addressed by: https:/
Drop pub-sub functionality from DB API and drivers
Addressed by: https:/
Move apply_db_changes from NbApi to controller
Addressed by: https:/
Remove ovsdb.objects
Addressed by: https:/
Remove OvsdbQos