On 02/20/2014 11:38 AM, Matt Riedemann wrote:
On 2/19/2014 4:05 PM, Matt Riedemann wrote:
The os-hosts OS API extension [1] showed up before I was working on the
project and I see that only the VMware and XenAPI drivers implement it,
but was wondering why the libvirt driver doesn't - either no one wants
it, or there is some technical reason behind not implementing it for
that driver?
[1]
http://docs.openstack.org/api/openstack-compute/2/content/PUT_os-hosts-v2_updateHost_v2__tenant_id__os-hosts__host_name__ext-os-hosts.html
By the way, am I missing something when I think that this extension is
already covered if you're:
1. Looking to get the node out of the scheduling loop, you can just
disable it with os-services/disable?
2. Looking to evacuate instances off a failed host (or one that's in
"maintenance mode"), just use the evacuate server action.
In compute/api.py the API.evacuate() routine errors out if
self.servicegroup_api.service_is_up(service) is true, which means that
you can't evacuate from a compute node that is "disabled", you need to
migrate instead.
So, the alternative is basically to disable the service, then get a list
of all the servers on the compute host, then kick off the migration
(either cold or live) of each of the servers. Then because migration
uses a "cast" instead of a "call" you need to poll all the migrations
for success or late failures. Once you have no failed migrations and no
servers running on the host then you're good.
Chris
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev