On 04/13/2015 12:39 PM, Carl Baldwin wrote:
On Mon, Apr 13, 2015 at 8:44 AM, Pavel Bondar <[email protected]> wrote:
Hi,

I made some investigation on the topic[1] and see several issues on this
way.

1. Plugin's create_port() is wrapped up in top level transaction for
create floating ip case[2], so it becomes more complicated to do IPAM
calls outside main db transaction.

Is it time to look at breaking the bond between a floating and a port?

IMO, yes.

  I think the only reason that a port is created to back a floating IP
is for IPAM because IP addresses are only reserved by creating a port
with it.

I'm sure this won't be very easy but I think it is worth a look to see
what will be involved.

Why can't port creation be done entirely separately from assigning some *thing* -- i.e. a floating IP -- to that port?

The creation of a port can be done in a separate DB transaction. Assignment of said port ID to a floating IP resource can be done in a separate DB transaction (or external IPAM system call).

Trying to trace the DB transaction scope through all the mess of mixin classes in Neutron is, well, extremely mind-boggling.

Best,
-jay

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to