Nova FloatingIPAssociation not properly removed

Bug #1299827 reported by Paul Van Eck
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
Fix Released
High
Paul Van Eck

Bug Description

The remove method in the handle_delete method for NovaFloatingIpAssociation will never actually remove the floating IP association from the server. This is because Heat sends Nova the floating IP id while nova expects the actual IP address for the removal instead. Trying to delete the association will lead to unexpected results.

With a MySQL back-end, Nova will think the floating IP was not found since it incorrectly tries to query for a floating ip using the id as the address. Heat will ignore the NotFound exception, and mark the FloatingIpAssociation resource as successfully deleted.

However, with a PostgreSQL back-end, this will lead to Nova raising a DataError exception because PostgreSQL will return the following error: "invalid input type for type inet". An id number isn't valid for the PostgreSQL inet type which the address field uses. With this raised DataError exception, Heat marks the deletion of the FloatingIpAssociation resource as DELETE_FAILED.

This improper association removal can lead to problems when performing a stack-update, for instance, and you try to remove the FloatingIpAssociation resource.

Paul Van Eck (pvaneck-z)
Changed in heat:
assignee: nobody → Paul Van Eck (pvaneck-z)
Paul Van Eck (pvaneck-z)
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to heat (master)

Fix proposed to branch: master
Review: https://review.openstack.org/84021

Changed in heat:
status: New → In Progress
Changed in heat:
milestone: none → juno-1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (master)

Reviewed: https://review.openstack.org/84021
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=b69e2287922fb28014bc65656a4bd2c15ad481ae
Submitter: Jenkins
Branch: master

commit b69e2287922fb28014bc65656a4bd2c15ad481ae
Author: Paul Van Eck <email address hidden>
Date: Sun Mar 30 11:07:29 2014 -0700

    Properly delete OS::Nova::FloatingIPAssociation

    Currently when deleting a Nova FloatingIPAssociation, Heat sends
    Nova the floating IP's Id, but Nova expects the actual IP address for
    the removal. This leads to invalid database queries on Nova's side, so
    this change makes sure that novaclient gets the IP address instead of the Id.

    Change-Id: I15dbaf19d9467f5c65dddde77d4115b59e036b0f
    Closes-bug: #1299827

Changed in heat:
status: In Progress → Fix Committed
Changed in heat:
importance: Undecided → High
Thierry Carrez (ttx)
Changed in heat:
milestone: juno-1 → icehouse-rc1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in heat:
milestone: icehouse-rc1 → 2014.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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