_move_operation_alloc_request fails with TypeError when using 1.12 version allocation request
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Low
|
Unassigned |
Bug Description
Seen here in the alternate hosts series:
2017-12-19 00:18:34.585930 | ubuntu-xenial | Traceback (most recent call last):
2017-12-19 00:18:34.585992 | ubuntu-xenial | File "/home/
2017-12-19 00:18:34.586021 | ubuntu-xenial | res = self.dispatcher
2017-12-19 00:18:34.586082 | ubuntu-xenial | File "/home/
2017-12-19 00:18:34.586114 | ubuntu-xenial | return self._do_
2017-12-19 00:18:34.586179 | ubuntu-xenial | File "/home/
2017-12-19 00:18:34.586207 | ubuntu-xenial | result = func(ctxt, **new_args)
2017-12-19 00:18:34.586241 | ubuntu-xenial | File "nova/conductor
2017-12-19 00:18:34.586267 | ubuntu-xenial | host.allocation
2017-12-19 00:18:34.586300 | ubuntu-xenial | File "nova/scheduler
2017-12-19 00:18:34.586335 | ubuntu-xenial | user_id, allocation_
2017-12-19 00:18:34.586370 | ubuntu-xenial | File "nova/scheduler
2017-12-19 00:18:34.586402 | ubuntu-xenial | return getattr(
2017-12-19 00:18:34.586435 | ubuntu-xenial | File "nova/scheduler
2017-12-19 00:18:34.586459 | ubuntu-xenial | return f(self, *a, **k)
2017-12-19 00:18:34.586493 | ubuntu-xenial | File "nova/scheduler
2017-12-19 00:18:34.586516 | ubuntu-xenial | return f(self, *a, **k)
2017-12-19 00:18:34.586552 | ubuntu-xenial | File "nova/scheduler
2017-12-19 00:18:34.586586 | ubuntu-xenial | payload = _move_operation
2017-12-19 00:18:34.586625 | ubuntu-xenial | File "nova/scheduler
2017-12-19 00:18:34.586657 | ubuntu-xenial | for a in dest_alloc_
2017-12-19 00:18:34.586685 | ubuntu-xenial | TypeError: string indices must be integers
This is due to using a 1.12 version allocation candidate request bug _move_operation
I don't know if we should change the calling code to format the allocation request to the <1.12 format, or make _move_operation
Changed in nova: | |
status: | New → Triaged |
importance: | Undecided → High |
This *may* be fixed here:
https:/ /review. openstack. org/#/c/ 511358/ 43..44/ nova/conductor/ manager. py@607
The Selection object stores the request as a JSON-encoded blob, and we were passing it directly. The change above now decodes it back to a dict.