Floating IPs don't have instance IDs when Neutron is used

Bug #1420371 reported by Sergey Reshetnyak
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Fix Released
High
Roman Podoliaka
5.1.x
Fix Released
High
Alexey Khivin
6.0.x
Fix Released
High
Alexey Khivin
6.1.x
Fix Released
High
Roman Podoliaka

Bug Description

ENV: MOS 6.0 with neutron

Script to reproduce:

http://xsnippet.org/360441/raw/

Upstream bug:

https://bugs.launchpad.net/nova/+bug/1380965

Tags: nova sahara
Changed in mos:
assignee: nobody → MOS Nova (mos-nova)
tags: added: nova
tags: added: sahara
Changed in mos:
status: New → Confirmed
importance: Undecided → Medium
assignee: MOS Nova (mos-nova) → Roman Podoliaka (rpodolyaka)
description: updated
summary: - [nova] find floatingips by instance_id failed
+ [nova-client] Find floating IPs by instance_id failed
summary: - [nova-client] Find floating IPs by instance_id failed
+ [python-novaclient] Find floating IPs by instance_id failed
Changed in mos:
milestone: none → 6.1
description: updated
summary: - [python-novaclient] Find floating IPs by instance_id failed
+ Floating IPs don't have instance IDs when Neutron is used
Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :

The fix will be merged together with other updates from stable/juno

Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :
Revision history for this message
Alexey Khivin (akhivin) wrote :
Revision history for this message
Alexey Khivin (akhivin) wrote :
Revision history for this message
Yaroslav Lobankov (ylobankov) wrote :

Alex, which ISO can we await the fix in? I have reproduced this issue on

VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "6.0.1"
  api: "1.0"
  build_number: "94"
  build_id: "2015-02-17_08-32-41"
  astute_sha: "f7cda2171b0b677dfaeb59693d980a2d3ee4c3e0"
  fuellib_sha: "72fb29ff8201d4532c056a928e74fd0ebe021e19"
  ostf_sha: "3b57985d4d2155510894a1f6d03b478b201f7780"
  nailgun_sha: "6967b24adc4d74e36d69b59973ff79d6ab2389e5"
  fuelmain_sha: "c799e3a6d88289e58db764a6be7910aab7da3149"

For now this is the last ISO for 6.0.1.

Revision history for this message
Alexander Gubanov (ogubanov) wrote :

I have verified on mos 6.1 (build 126) - it works!
Proof http://pastebin.com/HYKUmMwH

Revision history for this message
Yaroslav Lobankov (ylobankov) wrote :

I have reproduced this issue on

VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "6.0.1"
  api: "1.0"
  build_number: "96"
  build_id: "2015-02-18_08-17-51"
  astute_sha: "f7cda2171b0b677dfaeb59693d980a2d3ee4c3e0"
  fuellib_sha: "9715623a0f215c5070ffe68c81dc9f47db361b88"
  ostf_sha: "3b57985d4d2155510894a1f6d03b478b201f7780"
  nailgun_sha: "6967b24adc4d74e36d69b59973ff79d6ab2389e5"
  fuelmain_sha: "c799e3a6d88289e58db764a6be7910aab7da3149"

Revision history for this message
Alexey Khivin (akhivin) wrote :

Thanks, Yaroslav! I will check it again on the version from git and will fix it

Revision history for this message
Yaroslav Lobankov (ylobankov) wrote :

In accordance with https://review.fuel-infra.org/#/c/2718/ the issue is not reproduced for 6.0.1 any more.
The issue is verified on

VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "6.0.1"
  api: "1.0"
  build_number: "110"
  build_id: "2015-02-27_17-37-19"
  astute_sha: "f7cda2171b0b677dfaeb59693d980a2d3ee4c3e0"
  fuellib_sha: "55d85361947e24b23ea506f51ded9f7ecbc0ae0a"
  ostf_sha: "3b57985d4d2155510894a1f6d03b478b201f7780"
  nailgun_sha: "adbc77b3435d1484e39a46075bd5d558d7ec68b7"
  fuelmain_sha: "bc1a1279509a87de0b9201e6dd2d393e0e122905"

