[Kimchi-devel] [PATCH V2] Guest disk hot plug UI

Aline Manera alinefm at linux.vnet.ibm.com
Mon Oct 27 18:21:45 UTC 2014


Reviewed-by: Aline Manera <alinefm at linux.vnet.ibm.com>
Tested-by: Aline Manera <alinefm at linux.vnet.ibm.com>

I've just found some bugs on backend part that will be block this patch 
for a while:

1) We need to change the CDROM bus to SCSI to allow hot plug

2) When detaching a disk, the DELETE operation goes well but GET 
/vms/<name>/storages keep returning the old data.
     When I try to detach the disk again I get an error "Device vdb not 
found" which means it was successfully removed.

I will check those issues and send patches soon to get it merged ASAP.

On 10/24/2014 01:07 AM, Wen Wang wrote:
> From: Wen Wang <wenwang at linux.vnet.ibm.com>
>
> V1 -> V2:
> Enable CDROM hot plug including detaching.
>
> Enable users add and detach disk when vm is running.
>
> Signed-off-by: Wen Wang <wenwang at linux.vnet.ibm.com>
> ---
>   ui/js/src/kimchi.guest_edit_main.js |   29 +++++++++++------------------
>   1 files changed, 11 insertions(+), 18 deletions(-)
>
> diff --git a/ui/js/src/kimchi.guest_edit_main.js b/ui/js/src/kimchi.guest_edit_main.js
> index 030e112..82aeeb6 100644
> --- a/ui/js/src/kimchi.guest_edit_main.js
> +++ b/ui/js/src/kimchi.guest_edit_main.js
> @@ -57,17 +57,12 @@ kimchi.guest_edit_main = function() {
>                   text: false
>               });
>
> -            if(kimchi.thisVMState != "running") {
> -                $('.detach', container).button({
> -                    icons: {
> -                        primary: 'ui-icon-trash'
> -                    },
> -                    text: false
> -                });
> -
> -            } else {
> -                $('.detach', container).remove();
> -            }
> +            $('.detach', container).button({
> +                icons: {
> +                    primary: 'ui-icon-trash'
> +                },
> +                text: false
> +            });
>
>               $('.save', container).button({
>                   icons: {
> @@ -443,14 +438,8 @@ kimchi.guest_edit_main = function() {
>           guest['icon'] = guest['icon'] || 'images/icon-vm.png';
>           $('#form-guest-edit-general').fillWithObject(guest);
>           kimchi.thisVMState = guest['state'];
> -
>           refreshCDROMs();
> -        if(kimchi.thisVMState === "running") {
> -            $("#form-guest-edit-general input").prop("disabled", "disabled");
> -            $("#guest-edit-attach-cdrom-button").remove();
> -            $("#form-guest-edit-interface .header button").remove();
> -        } else {
> -            $('#guest-edit-attach-cdrom-button').button({
> +        $('#guest-edit-attach-cdrom-button').button({
>                   icons: {
>                       primary: "ui-icon-plusthick"
>                   },
> @@ -459,6 +448,10 @@ kimchi.guest_edit_main = function() {
>                   event.preventDefault();
>                   kimchi.window.open("guest-storage-add.html");
>               });
> +        if(kimchi.thisVMState === "running") {
> +            $("#form-guest-edit-general input").prop("disabled", "disabled");
> +            $("#form-guest-edit-interface .header button").remove();
> +        } else {
>               $("#action-button-container").removeClass("hidden");
>           }
>




More information about the Kimchi-devel mailing list