On 11/06/2015 03:47 AM, Tang Chen wrote:

On 11/06/2015 12:45 PM, Chris Friesen wrote:

To me, the external API would make more sense as:

1) resize

2) migrate (with option of cold or live, and with option to specify a
destination, and with option to override the scheduler if the specified
destination doesn't pass filters)

OK. Conceptually speaking, only one case that resize could reuse migration code:
the current host cannot match the resize condition.

It's not quite that simple. Generally speaking, in both cases the scheduler picks a new host, we stop the guest and maybe move the rootfs files around then restart the guest, and handle all the resource tracking along the way. The difference is that resize starts the guest with a different flavor and doesn't necessarily need to move to a different host (though by default it will).

So there really is quite a bit of overlap in what needs to happen internally...but I don't think that overlap should extend to the external API because it's not obvious to the end-user.

So I don't think resize should be one type of migration.

May I understand it like this:  what we are talking about here is a 3-level
conception.

user API            nova service         driver
migrate             live-migration       o ff compute node storage—shared file 
system
resize              cold-migration       o n compute node  storage—shared file 
system
rebuild                                  o n compute node storage—nonshared 
file system
evacuate

Actually, rebuild/evacuate share an underlying nova code path in much the same way that resize/cold-migrate share a code path. What nova calls evacuate is basically "rebuild with the same image to a different host".

Chris

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to