Reviewed: https://review.openstack.org/339873 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2bf72116701a2c7c02eab4a87f1e87616a0d6f6b Submitter: Jenkins Branch: master
commit 2bf72116701a2c7c02eab4a87f1e87616a0d6f6b Author: Kevin Benton <ke...@benton.pub> Date: Fri Jul 8 16:42:10 2016 -0700 Check for provisioning blocks before updating port up There is a race we need to check for where a port is created and then updated with binding information via another API shortly afterward that causes the bug referenced in this message. * The port is created and a DHCP provisioning block is added. * The DHCP agent finishes setting up the reservation and emits a message to clear the block. * The _port_provisioned callback in ML2 is triggered. * A port update comes in that binds the port and adds new blocks. * The _port_provisioned callback now does a get_port and sees that the port is bound so it assumes everything is done and the port can be marked ACTIVE. * The port is now ACTIVE before the L2 agent has had a chance to do its wiring and the VM boots. * The L2 agent requests the details and the port flaps back to BUILD. * The L2 agent finishes and clears the provisioning block a second time so the port goes back to ACTIVE. This will randomly cause failures because the VM is booting before the L2 agent is done and tempest may see the port in the BUILD state after the agent grabs port details. The fix is relatively simple. Just check for any new provisioning blocks added *after* doing a get_port in the _port_provisioned callback to make sure we don't update to ACTIVE if there are newly added blocks. Closes-Bug: #1600396 Change-Id: I14f41a5fda0707e8bba064c5cd952553686c30cd ** Changed in: neutron Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1600396 Title: AssertionError: 0 == 0 : No IPv4 addresses found on gate-tempest-dsvm- neutron-full Status in neutron: Fix Released Bug description: http://logs.openstack.org/60/337060/2/gate/gate-tempest-dsvm-neutron-full/6beb9d6/logs/ http://logs.openstack.org/64/336264/3/gate/gate-tempest-dsvm-neutron-full/c8b4462/logs/ http://logs.openstack.org/64/336264/3/gate/gate-tempest-dsvm-neutron-full/7768042/logs/ http://logs.openstack.org/41/334641/3/gate/gate-tempest-dsvm-neutron-full/8dbdf00/logs/ For instance: Traceback (most recent call last): File "tempest/test.py", line 106, in wrapper return f(self, *func_args, **func_kwargs) File "tempest/scenario/test_network_advanced_server_ops.py", line 135, in test_server_connectivity_pause_unpause server, keypair, floating_ip = self._setup_network_and_servers() File "tempest/scenario/test_network_advanced_server_ops.py", line 68, in _setup_network_and_servers floating_ip = self.create_floating_ip(server, public_network_id) File "tempest/scenario/manager.py", line 868, in create_floating_ip port_id, ip4 = self._get_server_port_id_and_ip4(thing) File "tempest/scenario/manager.py", line 847, in _get_server_port_id_and_ip4 "No IPv4 addresses found in: %s" % ports) File "/opt/stack/new/tempest/.tox/tempest/local/lib/python2.7/site-packages/unittest2/case.py", line 845, in assertNotEqual raise self.failureException(msg) AssertionError: 0 == 0 : No IPv4 addresses found in: [{u'device_owner': u'compute:None', u'binding:vif_type': u'ovs', u'status': u'BUILD', u'name': u'', u'binding:vif_details': {u'ovs_hybrid_plug': True, u'port_filter': True}, u'mac_address': u'fa:16:3e:4b:38:5d', u'updated_at': u'2016-07-05T12:35:22', u'binding:host_id': u'ubuntu-trusty-ovh-bhs1-2218654', u'device_id': u'd988986e-64bd-45c6-9863-5d56efb0fdf6', u'security_groups': [u'9701d305-ee33-4ed7-a598-dfe4829e6862'], u'port_security_enabled': True, u'extra_dhcp_opts': [], u'binding:profile': {}, u'description': u'', u'id': u'7be0c6ef-a535-400e-8a75-4d747b1fb494', u'admin_state_up': True, u'tenant_id': u'6752ff05a55a436f9ed0b38fe0ff37de', u'binding:vnic_type': u'normal', u'created_at': u'2016-07-05T12:35:17', u'network_id': u'5fee9c7d-2d3c-4281-81d7-e5d9240edf89', u'fixed_ips': [{u'ip_address': u'10.100.0.9', u'subnet_id': u'8dc61ef8-39fa-44b3-bed6-7f9b78746c31'}], u'allowed_address_pairs': []}] To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1600396/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp