Cannot update bgpvpn resource with opencontrail driver

Bug #1631306 reported by Édouard Thuleau
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-bgpvpn
Fix Released
Undecided
Édouard Thuleau

Bug Description

2016-10-07 08:55:43.101 DEBUG networking_bgpvpn.neutron.services.service_drivers.opencontrail.opencontrail [req-3a83ccf5-7266-4bf9-8181-6315642e596a admin 9a36494ae61f4af7902db62d35c29bb2
] update_bgpvpn called with {u'route_targets': [u'64512:1', u'64512:2'], u'import_targets': [], u'export_targets': [], u'name': u'Site 1 VPN'} for 7952866b-4fa7-4832-b824-2a899397ee67
from (pid=501) update_bgpvpn /opt/stack/openstack/networking-bgpvpn/networking_bgpvpn/neutron/services/service_drivers/opencontrail/opencontrail.py:235
2016-10-07 08:55:43.102 ERROR neutron.api.v2.resource [req-3a83ccf5-7266-4bf9-8181-6315642e596a admin 9a36494ae61f4af7902db62d35c29bb2] update failed: No details.
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource Traceback (most recent call last):
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/opt/stack/openstack/neutron/neutron/api/v2/resource.py", line 79, in resource
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource result = method(request=request, **args)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/opt/stack/openstack/neutron/neutron/api/v2/base.py", line 604, in update
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource return self._update(request, id, body, **kwargs)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/opt/stack/openstack/neutron/neutron/db/api.py", line 88, in wrapped
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource setattr(e, '_RETRY_EXCEEDED', True)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource self.force_reraise()
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/opt/stack/openstack/neutron/neutron/db/api.py", line 84, in wrapped
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource return f(*args, **kwargs)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 151, in wrapper
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource ectxt.value = e.inner_exc
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource self.force_reraise()
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 139, in wrapper
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource return f(*args, **kwargs)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/opt/stack/openstack/neutron/neutron/db/api.py", line 124, in wrapped
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource traceback.format_exc())
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource self.force_reraise()
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/opt/stack/openstack/neutron/neutron/db/api.py", line 119, in wrapped
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource return f(*dup_args, **dup_kwargs)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/opt/stack/openstack/neutron/neutron/api/v2/base.py", line 652, in _update
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource obj = obj_updater(request.context, id, **kwargs)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/opt/stack/openstack/networking-bgpvpn/networking_bgpvpn/neutron/services/plugin.py", line 155, in update_bgpvpn
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource return self.driver.update_bgpvpn(context, id, bgpvpn)
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource File "/opt/stack/openstack/networking-bgpvpn/networking_bgpvpn/neutron/services/service_drivers/opencontrail/opencontrail.py", line 241, i
n update_bgpvpn
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource if new_bgpvpn['tenant_id']:
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource KeyError: 'tenant_id'
2016-10-07 08:55:43.102 TRACE neutron.api.v2.resource

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to networking-bgpvpn (master)

Fix proposed to branch: master
Review: https://review.openstack.org/383603

Changed in bgpvpn:
assignee: nobody → Édouard Thuleau (ethuleau)
status: New → In Progress
Changed in bgpvpn:
milestone: none → 5.0.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-bgpvpn (master)

Reviewed: https://review.openstack.org/383603
Committed: https://git.openstack.org/cgit/openstack/networking-bgpvpn/commit/?id=712c1a0c7afa82acfc3fd66042cac6395aa08465
Submitter: Jenkins
Branch: master

commit 712c1a0c7afa82acfc3fd66042cac6395aa08465
Author: Édouard Thuleau <email address hidden>
Date: Fri Oct 7 11:21:38 2016 +0200

    opencontrail: not check tenant existence on update

    We don't need to check if the tenant owner of the bgpvpn resource exists
    when we update it. If the resource exists that means the tenant
    validation was done at the creation, if not the update should raise an
    BGPVPNNotFound exception when it tries to get it.
    Furthermore, the tenant_id attribute of bgpvpn resource can not be updated.

    Change-Id: Ia7acfbfa544aaa09ba18ae5b4ddc7b8818cd758d
    Closes-bug: #1631306

Changed in bgpvpn:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to networking-bgpvpn (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/384053

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-bgpvpn (stable/mitaka)

Reviewed: https://review.openstack.org/384053
Committed: https://git.openstack.org/cgit/openstack/networking-bgpvpn/commit/?id=482de4f084df3ad1262a5e674034afc7c61eb70d
Submitter: Jenkins
Branch: stable/mitaka

commit 482de4f084df3ad1262a5e674034afc7c61eb70d
Author: Édouard Thuleau <email address hidden>
Date: Fri Oct 7 11:21:38 2016 +0200

    opencontrail: not check tenant existence on update

    We don't need to check if the tenant owner of the bgpvpn resource exists
    when we update it. If the resource exists that means the tenant
    validation was done at the creation, if not the update should raise an
    BGPVPNNotFound exception when it tries to get it.
    Furthermore, the tenant_id attribute of bgpvpn resource can not be updated.

    Change-Id: Ia7acfbfa544aaa09ba18ae5b4ddc7b8818cd758d
    Closes-bug: #1631306
    (cherry picked from commit 712c1a0c7afa82acfc3fd66042cac6395aa08465)

tags: added: in-stable-mitaka
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/networking-bgpvpn 4.0.2

This issue was fixed in the openstack/networking-bgpvpn 4.0.2 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/networking-bgpvpn 5.0.0

This issue was fixed in the openstack/networking-bgpvpn 5.0.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.