← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1988323] [NEW] "port" resource is not deleted if child "ml2_port_bindings" DB register does not exist

 

Public bug reported:

The "port" database register (and any other related register) are not
deleted from the database if the child "ml2_port_bindings" register is
not present.

When a "port" database register is created, a "ml2_port_bindings" child
register is created too. Initially, the "ml2_port_bindings" is set to
unbound. The Neutron server deletes the "ml2_port_bindings" register
when the "port" register is deleted (for example, when the user executes
"openstack port delete <port>").

However, we have seen a user that has manually deleted the
"ml2_port_bindings" register. In this case when the port is show, we can
see all the binding related attributes filled with "None" [1].

If we manually try to delete this port using the CLI, the OSC does not
return any exception, but the port is still in the database.

I know this situation is not part of the normal operation, it implies a manual manipulation of the database. However, in this case we should:
1) Raise an exception saying that the Neutron API is not deleting this port.
2) Actually delete the register (I'm in favor of this one).


[1]https://paste.opendev.org/show/bp2PPtNVN3ln4PReuByP/

** Affects: neutron
     Importance: Low
     Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez)

** Changed in: neutron
   Importance: Undecided => Low

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

Title:
  "port" resource is not deleted if child "ml2_port_bindings" DB
  register does not exist

Status in neutron:
  New

Bug description:
  The "port" database register (and any other related register) are not
  deleted from the database if the child "ml2_port_bindings" register is
  not present.

  When a "port" database register is created, a "ml2_port_bindings"
  child register is created too. Initially, the "ml2_port_bindings" is
  set to unbound. The Neutron server deletes the "ml2_port_bindings"
  register when the "port" register is deleted (for example, when the
  user executes "openstack port delete <port>").

  However, we have seen a user that has manually deleted the
  "ml2_port_bindings" register. In this case when the port is show, we
  can see all the binding related attributes filled with "None" [1].

  If we manually try to delete this port using the CLI, the OSC does not
  return any exception, but the port is still in the database.

  I know this situation is not part of the normal operation, it implies a manual manipulation of the database. However, in this case we should:
  1) Raise an exception saying that the Neutron API is not deleting this port.
  2) Actually delete the register (I'm in favor of this one).

  
  [1]https://paste.opendev.org/show/bp2PPtNVN3ln4PReuByP/

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



Follow ups