[openstack-dev] [neutron] [gate] 35% failure rate for neutron tempest jobs
Sean Dague
sean at dague.net
Tue Nov 10 19:11:45 UTC 2015
On 11/10/2015 01:37 PM, Armando M. wrote:
>
>
> On 10 November 2015 at 09:49, Sean Dague <sean at dague.net
> <mailto:sean at dague.net>> wrote:
>
> The neutron tempest jobs are now at a 35% failure rate:
> http://tinyurl.com/ne3ex4v (note, 35% is basically the worst possible
> fail rate, because it's just passing enough to land patches that cause
> that kind of fail on two test runs check/gate with a coin flip).
>
>
> Sean, thanks for the heads-up.
>
>
>
> The failure is currently seen here -
> http://logstash.openstack.org/#/dashboard/file/logstash.json?query=message:%5C%22No%20IPv4%20addresses%20found%20in:%20%5B%5D%5C%22
>
> That is a new assert that was added in Tempest. However it was added in
> a path that expects there should be an IPv4 address. The fact that port
> is sometimes not returning one is problematic.
> https://review.openstack.org/#/c/241800/
>
> The server via nova is returning an address here -
> http://logs.openstack.org/76/243676/1/check/gate-tempest-dsvm-neutron-full/291e1d7/logs/tempest.txt.gz#_2015-11-10_17_14_35_465
>
> But then when the port is polled here:
> http://logs.openstack.org/76/243676/1/check/gate-tempest-dsvm-neutron-full/291e1d7/logs/tempest.txt.gz#_2015-11-10_17_14_35_527
> it comes back with {"ports": []}
>
>
> This can be contrasted with a working path where we do the similar
> action on the Server is active here -
> http://logs.openstack.org/76/243676/1/check/gate-tempest-dsvm-neutron-full/291e1d7/logs/tempest.txt.gz#_2015-11-10_17_13_48_193
>
> Then we verify the port -
> http://logs.openstack.org/76/243676/1/check/gate-tempest-dsvm-neutron-full/291e1d7/logs/tempest.txt.gz#_2015-11-10_17_13_48_230
>
> Which returns:
>
> Body: {"ports": [{"status": "ACTIVE", "binding:host_id":
> "devstack-trusty-rax-dfw-5784820", "allowed_address_pairs": [],
> "extra_dhcp_opts": [], "dns_assignment": [{"hostname":
> "host-10-100-0-3", "ip_address": "10.100.0.3", "fqdn":
> "host-10-100-0-3.openstacklocal."}], "device_owner": "compute:None",
> "port_security_enabled": true, "binding:profile": {}, "fixed_ips":
> [{"subnet_id": "147b1e65-3463-4965-8461-11b76a00dd99", "ip_address":
> "10.100.0.3"}], "id": "65c11c76-42fc-4010-bbb8-58996911803e",
> "security_groups": ["f2d48dcf-ea8d-4a7c-bf09-da37d3c2ee37"],
> "device_id": "b03bec85-fe69-4c0d-94e8-51753a8bebd5", "name": "",
> "admin_state_up": true, "network_id":
> "eb72d3af-f1a0-410b-8085-76cbe19ace90", "dns_name": "",
> "binding:vif_details": {"port_filter": true, "ovs_hybrid_plug": true},
> "binding:vnic_type": "normal", "binding:vif_type": "ovs", "tenant_id":
> "eab50a3d331c4db3a68f71d1ebdc41bf", "mac_address":
> "fa:16:3e:02:e4:ee"}]}
>
>
> HenryG suggested this might be related to the ERROR of "No more IP
> addresses available on network". However that ERROR is thrown a lot in
> neutron, and 60% of the times the tempest run is successful.
>
>
> This issue is currently stuck and needs neutron folks to engage to get
> us somewhere. Reverting the tempest patch which does the early
> verification might make this class of fail go away, but I think what
> it's done is surface a more fundamental bit where ports aren't active
> when the server is active, which may explain deeper races we've had over
> the years. So actually getting folks to dive in here would be really
> great.
>
>
> We'll dig into this more deeply. AFAIK, Nova servers won't go ACTIVE if
> the port isn't, so we might have a regression. That said, it's been on
> our radar to better synchronize actions that need to happen on port
> setup. Right now for instance, DHCP and L2 setup is uncoordinated and
> Kevin Benton has been looking into it.
>
> That said, I wonder if reverting the tempest patch is the best course of
> action: we can then use Depends-on to test a Neutron fix and the revert
> of the revert together without causing the gate too much grief.
>
> Thoughts?
So, I just stared at the Tempest patch again, and honestly, reverting it
isn't going to help anything.
https://github.com/openstack/tempest/blob/a1edb75d7901a9e338ab397d208a40c99c5fd9a1/tempest/scenario/manager.py#L760-L765
Because a revert just removes the assert len != 0
The next line is an assert len == 1 (which has been there for a long time)
So a len 0 will fail there as well. Which probably points to this being
a neutron regression entirely, we'd still be failing with the empty
ports list, it would just be an incredibly cryptic error of "Found
multiple IPv4 addresses: []" (which actually means found 0 port addresses).
The reason the change was pushed in Tempest was to make the fail
condition more clear.
-Sean
--
Sean Dague
http://dague.net
More information about the OpenStack-dev
mailing list