native/idl ovsdb driver loses some ovsdb transactions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
networking-bgpvpn |
Fix Released
|
Undecided
|
Unassigned | ||
neutron |
Fix Released
|
Undecided
|
Terry Wilson |
Bug Description
It seems the 'native' and the 'vsctl' ovsdb drivers behave differently. The native/idl driver seems to lose some ovsdb transactions, at least the transactions setting the 'other_config' ovs port attribute.
I have written about this in a comment of an earlier bug report (https:/
It is not completely clear to me what difference this causes in user-observable behavior. I think it at least leads to losing information about which conntrack zone to use in the openvswitch firewall driver. See here:
The details:
If I use the vsctl ovsdb driver:
ml2_conf.ini:
[ovs]
ovsdb_interface = vsctl
then I see this:
$ > /opt/stack/
$ sudo ovs-vsctl list Port | grep other_config | grep -c net_uuid
1
$ openstack server create --flavor cirros256 --image cirros-
$ sudo ovs-vsctl list Port | grep other_config | grep -c net_uuid
2
$ openstack server delete vm0
$ sleep 3
$ sudo ovs-vsctl list Port | grep other_config | grep -c net_uuid
1
$ egrep -c 'Transaction caused no change' /opt/stack/
0
But if I use the (default) native driver:
ml2_conf.ini:
[ovs]
ovsdb_interface = native
Then this happens:
$ > /opt/stack/
$ sudo ovs-vsctl list Port | grep other_config | grep -c net_uuid
1
$ openstack server create --flavor cirros256 --image cirros-
$ sudo ovs-vsctl list Port | grep other_config | grep -c net_uuid
1
$ openstack server delete vm0
$ sleep 3
$ sudo ovs-vsctl list Port | grep other_config | grep -c net_uuid
1
$ egrep -c 'Transaction caused no change' /opt/stack/
22
A sample log message from q-agt.log:
2016-10-06 09:23:05.447 DEBUG neutron.
2016-10-06 09:23:05.448 DEBUG neutron.
devstack version: 563d377
neutron version: 3ade301
tags: | added: ovs-lib |
Changed in neutron: | |
assignee: | nobody → Terry Wilson (otherwiseguy) |
status: | New → In Progress |
Changed in bgpvpn: | |
status: | New → Fix Released |
tags: | added: neutron-proactive-backport-potential |
Transaction caused no change log message will never show up on vsctl because it is a native-only log message. So don't use that as a gauge of success when comparing. The caused no change message should only come back from the database when you are committing something that doesn't actually change the database.