Wrong ovs flow after destroying controller
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mirantis OpenStack |
Won't Fix
|
Undecided
|
Oleg Bondarev |
Bug Description
After destroying controller connectivity to external net was lost
Steps:
1) Create net1, subnet1
2) Create distributed router, add gateway and interface to the subnet1
3) Boot vm1 in net1
4) Find controller with snat
5) Destroy controller with snat
5) Wait some time
6) Check ping 8.8.8.8 from vm
Expected result: ping 8.8.8.8 is available
Current result: ping isn't available
This issue was seen only once
find on:
VERSION:
feature_groups:
- mirantis
production: "docker"
release: "8.0"
api: "1.0"
build_number: "429"
build_id: "429"
fuel-nailgun_sha: "12b15b2351e250
python-
fuel-agent_sha: "df16d41cd7a944
fuel-
astute_sha: "c7ca63a4921674
fuel-library_sha: "3eaf4f4a9b88b2
fuel-ostf_sha: "214e794835acc7
fuel-mirror_sha: "b62f3cce5321fd
fuelmenu_sha: "85de57080a18fd
shotgun_sha: "63645dea384a37
network-
fuel-upgrade_sha: "616a7490ec7199
fuelmain_sha: "e8e36cff332644
We found that some ovs flows on br-int had wrong output port: flows for SNAT ports in particular. Further investigation (logs inspection) showed that this happened due to rpc connectivity problems:
- router was constantly rescheduled from one blinking agent to another
- this led to snat port being plugged and unplugged
- one of such unplugs went unnoticed for the agent - there are some issues in ovs agent resync mechanism which made this happen
- when snat port was plugged back agent had in in cache and did not update ovs flows for the port
- ovs flows had outdated output ports