← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1974173] [NEW] Remaining ports are not unbound if one port is missing

 

Public bug reported:

As part of the instance deletion process, we must unbind ports
associated with said instance. To do this, we loop over all ports
currently attached to an instance. However, if neutron returns HTTP 404
(Not Found) for any of these ports, we will return early and fail to
unbind the remaining ports. We've seen the problem in the context of
Kubernetes on OpenStack. Our deinstaller is brute-force, so it deletes
ports and servers at the same time, so a race means the port can get
deleted early. This normally wouldn't be an issue as we'd just "untrunk"
it and proceed to delete it. But that won't work for SR-IOV ports as in
that case you cannot "untrunk" bound ports.

The solution here is obvious: if we fail to find a port, we should
simply skip that and continue unbinding everything else.

** Affects: nova
     Importance: Medium
     Assignee: Stephen Finucane (stephenfinucane)
         Status: Confirmed


** Tags: neutron

** Tags added: neutron

** Changed in: nova
     Assignee: (unassigned) => Stephen Finucane (stephenfinucane)

** Changed in: nova
   Importance: Undecided => Medium

** Changed in: nova
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1974173

Title:
  Remaining ports are not unbound if one port is missing

Status in OpenStack Compute (nova):
  Confirmed

Bug description:
  As part of the instance deletion process, we must unbind ports
  associated with said instance. To do this, we loop over all ports
  currently attached to an instance. However, if neutron returns HTTP
  404 (Not Found) for any of these ports, we will return early and fail
  to unbind the remaining ports. We've seen the problem in the context
  of Kubernetes on OpenStack. Our deinstaller is brute-force, so it
  deletes ports and servers at the same time, so a race means the port
  can get deleted early. This normally wouldn't be an issue as we'd just
  "untrunk" it and proceed to delete it. But that won't work for SR-IOV
  ports as in that case you cannot "untrunk" bound ports.

  The solution here is obvious: if we fail to find a port, we should
  simply skip that and continue unbinding everything else.

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



Follow ups