Floating IPs are not recycled in OpenStack Havana

Bug #1247500 reported by sodre
26
This bug affects 3 people
Affects Status Importance Assigned to Milestone
juju-core
Fix Released
Critical
Ian Booth

Bug Description

Current implementation of Juju is not able to recycle existing floating ips.

Steps:
   1) Start with Havana and pre-allocate IPs to your Tenant.
   2) Run juju bootstrap.
   3) Notice that Juju will not use the pre-allocated and Free Floating IP.

Related branches

Revision history for this message
Curtis Hovey (sinzui) wrote :

Was the env configured to use floating IPs.
    use-floating-ip: true

tags: added: addressability ubuntu-openstack
Changed in juju-core:
status: New → Incomplete
Revision history for this message
sodre (psodre) wrote : Re: [Bug 1247500] Re: Floating IPs are not recycled in OpenStack Havana

Yes. I did have floatingIp = true.

The issue is between json, goose and to a lesser extent juju.

0) Juju asks goose for the list of Floating Ips.

1) Goose uses REST API and Json to parse the output from Nova.
    If the FloatingIP is not associated to an instance, Json(?) sets
       fip.InstanceId = "<nil>" <— this is the actual string

2) Juju checks if fip.InstanceId == nil OR *fip.instanceId == “” to say that it is free.

The immediate fix at the Juju level is easy, i.e. add OR *fip.instanceId == “<nil>”. I have tested this fix in my private OpenStack install and it works.

I did not propose that change because I am not sure if the issue is higher up, i.e. at Goose or Json and the way
that Go handles nil pointers/strings. I’ll add my branch to launchpad in a few for completeness.

On Nov 5, 2013, at 6:43 PM, Curtis Hovey <email address hidden> wrote:

> Was the env configured to use floating IPs.
> use-floating-ip: true
>
> ** Tags added: addressability ubuntu-openstack
>
> ** Changed in: juju-core
> Status: New => Incomplete
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1247500
>
> Title:
> Floating IPs are not recycled in OpenStack Havana
>
> Status in juju-core:
> Incomplete
>
> Bug description:
> Current implementation of Juju is not able to recycle existing
> floating ips.
>
> Steps:
> 1) Start with Havana and pre-allocate IPs to your Tenant.
> 2) Run juju bootstrap.
> 3) Notice that Juju will not use the pre-allocated and Free Floating IP.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/juju-core/+bug/1247500/+subscriptions

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for juju-core because there has been no activity for 60 days.]

Changed in juju-core:
status: Incomplete → Expired
John A Meinel (jameinel)
Changed in juju-core:
importance: Undecided → High
status: Expired → Triaged
Curtis Hovey (sinzui)
Changed in juju-core:
milestone: none → 2.0
Revision history for this message
Vincent Ladeuil (vila) wrote :

I'm bitten by this bug on hp cloud (which uses havana AFAIK).

I do use floating-ip: true.

When I destroy my environment, I would expect that juju delete all the floating IPs it has to create.

This is more painful on hp cloud because the floating ips are limited and weird bugs happen once you reach the limit (HTTP 500 when juju try to create instances for one) and those errors don't bubble up to the user in a meaningful way.

Curtis Hovey (sinzui)
tags: added: hp-cloud
Revision history for this message
Curtis Hovey (sinzui) wrote :

I cannot reproduce this anymore with HP Cloud. As everyone was switched to the new region/openstacks. Juju CI is using
    floating-ip: true
and the IPs are being returned. Subsequent bootstraps and deploys do use them.

Changed in juju-core:
status: Triaged → Incomplete
Revision history for this message
Curtis Hovey (sinzui) wrote :

CI reproduced this. IT hit the maximum number of floating IP, then started failing HP tests. The work around was to manually delete IPs.

Changed in juju-core:
status: Incomplete → Triaged
milestone: none → 1.19.4
importance: High → Critical
Ian Booth (wallyworld)
Changed in juju-core:
assignee: nobody → Ian Booth (wallyworld)
status: Triaged → In Progress
Revision history for this message
Vincent Ladeuil (vila) wrote :

> status: Triaged → In Progress

\o/ Go Ian, Go !

Ian Booth (wallyworld)
Changed in juju-core:
status: In Progress → Fix Committed
Curtis Hovey (sinzui)
Changed in juju-core:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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