Bug 1477516

Summary: [networking-odl] Full sync broken due to missing plugins
Product: Red Hat OpenStack Reporter: Itzik Brown <itbrown>
Component: openstack-tripleo-heat-templatesAssignee: Tim Rozet <trozet>
Status: CLOSED ERRATA QA Contact: Itzik Brown <itbrown>
Severity: high Docs Contact:
Priority: high    
Version: 12.0 (Pike)CC: mburns, mkolesni, nyechiel, rhel-osp-director-maint, smalleni
Target Milestone: betaKeywords: Triaged
Target Release: 12.0 (Pike)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-7.0.2-0.20171007062244.el7ost.noarch.rpm Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
N/A
Last Closed: 2017-12-13 21:48:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
neutron server log none

Description Itzik Brown 2017-08-02 09:57:42 UTC
Description of problem:
I noticed the following trace in Neutron's log:

    2017-08-02 08:54:55.553 114300 ERROR networking_odl.journal.maintenance [req-76d82cd1-b1ef-46cb-b426-faaaf28b9dae - - - - -] Failed during maintenance operation full_sync.: AttributeError: 'NoneType' object has no attribute 'get_policies'
    2017-08-02 08:54:55.553 114300 ERROR networking_odl.journal.maintenance Traceback (most recent call last):
    2017-08-02 08:54:55.553 114300 ERROR networking_odl.journal.maintenance File "/usr/lib/python2.7/site-packages/networking_odl/journal/maintenance.py", line 55, in _execute_op
    2017-08-02 08:54:55.553 114300 ERROR networking_odl.journal.maintenance operation(session=session)
    2017-08-02 08:54:55.553 114300 ERROR networking_odl.journal.maintenance File "/usr/lib/python2.7/site-packages/networking_odl/journal/full_sync.py", line 86, in full_sync
    2017-08-02 08:54:55.553 114300 ERROR networking_odl.journal.maintenance collection_name)
    2017-08-02 08:54:55.553 114300 ERROR networking_odl.journal.maintenance File "/usr/lib/python2.7/site-packages/networking_odl/journal/full_sync.py", line 121, in _sync_resources
    2017-08-02 08:54:55.553 114300 ERROR networking_odl.journal.maintenance obj_getter = getattr(plugin, 'get_%s' % collection_name)
    2017-08-02 08:54:55.553 114300 ERROR networking_odl.journal.maintenance AttributeError: 'NoneType' object has no attribute 'get_policies'
    2017-08-02 08:54:55.553 114300 ERROR networking_odl.journal.maintenance

Version-Release number of selected component (if applicable):
python-networking-odl-11.0.0-0.20170721155128.a047729.el7ost.noarch

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Mike Kolesnik 2017-08-07 15:57:07 UTC
Bug is because an unfortunate change upstream caused full sync to fail if extension plugins aren't loaded.

This means full sync will partially run and fail once it reaches a resource it has no plugin for.

A fix was proposed upstream

Comment 3 Tim Rozet 2017-08-09 15:40:02 UTC
Couple of questions:
1.  Do we want QoS loaded with ODL?  If so then we need https://review.openstack.org/#/c/492027/
2.  Regardless of #1, this bug's main fix should be in networking-odl.  Mike, can you please add the fix to external gerrits on this bz?

Comment 4 Mike Kolesnik 2017-08-10 07:03:15 UTC
(In reply to Tim Rozet from comment #3)
> Couple of questions:
> 1.  Do we want QoS loaded with ODL?  If so then we need
> https://review.openstack.org/#/c/492027/
> 2.  Regardless of #1, this bug's main fix should be in networking-odl. 
> Mike, can you please add the fix to external gerrits on this bz?

We discussed this already, the bug is because only the extention driver is loaded without the service plugin. Networking-ODL is just exhibiting the symptoms of what happens when you have such a mis-configuration, I'm not sure what else you expect it to do.

Comment 5 Tim Rozet 2017-08-15 19:28:38 UTC
Even with service plugins including qos, networking-odl throws another error:

https://gist.githubusercontent.com/trozet/161259d55c48c51a256e5cbbf68801b5/raw/74656bc02a85af8296e8cfba03833b1f8deda2cf/sync_failure_qos

service_plugins                = ['odl-router_v2', 'qos', 'trunk']

Attaching full neutron server log.

Mike can you look into this?

Comment 6 Tim Rozet 2017-08-15 19:29:26 UTC
Created attachment 1313821 [details]
neutron server log

Comment 7 Mike Kolesnik 2017-08-16 09:54:24 UTC
(In reply to Tim Rozet from comment #5)
> Even with service plugins including qos, networking-odl throws another error:
> 
> https://gist.githubusercontent.com/trozet/161259d55c48c51a256e5cbbf68801b5/
> raw/74656bc02a85af8296e8cfba03833b1f8deda2cf/sync_failure_qos
> 
> service_plugins                = ['odl-router_v2', 'qos', 'trunk']
> 
> Attaching full neutron server log.
> 
> Mike can you look into this?

Seems that it's broken and wasn't tested well upstream.

I suggest for now we deploy without QoS and target the QoS to RHOS 13

Comment 10 Mike Kolesnik 2017-09-04 07:07:37 UTC
*** Bug 1487782 has been marked as a duplicate of this bug. ***

Comment 12 Itzik Brown 2017-11-05 12:09:59 UTC
There full sync runs successfully without errors.

Checked with:
openstack-tripleo-heat-templates-7.0.3-0.20171023134948.el7ost.noarch

Comment 15 errata-xmlrpc 2017-12-13 21:48:30 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2017:3462