[Openstack] Host Evacuation support in IceHouse for KVM

Chris Friesen chris.friesen at windriver.com
Wed Jul 2 14:03:44 UTC 2014


On 07/01/2014 01:30 PM, Ashish Billore1 wrote:
> Hello Everyone,
>
> I am looking for evacuation support in openstack.
>
>  From what I could find, there are following two commands:
>
> 1. nova evacuate evacuated_server_name host_b --on-shared-storage
>
> 2. nova host-evacuate command
>
> However, both seem to have some downtime.

Yes, both of these are intended to deal after the fact with a host that 
is no longer accessible over the network.  If the host is still 
accessible then evacuate is not the appropriate operation.


> What I looking for is something like:
>
> 1. Host is put in a state, like maintenance mode, so that no new VMs are
> provisioned on it.
>
> 2. Do a live migration from this source host to any host chosen by the
> scheduler.
>
> This way, there won't be a downtime for the VMs and the host can be
> removed / brought down for maintenance.
>
> Apparently, "nova host-update" --maintenance provides the functionality
> I am looking for, however, it is only supported for Xen and
> unimplemented for KVM due to libvirt limitation.
>
> Is there a way to work it around for KVM ..?


There is nothing built-in (though I'd be in favour of adding something). 
  You can script it externally as follows:

1) Run "nova service-disable...." to disable the nova-compute service on 
the host in question.  This will prevent the scheduler from placing new 
instances onto the host.

2) Loop over all the instances that are on the host in question, and 
trigger live migration for each of them in turn.  If one of the 
migration fails, you might want to re-enable the service or else leave 
it down and flag it for someone to look at.

Chris




More information about the Openstack mailing list