← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1657597] [NEW] Floating IP association to allowed address pair fails due to transaction in transaction

 

Public bug reported:

When associating a floating IP address to an instance's allowed address
pair, the action fails with the following stack :

update failed: No details. 
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/neutron/api/v2/resource.py", line 79, in resource
    result = method(request=request, **args)
  File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 604, in update
    return self._update(request, id, body, **kwargs)
  File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 88, in wrapped
    setattr(e, '_RETRY_EXCEEDED', True)
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
    self.force_reraise()
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
    six.reraise(self.type_, self.value, self.tb)
  File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 84, in wrapped
    return f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 151, in wrapper
    ectxt.value = e.inner_exc
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
    self.force_reraise()
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise 
    six.reraise(self.type_, self.value, self.tb)
  File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 139, in wrapper
    return f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 124, in wrapped
    traceback.format_exc())
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
    self.force_reraise()
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
    six.reraise(self.type_, self.value, self.tb)
  File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 119, in wrapped
    return f(*dup_args, **dup_kwargs)
  File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 652, in _update
    obj = obj_updater(request.context, id, **kwargs)
  File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 159, in wrapped
    return method(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 88, in wrapped
    setattr(e, '_RETRY_EXCEEDED', True)
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
    self.force_reraise()
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
    six.reraise(self.type_, self.value, self.tb)
  File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 84, in wrapped
    return f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 151, in wrapper
    ectxt.value = e.inner_exc
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
    self.force_reraise()
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
    six.reraise(self.type_, self.value, self.tb)
  File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 139, in wrapper
    return f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 124, in wrapped
    traceback.format_exc())
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
    self.force_reraise()
  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
    six.reraise(self.type_, self.value, self.tb)
  File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 119, in wrapped
    return f(*dup_args, **dup_kwargs)
  File "/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 1020, in update_floatingip
    context, id, floatingip)
  File "/usr/lib/python2.7/site-packages/neutron/db/l3_db.py", line 1352, in _update_floatingip
    context.elevated(), fip_port_id))
  File "/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 284, in _update_fip_assoc
    port)
  File "/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 297, in _inherit_service_port_and_arp_update
    address_pair_port=allowed_address_port))
  File "/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 1073, in update_unbound_allowed_address_pair_port_binding
    context, address_pair_port['id'], {'port': port_data})
  File "/usr/lib/python2.7/site-packages/neutron/common/utils.py", line 755, in inner
    "transaction.") % f) 
RuntimeError: Method <function update_port at 0x4cbf6e0> cannot be called within a transaction.

** Affects: neutron
     Importance: Undecided
     Assignee: Daniel Russell (danielr-2)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Daniel Russell (danielr-2)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1657597

Title:
  Floating IP association to allowed address pair fails due to
  transaction in transaction

Status in neutron:
  New

Bug description:
  When associating a floating IP address to an instance's allowed
  address pair, the action fails with the following stack :

  update failed: No details. 
  Traceback (most recent call last):
    File "/usr/lib/python2.7/site-packages/neutron/api/v2/resource.py", line 79, in resource
      result = method(request=request, **args)
    File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 604, in update
      return self._update(request, id, body, **kwargs)
    File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 88, in wrapped
      setattr(e, '_RETRY_EXCEEDED', True)
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
      self.force_reraise()
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
      six.reraise(self.type_, self.value, self.tb)
    File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 84, in wrapped
      return f(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 151, in wrapper
      ectxt.value = e.inner_exc
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
      self.force_reraise()
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise 
      six.reraise(self.type_, self.value, self.tb)
    File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 139, in wrapper
      return f(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 124, in wrapped
      traceback.format_exc())
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
      self.force_reraise()
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
      six.reraise(self.type_, self.value, self.tb)
    File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 119, in wrapped
      return f(*dup_args, **dup_kwargs)
    File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 652, in _update
      obj = obj_updater(request.context, id, **kwargs)
    File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 159, in wrapped
      return method(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 88, in wrapped
      setattr(e, '_RETRY_EXCEEDED', True)
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
      self.force_reraise()
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
      six.reraise(self.type_, self.value, self.tb)
    File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 84, in wrapped
      return f(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 151, in wrapper
      ectxt.value = e.inner_exc
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
      self.force_reraise()
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
      six.reraise(self.type_, self.value, self.tb)
    File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 139, in wrapper
      return f(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 124, in wrapped
      traceback.format_exc())
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
      self.force_reraise()
    File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
      six.reraise(self.type_, self.value, self.tb)
    File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 119, in wrapped
      return f(*dup_args, **dup_kwargs)
    File "/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 1020, in update_floatingip
      context, id, floatingip)
    File "/usr/lib/python2.7/site-packages/neutron/db/l3_db.py", line 1352, in _update_floatingip
      context.elevated(), fip_port_id))
    File "/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 284, in _update_fip_assoc
      port)
    File "/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 297, in _inherit_service_port_and_arp_update
      address_pair_port=allowed_address_port))
    File "/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 1073, in update_unbound_allowed_address_pair_port_binding
      context, address_pair_port['id'], {'port': port_data})
    File "/usr/lib/python2.7/site-packages/neutron/common/utils.py", line 755, in inner
      "transaction.") % f) 
  RuntimeError: Method <function update_port at 0x4cbf6e0> cannot be called within a transaction.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1657597/+subscriptions