I'm not sure about how the system defines a failed compute. The scenario I've tested is: 1. stopped the services openstack-nova-compute or libvirtd 2. tried to evacuate an instance With both options the system response to the evacuation was: ERROR: Compute service of <host name> is still in use. Eoghan, How can I change the status of the Compute?
Please ensure the openstack-nova-api service is stopped
After discussing on IRC, the conclusion is: * nova-api service should not be shut down, as the POST /v2/{tenant_id}/servers/{server_id}/evacate call must be mediated by the service for each VM on the old node * shutting down nova-compute service should suffice, but in realistic example reproducing this issue, the entire compute node was powered-down
verified on RHEL 7, Nova version: openstack-nova-common-2014.1.4-3.el7ost.noarch openstack-nova-novncproxy-2014.1.4-3.el7ost.noarch python-novaclient-2.17.0-4.el7ost.noarch openstack-nova-console-2014.1.4-3.el7ost.noarch openstack-nova-conductor-2014.1.4-3.el7ost.noarch openstack-nova-cert-2014.1.4-3.el7ost.noarch python-nova-2014.1.4-3.el7ost.noarch openstack-nova-compute-2014.1.4-3.el7ost.noarch openstack-nova-api-2014.1.4-3.el7ost.noarch openstack-nova-scheduler-2014.1.4-3.el7ost.noarch
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0843.html