Revision history for this message
Alexey Khivin (akhivin) wrote :

In fact this issue is fixed in 6.0-updates because it is fixed in 6.0

no longer affects: mos/6.0-updates
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix proposed to openstack/nova (openstack-ci/fuel-5.1.1-updates/2014.1.1)

Fix proposed to branch: openstack-ci/fuel-5.1.1-updates/2014.1.1
Change author: Matt Riedemann <email address hidden>
Review: https://review.fuel-infra.org/9326

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix proposed to openstack/nova (openstack-ci/fuel-5.1-updates/2014.1.1)

Fix proposed to branch: openstack-ci/fuel-5.1-updates/2014.1.1
Change author: Matt Riedemann <email address hidden>
Review: https://review.fuel-infra.org/9339

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix merged to openstack/nova (openstack-ci/fuel-5.1-updates/2014.1.1)

Reviewed: https://review.fuel-infra.org/9339
Submitter: Vitaly Sedelnik <email address hidden>
Branch: openstack-ci/fuel-5.1-updates/2014.1.1

Commit: 953ac1909436fa992aeb045ea5cc90a1c75a9a64
Author: Matt Riedemann <email address hidden>
Date: Tue Jul 14 16:07:25 2015

Return floating_ip['fixed_ip']['instance_uuid'] from neutronv2 API

The os-floating-ips extension translates the floating IP information
from the network API for the response but is only checking fields based
on what comes back from nova-network, which is using the FloatingIP
object. The neutronv2 API returns a different set of keys for the
instance/instance_uuid which the API extension doesn't handle and
therefore doesn't show the associated instance id for a given floating
IP.

The network APIs should return consistent data formats so this change
adds the expected key to fix the bug in the API extension (since the API
extensions shouldn't have to know the implementation details of the
network API, there are some extensions actually checking if it's the
neutron API and parsing the result set based on that).

This change will be used to backport the fix to the stable branches.

The longer term fix is to convert the neutronv2 get_floating_ip* API
methods to use nova objects which will be done as part of blueprint
kilo-objects in a separate change.

Conflicts:
     nova/tests/unit/network/test_neutronv2.py

Closes-Bug: #1420371

Change-Id: I01df2096ced51eb9ebfd994cf8397f2fa094f6e3

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix merged to openstack/nova (openstack-ci/fuel-5.1.1-updates/2014.1.1)

Reviewed: https://review.fuel-infra.org/9326
Submitter: Vitaly Sedelnik <email address hidden>
Branch: openstack-ci/fuel-5.1.1-updates/2014.1.1

Commit: 20c23097ec1b5d7e124d37eefa6f53f4b7bb96c7
Author: Matt Riedemann <email address hidden>
Date: Tue Jul 14 15:01:37 2015

Return floating_ip['fixed_ip']['instance_uuid'] from neutronv2 API

The os-floating-ips extension translates the floating IP information
from the network API for the response but is only checking fields based
on what comes back from nova-network, which is using the FloatingIP
object. The neutronv2 API returns a different set of keys for the
instance/instance_uuid which the API extension doesn't handle and
therefore doesn't show the associated instance id for a given floating
IP.

The network APIs should return consistent data formats so this change
adds the expected key to fix the bug in the API extension (since the API
extensions shouldn't have to know the implementation details of the
network API, there are some extensions actually checking if it's the
neutron API and parsing the result set based on that).

This change will be used to backport the fix to the stable branches.

The longer term fix is to convert the neutronv2 get_floating_ip* API
methods to use nova objects which will be done as part of blueprint
kilo-objects in a separate change.

Conflicts:
     nova/tests/unit/network/test_neutronv2.py

Closes-Bug: #1420371

Change-Id: I01df2096ced51eb9ebfd994cf8397f2fa094f6e3

Revision history for this message
Vitaly Gusev (vgusev) wrote :

Cannot reproduce on 5.1.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.