Floating IPs configured via Neutron, viewed via Nova, so floating IP info is out of date

Bug #1265032 reported by Assaf Muller
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Fix Released
High
Assaf Muller
Havana
Fix Released
Medium
Julie Pichon

Bug Description

In admin/instances, and project/instances, as well as the instance details page, IP addresses are retrieved via Nova. However, floating IPs are configured via Neutron (When Neutron is enabled*). Nova has a mechanism where it polls Neutron for networking information, but it's far from real-time.

The effect is that when a floating IP is associated or disassociated, it isn't reflected in the GUI for up to a minute for a single operation, or several minutes for consecutive floating IP operations.

There's several approaches to fix this bug:
1) Improve Nova's polling mechanism. It can be faster, but it will never be real time because of its polling nature, and it will never have the desired user experience because of it.
2) Make Neutron send out events when networking changes are made. Nova will listen to these events and update its DB. But do we really want to continue relying on Nova's cached networking information? It seems like a recipe for bugs.
3) My proposed solution: Since Horizon calls out to Neutron directly to configure floating IPs, it should get networking info from Neutron as well.

* This bug only happens with Neutron enabled. With Nova Networking, Nova takes care to update its own DB when performing floating IP associations/disassociations as expected.

Assaf Muller (amuller)
Changed in horizon:
assignee: nobody → Assaf Muller (amuller)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (master)

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

Matthias Runge (mrunge)
Changed in horizon:
importance: Undecided → High
Matthias Runge (mrunge)
Changed in horizon:
milestone: none → icehouse-2
David Lyle (david-lyle)
Changed in horizon:
milestone: icehouse-2 → icehouse-3
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (master)

Reviewed: https://review.openstack.org/64448
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=715d6b822838009530b7792cd7749164ae3fc663
Submitter: Jenkins
Branch: master

commit 715d6b822838009530b7792cd7749164ae3fc663
Author: Assaf Muller <email address hidden>
Date: Sun Dec 29 16:44:46 2013 +0200

    Get instance networking information from Neutron

    project/instances, admin/instances and the instance details page
    all get networking information from Nova. However, with Neutron
    enabled, floating IP associations are done direcly with Neutron,
    meaning that Nova's DB will fall out of sync and thus the GUI
    won't reflect successful floating IP associations until Nova
    polls Neutron again and updates its DB. The polling can take
    up to several minutes to complete for consecutive floating IP
    operations.

    The solution is to update instances' networking information from
    Neutron immediately after the call to list Nova instances.

    Closes-Bug: #1265032
    Change-Id: I0382fa9a4a9fff21e7b4d05cd3b76783f826735f

Changed in horizon:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in horizon:
status: Fix Committed → Fix Released
Matthias Runge (mrunge)
tags: added: havana-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (stable/havana)

Fix proposed to branch: stable/havana
Review: https://review.openstack.org/87728

Thierry Carrez (ttx)
Changed in horizon:
milestone: icehouse-3 → 2014.1
Revision history for this message
Openstack Gerrit (openstack-gerrit) wrote : Fix merged to horizon (stable/havana)

Reviewed: https://review.openstack.org/87728
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=f3557786e2a9f026a16d2fd3b8fa9243bc4c70a9
Submitter: Jenkins
Branch: stable/havana

commit f3557786e2a9f026a16d2fd3b8fa9243bc4c70a9
Author: Assaf Muller <email address hidden>
Date: Sun Dec 29 16:44:46 2013 +0200

    Get instance networking information from Neutron

    project/instances, admin/instances and the instance details page
    all get networking information from Nova. However, with Neutron
    enabled, floating IP associations are done direcly with Neutron,
    meaning that Nova's DB will fall out of sync and thus the GUI
    won't reflect successful floating IP associations until Nova
    polls Neutron again and updates its DB. The polling can take
    up to several minutes to complete for consecutive floating IP
    operations.

    The solution is to update instances' networking information from
    Neutron immediately after the call to list Nova instances.

    Conflicts:
     openstack_dashboard/dashboards/project/instances/tests.py
     openstack_dashboard/dashboards/project/instances/views.py

    Closes-Bug: #1265032
    Change-Id: I0382fa9a4a9fff21e7b4d05cd3b76783f826735f
    (cherry picked from commit 715d6b822838009530b7792cd7749164ae3fc663)

Yaguang Tang (heut2008)
tags: removed: havana-backport-potential
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.