uninitialized local variable ‘sibling_set’ referenced before assignment.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
The code is using a variable which can be not defined if sibling_sets (plural) is empty.
# NOTE(sfinucan): If siblings weren't available and we're using PREFER
# (implicitly or explicitly), fall back to linear assignment across
# cores
if (instance_
not pinning):
pinning = list(zip(
So far the only path I could see to be in a situation where sibling_sets is empty at this step would be if two instances get scheduled "in same time" in the same host where we could consider that all the checks to ensure that the host cell provides enough cpus to handle the request have been accepted.
Even if that could happen only in such circumstance which should fix the issue.
[0] https:/
Changed in nova: | |
assignee: | nobody → sahid (sahid-ferdjaoui) |
Changed in nova: | |
status: | New → In Progress |
Seeing this repeatedly in logs:
Traceback (most recent call last):\n', u' File "/usr/lib/ python2. 7/site- packages/ nova/compute/ manager. py", line 1783, in _do_build_ and_run_ instance\ n filter_ properties) \n', u' File "/usr/lib/ python2. 7/site- packages/ nova/compute/ manager. py", line 1981, in _build_ and_run_ instance\ n instance_ uuid=instance. uuid, reason= six.text_ type(e) )\n', u"RescheduledEx ception: Build of instance a0f8fa09- d0dc-4652- 883c-f8b533fc3a ec was re-scheduled: local variable 'sibling_set' referenced before assignment\n