[Kimchi-devel] [RFC] UI - Live migration UI design

Daniel Henrique Barboza dhbarboza82 at gmail.com
Mon Nov 16 12:43:17 UTC 2015



On 11/13/2015 12:23 PM, Walter Niklaus wrote:
>
>
> On 13.11.2015 14:09, Daniel Henrique Barboza wrote:
>> Hi,
>>
>> The backend for this feature is almost completed and the API is 
>> defined, so let's
>> talk about the UI.
>>
>> This is the API (note: the upstream version is outdated, will be 
>> updated in an
>> incoming patch):
>>
>> **URI:** /plugins/kimchi/vms/*:name*
>>
>> * **POST**: *See Virtual Machine Actions*
>>
>> **Actions (POST):**
>>
>> * migrate: Migrate a virtual machine to a remote server, only support 
>> live
>> mode without block migration.
>>     * remote_host: IP address or hostname of the remote server.
>>     * user *(optional)*: User to log on at the remote server.
>>     * password *(optional)*: password of the user in the remote server
>>
>>
>> This API will return a task ID for the UI to track its progress, 
>> pretty much
>> like it is done with the 'clone' feature.
>>
>> This is how I imagine the UI:
>>
>> - a button called "migrate" at the same submenu as clone VM.
>>
>> - when pressed, a new window appears with the following content:
>>
>> --------
>> "Disclaimer: this process cannot be stopped after started, can take a 
>> long time
>> to complete and will turn off this current VM when it is over."
> I would propose to change the wording: will turn off this current VM 
> when it is over.   into something like:    will turn off the VM on 
> this Hypervisor when it is sucessfully migrated to the remote 
> destination.
Fine by me!

> Sorry, but I don't remember if we allow static migration as well ? If 
> we do, then we may have to display a different text for the static 
> migration.

The static migration (non shared storage migration) are waiting review 
in the ML. It'll be upstream
soon.

The post-migration behavior is the same from the shared storage 
migration, so I don't believe
we'll need two different texts in this scenario.
>
>>
>> * textfield to input the remote_server, name "remote server"
>>
>> * checkbox with text: "Delete this VM when the migration is completed"
>>
> Typically the VM definition, and I guess this is what the checkbox is 
> reffering to, is migrated to the remote host as well in order to allow 
> full management of this VM on the remote host (like changing its 
> configuration). I'm aware that we are not doing such actions in this 
> first release. 
Actually we are. If the VM is persistent (= has a configuration file 
inside libvirt) it will have a configuration
file in the destination host and it will, or it should be, fully 
manageable on the remote host as if it was
a VM created there.


> However migrating the VM definition has a sideeffect we may want to 
> consider in this scope:  it makes sure that you can not have multiple 
> instances of the VM running on different hosts. This aspect is 
> releveant only if starting the VM multiple times is causing a conflict 
> on a resource like: the same SCSI disk as boot device.
> I'm wondering that if the user doesn't select the above checkbox we 
> should put out a warning like:  "Restarting the VM locally may cause 
> resource conflicts with the migrated instance"
Hmmmm that's a fair point. I believe we can add this warning text as well.


>>
>> Text: "The following fields are optional. Fill them if you want 
>> Kimchi to
>> setup a password-less ssh session between the localhost and the
>> remote host. The setup process will only be successful if the user
>> has 'SUDO ALL' permission in the remote machine"
>>
>> * textfield to input the username of the remote host
>> * password field to input the password of the user in the remote host
>>
>> * "Cancel" and "Start" buttons at the bottom
>>
>> -------------
>>
>>
>> This is the workflow/behavior I would expect of it:
>>
>> - clicking "Cancel" at any time will dismiss the window and nothing 
>> happens;
>>
>> - clicking "Start" without remote_host field will issue an error 
>> "remote host field
>> cannot be blank" or something like that
>>
>> - clicking "Start" with a remote host field will start the process
>>
>> - clicking "Start" with remote host and only one of the user or 
>> password filled
>> will raise an error "both user and password fields must be filled".
>>
>> - if, **and only if **,  the user checks the checkbox "Delete VM 
>> ....", the UI will
>> delete the VM after the migration process is completed by using the 
>> proper API
>> (I believe it is DELETE /vms/name).
>>
>>
>> This is all I have for the UI for this feature ATM. I'll update this 
>> RFC if required.
>>
>>
>> Please provide comments and suggestions. The final backend for this 
>> feature
>> will be submitted to the ML at the start of the next week.
>>
>>
>> Let me know if there's any doubts about how Kimchi's live migration 
>> backend
>> works.
>>
>>
>>
>> Daniel
>>
>> _______________________________________________
>> Kimchi-devel mailing list
>> Kimchi-devel at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>>
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel




More information about the Kimchi-devel mailing list