test_api_extension_validation_with_good_dns_names fails with 500 error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Critical
|
Kevin Benton |
Bug Description
The trace:
ft296.52: neutron.
pythonlogging:''
stdout
stderr: {{{
/home/jenkins/
return pkg_resources.
}}}
Traceback (most recent call last):
File "/home/
self.
File "/home/
self.
File "/home/
raise mismatch_error
testtools.
A few instances:
http://
http://
Logstash:
Changed in neutron: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
tags: | added: dns gate-failure |
Changed in neutron: | |
assignee: | nobody → Miguel Lavalle (minsel) |
tags: | added: l3-ipam-dhcp |
tags: | added: neutron-proactive-backport-potential |
tags: | removed: neutron-proactive-backport-potential |
I don't have a root cause yet. I'm just making a check point here to show what I've been looking at. I don't think this has anything to do with DNS. More likely, it has to do with the new mac address duplicate detection [1]. But, I don't know the root cause yet.
This new mac address duplicate detection relies on retries if there is a race to get the same mac. The stack trace in [2] goes right through the _create method in api/v2/base.py [3] which is annotated with db_api. retry_db_ errors [4]. So, presumably, this is trying 10 times and failing with duplicate macs each time. If this is true, this smells of problem with random because that is just not likely enough to ever happen in anyone's lifetime with a half-decent random generator. But, we should check more in to these assumptions.
I have a vague memory of having to deal with seeding the random generator after forking a process to deal with a problem like this. I thought I had fixed something but I can't find it. It might have been a problem that was local to the old HP cloud. Are there multiple API processes involved?
[1] https:/ /review. openstack. org/#/c/ 327413 paste.openstack .org/show/ 520931/ /github. com/openstack/ neutron/ blob/7245b172b0 /neutron/ api/v2/ base.py# L535 /github. com/openstack/ neutron/ blob/7245b172b0 /neutron/ api/v2/ base.py# L426
[2] http://
[3] https:/
[4] https:/