[dvr] Routing fails after resetting compute nodes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mirantis OpenStack |
In Progress
|
High
|
Oleg Bondarev |
Bug Description
Detailed bug description:
There is no routing between two vms booted on different computes on different networks connnected with distributed router.
Steps to reproduce:
1. Deploy MOS 9.0 with 3 controllers, 2 computes, 1 cinder, with enabled DVR
2. Create net01, subnet net01__subnet for it
3. Create net02, subnet net02__subnet for it
4. Create router01 with type Distributed and connect it to external network
5. Add interfaces to the router01 with net01_subnet and net02_subnet
6. Boot vm_1 in the net01
7. Boot vm_2 in the net02 on different compute
8. Go to vm_1 and check ping vm_2
9. Reset computers on which vm_1 and vm_2 are
10. Wait some time while computers are resetting
11. Go to vm_2 and check ping vm_1
Expected results:
All steps should pass
Actual result:
There is no ping between vm_1 and vm_2 on last step (during about 15 minutes)
Reproducibility:
This test fails in more than 50% of cases
Description of the environment:
- Network model: VLAN+DVR, VxLAN+L2pop+DVR
- Version(from /api/v1/version) {"release": "9.0", "auth_required": true, "api": "1", "openstack_
- Build id: #420 and earliest
Additional information:
Both vm are pingable from compute with "ip net e qdhcp-<net-uuid> ping <vm fixed ip>". Also i can connect to both with ssh (with ip net ... too).
Ping doesn't work in any direction (from vm1 to vm2 and from vm2 to vm1).
All neutron agents are alive:
root@node-2:~# neutron agent-list
+------
| id | agent_type | host | availability_zone | alive | admin_state_up | binary |
+------
| 033176c1-
| 08ec3c1e-
| 17d5d009-
| 288d1be3-
| 33461df5-
| 39655594-
| 40fc1620-
| 475336e6-
| 4ff3ec23-
| 8b80dd41-
| 982edae5-
| c709c81d-
| ca6f4e89-
| e43da897-
| e80efd70-
| f44ca8bf-
| f75857f2-
| fd53543c-
+------
Router is in ACTIVE status:
root@node-2:~# neutron router-show a5658dd1-
+------
| Field | Value |
+------
| admin_state_up | True |
| availability_
| availability_zones | nova |
| description | |
| distributed | True |
| external_
| ha | False |
| id | a5658dd1-
| name | router01 |
| routes | |
| status | ACTIVE |
| tenant_id | aa717ab5c37640d
+------
Changed in mos: | |
status: | New → In Progress |
assignee: | nobody → Oleg Bondarev (obondarev) |
importance: | Undecided → High |
tags: | added: area-neutron |
tags: | added: acceptance-fail |
For some reason router-distributed port was reattached to OVS:
2016-05-31 11:45:09.503 5652 DEBUG neutron. agent.linux. async_process [-] Output received from [ovsdb-client monitor Interface name,ofport, external_ ids --format=json]: {"data" :[["f0a84715- d2fa-419f- 8944-bae9a466cf 6b","delete" ,"qr-5e420f53- c3",12, ["map", [["attached- mac","fa: 16:3e:ef: 6e:df"] ,["iface- id","5e420f53- c356-4977- 94fa-389db3f612 c7"],[" iface-status" ,"active" ]]]]]," headings" :["row" ,"action" ,"name" ,"ofport" ,"external_ ids"]} _read_stdout /usr/lib/ python2. 7/dist- packages/ neutron/ agent/linux/ async_process. py:236 agent.linux. async_process [-] Output received from [ovsdb-client monitor Interface name,ofport, external_ ids --format=json]: {"data" :[["7c6bd375- 2231-4e82- b230-3073919455 e5","insert" ,"qr-5e420f53- c3",["set" ,[]],[" map",[[ "attached- mac","fa: 16:3e:ef: 6e:df"] ,["iface- id","5e420f53- c356-4977- 94fa-389db3f612 c7"],[" iface-status" ,"active" ]]]]]," headings" :["row" ,"action" ,"name" ,"ofport" ,"external_ ids"]} _read_stdout /usr/lib/ python2. 7/dist- packages/ neutron/ agent/linux/ async_process. py:236 agent.linux. async_process [-] Output received from [ovsdb-client monitor Interface name,ofport, external_ ids --format=json]: {"data" :[["7c6bd375- 2231-4e82- b230-3073919455 e5","old" ,null,[ "set",[ ]],null] ,["","new" ,"qr-5e420f53- c3",4,[ "map",[ ["attached- mac","fa: 16:3e:ef: 6e:df"] ,["iface- id","5e420f53- c356-4977- 94fa-389db3f612 c7"],[" iface-status" ,"active" ]]]]]," headings" :["row" ,"action" ,"name" ,"ofport" ,"external_ ids"]}
2016-05-31 11:45:09.679 5652 DEBUG neutron.
2016-05-31 11:45:09.693 5652 DEBUG neutron.
Due to bug https:/ /bugs.launchpad .net/mos/ +bug/1577721 (which is waiting to be merged to stable/mitaka and then synced to MOS) the port was added and then deleted:
2016-05-31 11:45:19.884 5652 DEBUG neutron. plugins. ml2.drivers. openvswitch. agent.ovs_ neutron_ agent [req-9c4d2be4- 2b85-4275- 94ce-5a44bc5f99 e9 - - - - -] Starting to process devices in:{'current': set([u' 6154d8ea- 4c24-4219- afd7-01afef7a3c 26', u'f126806b- 9b7a-49f8- 8fab-d321cb8bd2 cd', u'1e0be70a- 9d69-4d2f- a1d3-bd2f7ea4d2 8c']), 'removed': set([u' 5e420f53- c356-4977- 94fa-389db3f612 c7']), 'added': set([u' 5e420f53- c356-4977- 94fa-389db3f612 c7', u'6154d8ea- 4c24-4219- afd7-01afef7a3c 26', u'1e0be70a- 9d69-4d2f- a1d3-bd2f7ea4d2 8c', u'f126806b- 9b7a-49f8- 8fab-d321cb8bd2 cd']), 'updated': set([u' 5e420f53- c356-4977- 94fa-389db3f612 c7'])}
...
Agent rpc_loop - iteration:1 completed. Processed ports statistics: {'regular': {'updated': 1, 'added': 1, 'removed': 1}}.
So this is duplicate of https:/ /bugs.launchpad .net/mos/ +bug/1577721. Please feel free to verify after https:/ /bugs.launchpad .net/mos/ +bug/1577721 is fixed