I think it is the problem of inconsistent behavior between mysql DB and the in-memory cache in the nova scheduler.
The mysql Db doesn't support case-sensitive filtering, so the API layer can ensure the host existed. But there is in-memory cache build in the scheduler https://github.com/openstack/nova/blob/master/nova/scheduler/host_manager.py#L359, it becomes case-senstive for the key of a dict.
I think it is the problem of inconsistent behavior between mysql DB and the in-memory cache in the nova scheduler.
The mysql Db doesn't support case-sensitive filtering, so the API layer can ensure the host existed. But there is in-memory cache build in the scheduler https:/ /github. com/openstack/ nova/blob/ master/ nova/scheduler/ host_manager. py#L359, it becomes case-senstive for the key of a dict.