So, now evacuate, live-migrate and unshelve are using the existing RequestSpec.
Given that evacuate and live-migrate permit to give a destination in the API, it means that it's not a problem for those actions because when using a destination, it doesn't call the scheduler.
That said, unshelve doesn't ask for a destination so it means that the scheduler would then provide only the original forced host as a destination for unshelving, which could be a problem.
So, now evacuate, live-migrate and unshelve are using the existing RequestSpec.
Given that evacuate and live-migrate permit to give a destination in the API, it means that it's not a problem for those actions because when using a destination, it doesn't call the scheduler.
That said, unshelve doesn't ask for a destination so it means that the scheduler would then provide only the original forced host as a destination for unshelving, which could be a problem.
I'm working on a patch for fixing all of that.