update host_routes of a subnet returns old information in metaplugin

Bug #1080550 reported by Itsuro Oda
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Expired
Low
Unassigned

Bug Description

Not always. I can't find the reproduce condition. (may be sqlalchemy magic ?)
This is an example log which the bug occur.
---
$ quantum subnet-show sub1
+------------------+----------------------------------------------------------+
| Field | Value |
+------------------+----------------------------------------------------------+
| allocation_pools | {"start": "10.0.0.2", "end": "10.0.0.254"} |
| cidr | 10.0.0.0/24 |
| dns_nameservers | 10.0.0.20 |
| enable_dhcp | True |
| gateway_ip | 10.0.0.1 |
| host | IPA-3 |
| host_routes | {"destination": "10.0.10.0/24", "nexthop": "10.0.0.200"} |
| | {"destination": "10.0.20.0/24", "nexthop": "10.0.0.200"} |
| id | 65f1f1a6-a615-48a1-9c4e-cc4e813aacb9 |
| ip_version | 4 |
| name | sub1 |
| network_id | 4d0ef4da-f7d1-45a8-8c22-e284264d9145 |
| tenant_id | c34402ac0852467083d496e5d9ed15cc |
+------------------+----------------------------------------------------------+

### update one of nexthop to 10.0.0.250
### but the infomation remain old in the response body
$ curl -v http://172.17.190.3:9696/v2.0/subnets/65f1f1a6-a615-48a1-9c4e-cc4e813aacb9.json -X PUT -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'X-Auth-Token: 59fbde0bec104a8fb4e92765f0beff8c' -d '{"subnet": {"host_routes": [{"nexthop": "10.0.0.250", "destination": "10.0.10.0/24"}, {"nexthop": "10.0.0.200", "destination": "10.0.20.0/24"}]}}'
* About to connect() to 172.17.190.3 port 9696 (#0)
* Trying 172.17.190.3... connected
> PUT /v2.0/subnets/65f1f1a6-a615-48a1-9c4e-cc4e813aacb9.json HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: 172.17.190.3:9696
> Content-Type: application/json
> Accept: application/json
> X-Auth-Token: 59fbde0bec104a8fb4e92765f0beff8c
> Content-Length: 145
>
* upload completely sent off: 145out of 145 bytes
< HTTP/1.1 200 OK
< Content-Type: application/json
< Content-Length: 514
< Date: Mon, 19 Nov 2012 04:37:17 GMT
<
* Connection #0 to host 172.17.190.3 left intact
* Closing connection #0
{"subnet": {"name": "sub1", "enable_dhcp": true, "network_id": "4d0ef4da-f7d1-45a8-8c22-e284264d9145", "tenant_id": "c34402ac0852467083d496e5d9ed15cc", "dns_nameservers": ["10.0.0.20"], "allocation_pools": [{"start": "10.0.0.2", "end": "10.0.0.254"}], "host": "IPA-3", "host_routes": [{"nexthop": "10.0.0.200", "destination": "10.0.10.0/24"}, {"nexthop": "10.0.0.200", "destination": "10.0.20.0/24"}], "ip_version": 4, "gateway_ip": "10.0.0.1", "cidr": "10.0.0.0/24", "id": "65f1f1a6-a615-48a1-9c4e-cc4e813aacb9"}}

### it is OK, when show after update.
###
$ quantum subnet-show sub1
+------------------+----------------------------------------------------------+
| Field | Value |
+------------------+----------------------------------------------------------+
| allocation_pools | {"start": "10.0.0.2", "end": "10.0.0.254"} |
| cidr | 10.0.0.0/24 |
| dns_nameservers | 10.0.0.20 |
| enable_dhcp | True |
| gateway_ip | 10.0.0.1 |
| host | IPA-3 |
| host_routes | {"destination": "10.0.10.0/24", "nexthop": "10.0.0.250"} |
| | {"destination": "10.0.20.0/24", "nexthop": "10.0.0.200"} |
| id | 65f1f1a6-a615-48a1-9c4e-cc4e813aacb9 |
| ip_version | 4 |
| name | sub1 |
| network_id | 4d0ef4da-f7d1-45a8-8c22-e284264d9145 |
| tenant_id | c34402ac0852467083d496e5d9ed15cc |
+------------------+----------------------------------------------------------+

Tags: meta
Revision history for this message
Gary Kotton (garyk) wrote :

Hi,
I am unable to reproduce this.
Questions:
1. Which plugin are you using?
2. Can you please try this with the CLI commands and let me know if you can reproduce:
For example "quantum subnet-update 032be573-29f4-4aee-b09d-fb4a87b79444 --host_routes list=true type=dict destination=2.0.0.0/24,nexthop=2.1.1.1 destination=4.0.0.0/24,nexthop=3.1.1.1"
Thanks
Gary

Changed in quantum:
status: New → Incomplete
Revision history for this message
Itsuro Oda (oda-g) wrote :

I used metaplugin.

I can't reproduce with openvswitch plugin while it is easy to reproduce with metaplugin....

I will ask to a metaplugin expert.

Thanks.

Revision history for this message
Gary Kotton (garyk) wrote :

Hi,
Nachi, this seems to be related to the metaplugin. I have assigned to you.
Thanks
Gary

Changed in quantum:
assignee: nobody → Nachi Ueno (nati-ueno)
Gary Kotton (garyk)
Changed in quantum:
status: Incomplete → Confirmed
Akihiro Motoki (amotoki)
summary: - update host_routes of a subnet returns old information
+ update host_routes of a subnet returns old information in metaplugin
Gary Kotton (garyk)
Changed in quantum:
importance: Undecided → Low
tags: added: metaplugin
Akihiro Motoki (amotoki)
tags: added: meta
removed: metaplugin
Changed in quantum:
assignee: Nachi Ueno (nati-ueno) → Jason Zhang (zzs)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to quantum (master)

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

Nachi Ueno (nati-ueno)
Changed in quantum:
milestone: none → havana-1
Changed in quantum:
milestone: havana-1 → none
Revision history for this message
Cedric Brandily (cbrandily) wrote :

This bug is > 365 days without activity. We are unsetting assignee and milestone and setting status to Incomplete in order to allow its expiry in 60 days.

If the bug is still valid, then update the bug status.

Changed in neutron:
assignee: Jason (zzs) → nobody
status: In Progress → Incomplete
Revision history for this message
Itsuro Oda (oda-g) wrote :

I (reporter) think it was metaplugin specific, and metaplugin was removed already. Please close this bug.

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

[Expired for neutron because there has been no activity for 60 days.]

Changed in neutron:
status: Incomplete → Expired
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.