← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1578523] [NEW] Floating IP updating procedure is inaccurate

 

Public bug reported:

Two ways to reproduce the bug:
1. Update floating IP that already associated to a (same) port
step 1: Associate
neutron --debug floatingip-associate cd3b0496-bd2e-48a8-8706-48d4c4d85c44 303af774-b12f-462e-a38a-1c616b6cc335

step 2: Update floating IP with same port_id again
curl -g -i -X PUT http://controller:9696/v2.0/floatingips/cd3b0496-bd2e-48a8-8706-48d4c4d85c44.json -H \
"User-Agent: python-neutronclient" -H "Content-Type: application/json" -H "Accept: application/json" \
-H "X-Auth-Token: 531460c39c1744d1b5b83b6f20fc74a2" -d '{"floatingip": {"port_id": "303af774-b12f-462e-a38a-1c616b6cc335"}}'

{"NeutronError": {"message": "Cannot associate floating IP 172.16.5.145
(cd3b0496-bd2e-48a8-8706-48d4c4d85c44) with port 303af774-b12f-462e-
a38a-1c616b6cc335 using fixed IP 192.168.111.48, as that fixed IP
already has a floating IP on external network
2cad629d-e523-4b83-90b9-c0cc0ba1250d.", "type":
"FloatingIPPortAlreadyAssociated", "detail": ""}}

This is inaccurate that floating IP has nothing changed but we get an
NeutronError.


2. Update floating IP extra attributes will unexpectedly disassociate it
step 1: Associate
neutron --debug floatingip-associate cd3b0496-bd2e-48a8-8706-48d4c4d85c44 303af774-b12f-462e-a38a-1c616b6cc335

step 2: Update floating IP description
curl -g -i -X PUT http://controller:9696/v2.0/floatingips/cd3b0496-bd2e-48a8-8706-48d4c4d85c44.json -H \
"User-Agent: python-neutronclient" -H "Content-Type: application/json" -H "Accept: application/json" \
-H "X-Auth-Token: 531460c39c1744d1b5b83b6f20fc74a2" -d '{"floatingip": {"description": "303af774-b12f-462e-a38a-1c616b6cc335"}}'

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 416
X-Openstack-Request-Id: req-6c3bbbc6-9218-41d2-9a95-32bf44e0d145
Date: Thu, 05 May 2016 06:27:07 GMT

{"floatingip": {"router_id": null, "status": "ACTIVE", "description":
"303af774-b12f-462e-a38a-1c616b6cc335", "dns_domain": "",
"floating_network_id": "2cad629d-e523-4b83-90b9-c0cc0ba1250d",
"fixed_ip_address": null, "floating_ip_address": "172.16.5.145",
"port_id": null, "id": "cd3b0496-bd2e-48a8-8706-48d4c4d85c44",
"tenant_id": "5ff1da9c235c4ebcaefeecf3fff7eb11", "dns_name": ""}}

Port_id is None, it means that the floating IP is disassociated from the
port 303af774-b12f-462e-a38a-1c616b6cc335. This is totally incorrect.

** Affects: neutron
     Importance: Undecided
     Assignee: LIU Yulong (dragon889)
         Status: In Progress

** Changed in: neutron
     Assignee: (unassigned) => LIU Yulong (dragon889)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1578523

Title:
  Floating IP updating procedure is inaccurate

Status in neutron:
  In Progress

Bug description:
  Two ways to reproduce the bug:
  1. Update floating IP that already associated to a (same) port
  step 1: Associate
  neutron --debug floatingip-associate cd3b0496-bd2e-48a8-8706-48d4c4d85c44 303af774-b12f-462e-a38a-1c616b6cc335

  step 2: Update floating IP with same port_id again
  curl -g -i -X PUT http://controller:9696/v2.0/floatingips/cd3b0496-bd2e-48a8-8706-48d4c4d85c44.json -H \
  "User-Agent: python-neutronclient" -H "Content-Type: application/json" -H "Accept: application/json" \
  -H "X-Auth-Token: 531460c39c1744d1b5b83b6f20fc74a2" -d '{"floatingip": {"port_id": "303af774-b12f-462e-a38a-1c616b6cc335"}}'

  {"NeutronError": {"message": "Cannot associate floating IP
  172.16.5.145 (cd3b0496-bd2e-48a8-8706-48d4c4d85c44) with port 303af774
  -b12f-462e-a38a-1c616b6cc335 using fixed IP 192.168.111.48, as that
  fixed IP already has a floating IP on external network
  2cad629d-e523-4b83-90b9-c0cc0ba1250d.", "type":
  "FloatingIPPortAlreadyAssociated", "detail": ""}}

  This is inaccurate that floating IP has nothing changed but we get an
  NeutronError.

  
  2. Update floating IP extra attributes will unexpectedly disassociate it
  step 1: Associate
  neutron --debug floatingip-associate cd3b0496-bd2e-48a8-8706-48d4c4d85c44 303af774-b12f-462e-a38a-1c616b6cc335

  step 2: Update floating IP description
  curl -g -i -X PUT http://controller:9696/v2.0/floatingips/cd3b0496-bd2e-48a8-8706-48d4c4d85c44.json -H \
  "User-Agent: python-neutronclient" -H "Content-Type: application/json" -H "Accept: application/json" \
  -H "X-Auth-Token: 531460c39c1744d1b5b83b6f20fc74a2" -d '{"floatingip": {"description": "303af774-b12f-462e-a38a-1c616b6cc335"}}'

  HTTP/1.1 200 OK
  Content-Type: application/json; charset=UTF-8
  Content-Length: 416
  X-Openstack-Request-Id: req-6c3bbbc6-9218-41d2-9a95-32bf44e0d145
  Date: Thu, 05 May 2016 06:27:07 GMT

  {"floatingip": {"router_id": null, "status": "ACTIVE", "description":
  "303af774-b12f-462e-a38a-1c616b6cc335", "dns_domain": "",
  "floating_network_id": "2cad629d-e523-4b83-90b9-c0cc0ba1250d",
  "fixed_ip_address": null, "floating_ip_address": "172.16.5.145",
  "port_id": null, "id": "cd3b0496-bd2e-48a8-8706-48d4c4d85c44",
  "tenant_id": "5ff1da9c235c4ebcaefeecf3fff7eb11", "dns_name": ""}}

  Port_id is None, it means that the floating IP is disassociated from
  the port 303af774-b12f-462e-a38a-1c616b6cc335. This is totally
  incorrect.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1578523/+subscriptions


Follow ups