Comment 1 for bug 1798805

Revision history for this message
Matt Riedemann (mriedem) wrote : Re: Nova scheduler schedules VMs on nodes where nova-compute is down

When you say "Disable the nova-compute service on host compute001" do you mean using the disable API for the compute service, or simply stopping the nova-compute process on the host? If the latter, are you waiting for it's status to e 'down' in the nova service-list output?

And when you say "Power on VM001" what specifically are you doing? Issuing "nova start VM001"? Because starting a stopped VM does nothing with the scheduler.

I think the issue is that the API changes the task state on the server and then RPC casts to the compute service, which is down, and then the task_state is stuck. Since it's an RPC cast, we don't know if the compute is down or not when we make the cast, and the API isn't checking that every operation performed on a VM has the underlying compute service running (except delete, and any move operations).

You can reset the state via the nova reset-state CLI:

https://docs.openstack.org/python-novaclient/latest/cli/nova.html#nova-reset-state