[Kimchi-devel] [PATCH] UI: template edit page support scsi lun

Aline Manera alinefm at linux.vnet.ibm.com
Tue Mar 25 19:34:55 UTC 2014


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

On 03/25/2014 02:38 PM, shaohef at linux.vnet.ibm.com wrote:
> From: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>
> User can choose a volume of scsi/iscsi pool from the template edit page.
>
> Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
> ---
>   ui/js/src/kimchi.template_edit_main.js | 38 +++++++++++++++++++++++++++++-----
>   1 file changed, 33 insertions(+), 5 deletions(-)
>
> diff --git a/ui/js/src/kimchi.template_edit_main.js b/ui/js/src/kimchi.template_edit_main.js
> index 58f4506..b7d6cb6 100644
> --- a/ui/js/src/kimchi.template_edit_main.js
> +++ b/ui/js/src/kimchi.template_edit_main.js
> @@ -32,19 +32,39 @@ kimchi.template_edit_main = function() {
>           $('input[name="disks"]').val(disks[0].size);
>           var options = [{label: 'VNC', value: 'vnc'}, {label: 'Spice', value: 'spice'}];
>           kimchi.select('template-edit-graphics-list', options);
> +        var scsipools = {};
>           kimchi.listStoragePools(function(result) {
>               var options = [];
>               if (result && result.length) {
>                   $.each(result, function(index, storagePool) {
>                       if ((storagePool.state=="active") && (storagePool.type !== 'kimchi-iso')) {
> -                        options.push({
> -                            label: storagePool.name,
> -                            value: '/storagepools/' + storagePool.name
> -                        });
> +                        if ((storagePool.type == 'iscsi') || (storagePool.type == 'scsi')){
> +                            scsipools[storagePool.name] = [];
> +                            kimchi.listStorageVolumes(storagePool.name, function(result) {
> +                                if (result && result.length) {
> +                                    $.each(result, function(index, storageVolume) {
> +                                        options.push({
> +                                            label: storagePool.name + '/' + storageVolume.name,
> +                                            value: '/storagepools/' + storagePool.name + '/' + storageVolume.name
> +                                        });
> +                                        scsipools[storagePool.name].push(storageVolume)
> +                                    });
> +                                }
> +                                kimchi.select('template-edit-storagePool-list', options);
> +                            });
> +                        }
> +                        else {
> +                            options.push({
> +                                label: storagePool.name,
> +                                value: '/storagepools/' + storagePool.name
> +                            });
> +                        }
>                       }
>                   });
>               }
> -            kimchi.select('template-edit-storagePool-list', options);
> +            if ($.isEmptyObject(scsipools)) {
> +                kimchi.select('template-edit-storagePool-list', options);
> +            }
>           });
>           kimchi.listNetworks(function(result) {
>               if(result && result.length > 0) {
> @@ -91,6 +111,14 @@ kimchi.template_edit_main = function() {
>           });
>           data['memory'] = Number(data['memory']);
>           data['cpus']   = Number(data['cpus']);
> +        storagepool = data['storagepool'];
> +        storageArray = storagepool.split("/");
> +        if (storageArray.length > 3){
> +            /* Support only 1 disk at this moment */
> +            delete data["disks"][0].size;
> +            data["disks"][0].volume = storageArray.pop();
> +            data['storagepool'] = storageArray.join("/");
> +        }
>           var networks = templateEditForm.serializeObject().networks;
>           if (networks instanceof Array) {
>               data.networks = networks;




More information about the Kimchi-devel mailing list