Bug 1550699 - [Netvirt] OpenDaylight should validate resource dependencies
Summary: [Netvirt] OpenDaylight should validate resource dependencies
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: opendaylight
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: Upstream M2
: 15.0 (Stein)
Assignee: Vishal Thapar
QA Contact: Itzik Brown
URL:
Whiteboard: Netvirt
Depends On:
Blocks: 1550704
TreeView+ depends on / blocked
 
Reported: 2018-03-01 19:46 UTC by Tim Rozet
Modified: 2019-03-06 16:17 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenDaylight Bug NEUTRON-158 0 None None None 2018-04-04 14:24:14 UTC
OpenDaylight gerrit 72372 0 None None None 2018-06-07 18:02:06 UTC

Description Tim Rozet 2018-03-01 19:46:41 UTC
Description of problem:
Currently any REST call to OpenDaylight Neutron Northbound to create/update/delete a resource does not invoke any check or validation that dependent resources already exist.  For example, a port create call depends on a network to exist for that port to be placed on.  Without any check, that network could be missing and the port create call would return 200 OK.  In the past we have relied on the networking-odl v2 driver to handle these dependency checks, and handle out of order create operations with the journaling mechanism.  However, the validation is better served in Neutron NB which then allows for errors to be raised with the validation being done synchronously to the REST API call.

Comment 6 Michael Vorburger 2018-06-07 18:02:19 UTC
Just FTR: I'm making progress with this upstream (NEUTRON-158, c/72372) - this is happening.

Comment 7 Michael Vorburger 2018-07-31 13:22:46 UTC
The "technical ground work" for this is meanwhile fully completed; I have created a sort of "framework" which makes it easy to add areAllDependenciesAvailable() methods to the INeutronCRUD implementations in the transcriber.

As of right now this is done (only) for SecurityRule, which needs SecurityGroup from rule’s securityRuleGroupID and securityRemoteGroupID.  To "finish" this feature just requires implementing this new areAllDependenciesAvailable() for all Neutron entities.

I'm not familiar enough with the full details of the Neutron data model to have a precise idea of all relationships which need to be dependency checked, and have failed to get anyone to help with writing a (mini) "spec" fully detailing the requirement here.

Therefore now re-assigning this issue to Vishal who internally kindly offered to help.

Comment 14 Franck Baudin 2019-03-06 16:17:09 UTC
As per depreciation notice [1], closing this bug. Please reopen if relevant for RHOSP13, as this is the only version shipping ODL.

[1] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/14/html-single/release_notes/index#deprecated_functionality

Comment 15 Franck Baudin 2019-03-06 16:17:55 UTC
As per depreciation notice [1], closing this bug. Please reopen if relevant for RHOSP13, as this is the only version shipping ODL.

[1] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/14/html-single/release_notes/index#deprecated_functionality


Note You need to log in before you can comment on or make changes to this bug.