Comment 1 for bug 1594796

Revision history for this message
Carl Baldwin (carl-baldwin) wrote :

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
[2] http://paste.openstack.org/show/520931/
[3] https://github.com/openstack/neutron/blob/7245b172b0/neutron/api/v2/base.py#L535
[4] https://github.com/openstack/neutron/blob/7245b172b0/neutron/api/v2/base.py#L426