ml2 ovs does not flush iptables switching to FW ovs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Low
|
Unassigned |
Bug Description
hi,
When switching fw engine from itables to openvswitch and restart the agent, the old iptables rules are not flushed. One has to clean that up by hand or reboot. This is not documented anywhere afaik and it gives very tricky issues that are hard to detect.
#### OVS with FW = openvswithc
# iptables -L | grep neutron
< returns nothing >
#### switching to FW = iptables and restart agent
# iptables -S | grep neutron
-N neutron-filter-top
-N neutron-
-N neutron-
-N neutron-
-N neutron-
-N neutron-
-N neutron-
-A INPUT -j neutron-
-A FORWARD -j neutron-filter-top
-A FORWARD -j neutron-
-A OUTPUT -j neutron-filter-top
-A OUTPUT -j neutron-
-A neutron-filter-top -j neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
#### swtiching back to FW = ovs and restarting the agent, the iptables rules are still there
# iptables -S | grep neutron
-N neutron-filter-top
-N neutron-
-N neutron-
-N neutron-
-N neutron-
-N neutron-
-N neutron-
-A INPUT -j neutron-
-A FORWARD -j neutron-filter-top
-A FORWARD -j neutron-
-A OUTPUT -j neutron-filter-top
-A OUTPUT -j neutron-
-A neutron-filter-top -j neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
########### Expected behavior #############
The agent should check what FW engine is used and check if there is something to clean up
i.e.
if config fw = ovs, check and clean up iptables
if config fw = iptabls, check and clean up ovs fw flows
Changed in neutron: | |
status: | New → Confirmed |
importance: | Undecided → Low |
I don't think that we should add such cleaning of something which could be made by different driver to the code. Maybe we should simply document that and make sure that operators are aware of such need of cleaning rules during the migration?