Comment 6 for bug 1808171

Revision history for this message
sean mooney (sean-k-mooney) wrote :

i think it is related but not the way you are implying.
i think the os-vif change is triggeing a latent bug in the l2 agent

if you read my latest comment on patchset 3 at 12:17AM
here https://review.openstack.org/#/c/602432/3

i am seeing another instance o this issue where we have a similar warning
http://logs.openstack.org/32/602432/3/check/tempest-full/4b76af0/controller/logs/screen-q-agt.txt.gz#_Jan_16_21_35_54_811041
but the port name is incorrect.

the ovsdb monitor first detect teh port as inserted into the ovs db here
http://logs.openstack.org/32/602432/3/check/tempest-full/4b76af0/controller/logs/screen-q-agt.txt.gz#_Jan_16_21_35_54_775597

then the action chagnes to new
http://logs.openstack.org/32/602432/3/check/tempest-full/4b76af0/controller/logs/screen-q-agt.txt.gz#_Jan_16_21_35_54_776433

then here it is somehow listed as a current, added and updated port simultaneously.

the interface associated with the neutron port tapb3d5de79-21 is the first one returned in the list interfaces command here:
http://logs.openstack.org/32/602432/3/check/tempest-full/4b76af0/controller/logs/screen-q-agt.txt.gz#_Jan_16_21_35_54_809441

but without running any other list command the neutron agent say it is not present on the br-int
sortly after here
http://logs.openstack.org/32/602432/3/check/tempest-full/4b76af0/controller/logs/screen-q-agt.txt.gz#_Jan_16_21_35_54_815358

and then the agent chooes to skip the port and set it to down here
http://logs.openstack.org/32/602432/3/check/tempest-full/4b76af0/controller/logs/screen-q-agt.txt.gz#_Jan_16_21_35_55_052196

i have not step though the code on the neutron side to confim but the logs look very suspious to me.

i think the error is likel related to this event
http://logs.openstack.org/32/602432/3/check/tempest-full/4b76af0/controller/logs/screen-q-agt.txt.gz#_Jan_16_21_35_54_806738
where the port is in the 3 sets (current,added updated) simultaiously.

this message is logged from here
https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L2191

it looks like the port_info object is set here as part of the return of self.process_port_info

https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L2166

but its actully built by this fuction
https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L1337

i have not really spent enough time to trace this properly so this may be unrelated but
the logs feel wrong to me.