[Kimchi-devel] [PATCH] Fix issue #340: Show error message when server fails to list host partitions
Royce Lv
lvroyce at linux.vnet.ibm.com
Mon Aug 11 02:57:44 UTC 2014
Reviewed-by: Royce Lv<lvroyce at linux.vnet.ibm.com>
On 2014年08月09日 03:14, Aline Manera wrote:
> Add error handlers to kimchi.listHostPartitions() to properly display
> error message when an error occurs while trying to list host partitions.
> Also update .po files as a new message was added.
>
> Signed-off-by: Aline Manera <alinefm at linux.vnet.ibm.com>
> ---
> po/en_US.po | 47 +++++++++++++++++++++---------
> po/kimchi.pot | 33 ++++++++++++++-------
> po/pt_BR.po | 49 +++++++++++++++++++++++---------
> po/zh_CN.po | 45 +++++++++++++++++++++--------
> ui/js/src/kimchi.storage_main.js | 4 +++
> ui/js/src/kimchi.storagepool_add_main.js | 3 ++
> ui/pages/i18n.json.tmpl | 1 +
> 7 files changed, 132 insertions(+), 50 deletions(-)
>
> diff --git a/po/en_US.po b/po/en_US.po
> index f85d982..a34da3a 100644
> --- a/po/en_US.po
> +++ b/po/en_US.po
> @@ -6,7 +6,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kimchi 0.1\n"
> "Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2014-07-29 15:52-0300\n"
> +"POT-Creation-Date: 2014-08-08 15:27-0300\n"
> "PO-Revision-Date: 2013-07-11 17:32-0400\n"
> "Last-Translator: Crístian Viana <vianac at linux.vnet.ibm.com>\n"
> "Language-Team: English\n"
> @@ -136,6 +136,16 @@ msgstr ""
> "'%(user)s' to the ISO path group, or (not recommended) 'chmod -R o+x "
> "'path_to_iso'.Details: %(err)s"
>
> +msgid "Error occurs when probing image os information."
> +msgstr ""
> +
> +msgid "No OS information found in given image."
> +msgstr ""
> +
> +#, python-format
> +msgid "Unable to find/read image file %(filename)s"
> +msgstr ""
> +
> #, python-format
> msgid "Virtual machine %(name)s already exists"
> msgstr "Virtual machine %(name)s already exists"
> @@ -337,8 +347,8 @@ msgstr "Template CDROM must be a local or remote ISO file"
> msgid "Invalid storage pool URI %(value)s specified for template"
> msgstr "Invalid storage pool URI %(value)s specified for template"
>
> -msgid "Specify an ISO image as CDROM to create a template"
> -msgstr "Specify an ISO image as CDROM to create a template"
> +msgid "Specify an ISO image as CDROM or a base image to create a template"
> +msgstr ""
>
> msgid "All networks for the template must be specified in a list."
> msgstr "All networks for the template must be specified in a list."
> @@ -362,6 +372,13 @@ msgstr "Unable to delete template due error: %(err)s"
> msgid "Disk size must be greater than 1GB."
> msgstr "Disk size must be greater than 1GB."
>
> +msgid "Template base image must be a valid local image file"
> +msgstr ""
> +
> +#, python-format
> +msgid "Cannot identify base image %(path)s format"
> +msgstr ""
> +
> #, python-format
> msgid "Storage pool %(name)s already exists"
> msgstr "Storage pool %(name)s already exists"
> @@ -791,10 +808,6 @@ msgstr "The path '%(value)s' is not valid local/remote path for the device"
> msgid "Device name %(dev_name)s already exists in vm %(vm_name)s"
> msgstr "Device name %(dev_name)s already exists in vm %(vm_name)s"
>
> -msgid "Invalid target device bus type, type supported: 'ide', 'scsi', 'virtio'"
> -msgstr ""
> -"Invalid target device bus type, type supported: 'ide', 'scsi', 'virtio'"
> -
> msgid "Just support cdrom path update"
> msgstr "Just support cdrom path update"
>
> @@ -1102,9 +1115,6 @@ msgstr "Device Type"
> msgid "The device type. Currently, \"cdrom\" and \"disk\" are supported."
> msgstr "The device type. Currently, \"cdrom\" and \"disk\" are supported."
>
> -msgid "Device Bus"
> -msgstr "Device Bus"
> -
> msgid "Storage Pool"
> msgstr "Storage Pool"
>
> @@ -1276,9 +1286,6 @@ msgstr "Add"
> msgid "Remove"
> msgstr "Remove"
>
> -msgid "Failed."
> -msgstr "Failed."
> -
> msgid "Enable"
> msgstr "Enable"
>
> @@ -1489,6 +1496,9 @@ msgstr ""
> "This storage pool is not persistent. Instead of deactivate, this action will "
> "permanently delete it. Would you like to continue?"
>
> +msgid "Unable to retrieve partitions information."
> +msgstr ""
> +
> msgid "CDROM path need to be a valid local path and cannot be blank."
> msgstr "CDROM path need to be a valid local path and cannot be blank."
>
> @@ -1843,3 +1853,14 @@ msgstr "No templates found."
>
> msgid "Clone"
> msgstr "Clone"
> +
> +#~ msgid ""
> +#~ "Invalid target device bus type, type supported: 'ide', 'scsi', 'virtio'"
> +#~ msgstr ""
> +#~ "Invalid target device bus type, type supported: 'ide', 'scsi', 'virtio'"
> +
> +#~ msgid "Device Bus"
> +#~ msgstr "Device Bus"
> +
> +#~ msgid "Failed."
> +#~ msgstr "Failed."
> diff --git a/po/kimchi.pot b/po/kimchi.pot
> index e869e3a..d8354fa 100755
> --- a/po/kimchi.pot
> +++ b/po/kimchi.pot
> @@ -8,7 +8,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: PACKAGE VERSION\n"
> "Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2014-07-29 15:52-0300\n"
> +"POT-Creation-Date: 2014-08-08 15:27-0300\n"
> "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
> "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
> "Language-Team: LANGUAGE <LL at li.org>\n"
> @@ -130,6 +130,16 @@ msgid ""
> "'path_to_iso'.Details: %(err)s"
> msgstr ""
>
> +msgid "Error occurs when probing image os information."
> +msgstr ""
> +
> +msgid "No OS information found in given image."
> +msgstr ""
> +
> +#, python-format
> +msgid "Unable to find/read image file %(filename)s"
> +msgstr ""
> +
> #, python-format
> msgid "Virtual machine %(name)s already exists"
> msgstr ""
> @@ -324,7 +334,7 @@ msgstr ""
> msgid "Invalid storage pool URI %(value)s specified for template"
> msgstr ""
>
> -msgid "Specify an ISO image as CDROM to create a template"
> +msgid "Specify an ISO image as CDROM or a base image to create a template"
> msgstr ""
>
> msgid "All networks for the template must be specified in a list."
> @@ -348,6 +358,13 @@ msgstr ""
> msgid "Disk size must be greater than 1GB."
> msgstr ""
>
> +msgid "Template base image must be a valid local image file"
> +msgstr ""
> +
> +#, python-format
> +msgid "Cannot identify base image %(path)s format"
> +msgstr ""
> +
> #, python-format
> msgid "Storage pool %(name)s already exists"
> msgstr ""
> @@ -744,9 +761,6 @@ msgstr ""
> msgid "Device name %(dev_name)s already exists in vm %(vm_name)s"
> msgstr ""
>
> -msgid "Invalid target device bus type, type supported: 'ide', 'scsi', 'virtio'"
> -msgstr ""
> -
> msgid "Just support cdrom path update"
> msgstr ""
>
> @@ -1041,9 +1055,6 @@ msgstr ""
> msgid "The device type. Currently, \"cdrom\" and \"disk\" are supported."
> msgstr ""
>
> -msgid "Device Bus"
> -msgstr ""
> -
> msgid "Storage Pool"
> msgstr ""
>
> @@ -1209,9 +1220,6 @@ msgstr ""
> msgid "Remove"
> msgstr ""
>
> -msgid "Failed."
> -msgstr ""
> -
> msgid "Enable"
> msgstr ""
>
> @@ -1401,6 +1409,9 @@ msgid ""
> "permanently delete it. Would you like to continue?"
> msgstr ""
>
> +msgid "Unable to retrieve partitions information."
> +msgstr ""
> +
> msgid "CDROM path need to be a valid local path and cannot be blank."
> msgstr ""
>
> diff --git a/po/pt_BR.po b/po/pt_BR.po
> index b38ff3f..452e778 100644
> --- a/po/pt_BR.po
> +++ b/po/pt_BR.po
> @@ -20,7 +20,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kimchi 1.0\n"
> "Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2014-07-29 15:52-0300\n"
> +"POT-Creation-Date: 2014-08-08 15:27-0300\n"
> "PO-Revision-Date: 2013-06-27 10:48+0000\n"
> "Last-Translator: Crístian Viana <vianac at linux.vnet.ibm.com>\n"
> "Language-Team: Aline Manera <alinefm at br.ibm.com>\n"
> @@ -156,6 +156,16 @@ msgstr ""
> "do caminho da ISO, ou (não recomendado) 'chmod -R o+x 'caminho_para_iso'. "
> "Detalhes: %(err)s"
>
> +msgid "Error occurs when probing image os information."
> +msgstr ""
> +
> +msgid "No OS information found in given image."
> +msgstr ""
> +
> +#, python-format
> +msgid "Unable to find/read image file %(filename)s"
> +msgstr ""
> +
> #, python-format
> msgid "Virtual machine %(name)s already exists"
> msgstr "Máquina virtual %(name)s já existe"
> @@ -367,8 +377,8 @@ msgstr "Modelo do CDROM deve ser um arquivo ISO local ou remoto"
> msgid "Invalid storage pool URI %(value)s specified for template"
> msgstr "Storage pool URI inválido %(value)s especificado para modelo"
>
> -msgid "Specify an ISO image as CDROM to create a template"
> -msgstr "Especifique uma imagem ISO como CDROM para criar o modelo"
> +msgid "Specify an ISO image as CDROM or a base image to create a template"
> +msgstr ""
>
> msgid "All networks for the template must be specified in a list."
> msgstr "Todas redes para o modelo devem ser especificadas em lista"
> @@ -393,6 +403,13 @@ msgstr "Não foi possível remover o modelo devido a um erro: %(err)s"
> msgid "Disk size must be greater than 1GB."
> msgstr "Tamanho do disco deve ser maior do que 1GB"
>
> +msgid "Template base image must be a valid local image file"
> +msgstr ""
> +
> +#, python-format
> +msgid "Cannot identify base image %(path)s format"
> +msgstr ""
> +
> #, python-format
> msgid "Storage pool %(name)s already exists"
> msgstr "Storage pool %(name)s já existe"
> @@ -842,11 +859,6 @@ msgid "Device name %(dev_name)s already exists in vm %(vm_name)s"
> msgstr ""
> "Nome do dispositivo %(dev_name)s já existe na máquina virtual %(vm_name)s"
>
> -msgid "Invalid target device bus type, type supported: 'ide', 'scsi', 'virtio'"
> -msgstr ""
> -"Tipo de barramento do dispositivo de destino inválido, tipos suportados: "
> -"'ide', 'scsi', 'virtio'"
> -
> msgid "Just support cdrom path update"
> msgstr "Apenas a atualização do caminho do CDROM é suportada"
>
> @@ -1164,9 +1176,6 @@ msgid "The device type. Currently, \"cdrom\" and \"disk\" are supported."
> msgstr ""
> "O tipo do dispositivo. Atualmente, \"cdrom\" e \"disco\" são suportados."
>
> -msgid "Device Bus"
> -msgstr "Barramento do dispositivo"
> -
> msgid "Storage Pool"
> msgstr "Nome do Storage Pool"
>
> @@ -1340,9 +1349,6 @@ msgstr "Adicionar"
> msgid "Remove"
> msgstr "Remover"
>
> -msgid "Failed."
> -msgstr "Falhou."
> -
> msgid "Enable"
> msgstr "Ativar"
>
> @@ -1552,6 +1558,9 @@ msgstr ""
> "O storage pool não é persistente. Ao invés de desativar, essa ação vai "
> "removê-lo permanentemente. Deseja continuar?"
>
> +msgid "Unable to retrieve partitions information."
> +msgstr ""
> +
> msgid "CDROM path need to be a valid local path and cannot be blank."
> msgstr ""
> "Caminho do CDROM precisa ser um caminho local válido e não pode ser vazio."
> @@ -1907,3 +1916,15 @@ msgstr "Nenhum modelo encontrado."
>
> msgid "Clone"
> msgstr "Clonar"
> +
> +#~ msgid ""
> +#~ "Invalid target device bus type, type supported: 'ide', 'scsi', 'virtio'"
> +#~ msgstr ""
> +#~ "Tipo de barramento do dispositivo de destino inválido, tipos suportados: "
> +#~ "'ide', 'scsi', 'virtio'"
> +
> +#~ msgid "Device Bus"
> +#~ msgstr "Barramento do dispositivo"
> +
> +#~ msgid "Failed."
> +#~ msgstr "Falhou."
> diff --git a/po/zh_CN.po b/po/zh_CN.po
> index aa3032a..83c7018 100644
> --- a/po/zh_CN.po
> +++ b/po/zh_CN.po
> @@ -20,7 +20,7 @@ msgid ""
> msgstr ""
> "Project-Id-Version: kimchi 0.1\n"
> "Report-Msgid-Bugs-To: \n"
> -"POT-Creation-Date: 2014-07-29 15:52-0300\n"
> +"POT-Creation-Date: 2014-08-08 15:27-0300\n"
> "PO-Revision-Date: 2013-06-27 10:48+0000\n"
> "Last-Translator: ShaoHe Feng <shaohef at linux.vnet.ibm.com>\n"
> "Language-Team: ShaoHe Feng <shaohef at linux.vnet.ibm.com>\n"
> @@ -149,6 +149,16 @@ msgstr ""
> "录下;或为'%(user)s'用户设置访问权限;或将'%(user)s'用户增加到ISO路径的属组;"
> "或者为所有的用户增加访问权限 'chmod -R o+x '(不推荐)。详情:%(err)s"
>
> +msgid "Error occurs when probing image os information."
> +msgstr ""
> +
> +msgid "No OS information found in given image."
> +msgstr ""
> +
> +#, python-format
> +msgid "Unable to find/read image file %(filename)s"
> +msgstr ""
> +
> #, python-format
> msgid "Virtual machine %(name)s already exists"
> msgstr "虚拟机%(name)s已经存在"
> @@ -344,8 +354,8 @@ msgstr "模板的CDROM必须是一个本地或者远程的ISO文件"
> msgid "Invalid storage pool URI %(value)s specified for template"
> msgstr "给模板指定了无效的存储池URI %(value)s"
>
> -msgid "Specify an ISO image as CDROM to create a template"
> -msgstr "为新模版的CDROM指定一个ISO的镜像"
> +msgid "Specify an ISO image as CDROM or a base image to create a template"
> +msgstr ""
>
> msgid "All networks for the template must be specified in a list."
> msgstr "为模板指定的网络必须在一个列表中"
> @@ -368,6 +378,13 @@ msgstr "由于错误:%(err)s,未能删除模板"
> msgid "Disk size must be greater than 1GB."
> msgstr "磁盘大小必须大于1GB。"
>
> +msgid "Template base image must be a valid local image file"
> +msgstr ""
> +
> +#, python-format
> +msgid "Cannot identify base image %(path)s format"
> +msgstr ""
> +
> #, python-format
> msgid "Storage pool %(name)s already exists"
> msgstr "存储池%(name)s已经存在"
> @@ -764,9 +781,6 @@ msgstr "设备路径'%(value)s'不是一个有效的本地/远程路径"
> msgid "Device name %(dev_name)s already exists in vm %(vm_name)s"
> msgstr "设备%(dev_name)s在vm%(vm_name)s上已存在"
>
> -msgid "Invalid target device bus type, type supported: 'ide', 'scsi', 'virtio'"
> -msgstr "无效的目标设备总线类型。支持类型为:'ide','scsi','virtio'"
> -
> msgid "Just support cdrom path update"
> msgstr "仅支持cdrom路径更新"
>
> @@ -1061,9 +1075,6 @@ msgstr "设备类型"
> msgid "The device type. Currently, \"cdrom\" and \"disk\" are supported."
> msgstr "设备类型。目前支持设备类型:\"cdrom\"和\"disk\"。 "
>
> -msgid "Device Bus"
> -msgstr "设备总线"
> -
> msgid "Storage Pool"
> msgstr "存储池"
>
> @@ -1230,9 +1241,6 @@ msgstr "增加"
> msgid "Remove"
> msgstr "删除"
>
> -msgid "Failed."
> -msgstr "失败"
> -
> msgid "Enable"
> msgstr "使能"
>
> @@ -1424,6 +1432,9 @@ msgid ""
> "permanently delete it. Would you like to continue?"
> msgstr "对于非持久存储池,这个操作将会永久删除存储池而不是停用。是否继续?"
>
> +msgid "Unable to retrieve partitions information."
> +msgstr ""
> +
> msgid "CDROM path need to be a valid local path and cannot be blank."
> msgstr "CDROM的路径必须是有效本地路径且不能为空"
>
> @@ -1773,3 +1784,13 @@ msgstr "没有发现模板"
>
> msgid "Clone"
> msgstr "制作副本"
> +
> +#~ msgid ""
> +#~ "Invalid target device bus type, type supported: 'ide', 'scsi', 'virtio'"
> +#~ msgstr "无效的目标设备总线类型。支持类型为:'ide','scsi','virtio'"
> +
> +#~ msgid "Device Bus"
> +#~ msgstr "设备总线"
> +
> +#~ msgid "Failed."
> +#~ msgstr "失败"
> diff --git a/ui/js/src/kimchi.storage_main.js b/ui/js/src/kimchi.storage_main.js
> index 0ebdd59..ae3f963 100644
> --- a/ui/js/src/kimchi.storage_main.js
> +++ b/ui/js/src/kimchi.storage_main.js
> @@ -223,6 +223,10 @@ kimchi.initLogicalPoolExtend = function() {
> $('.host-partition').html(i18n['KCHPOOL6011M']);
> $('.host-partition').addClass('text-help');
> }
> + }, function(err) {
> + $('#loading-info', '#logicalPoolExtend').addClass('hidden');
> + $('.host-partition').html(i18n['KCHPOOL6013M'] + '<br/>(' + err.responseJSON.reason + ')');
> + $('.host-partition').addClass('text-help');
> });
> },
> beforeClose : function() { $('.host-partition', '#logicalPoolExtend').empty(); },
> diff --git a/ui/js/src/kimchi.storagepool_add_main.js b/ui/js/src/kimchi.storagepool_add_main.js
> index 629a37b..ecbc682 100644
> --- a/ui/js/src/kimchi.storagepool_add_main.js
> +++ b/ui/js/src/kimchi.storagepool_add_main.js
> @@ -50,6 +50,9 @@ kimchi.initStorageAddPage = function() {
> $('.host-partition').html(i18n['KCHPOOL6011M']);
> $('.host-partition').addClass('text-help');
> }
> + }, function(err) {
> + $('.host-partition').html(i18n['KCHPOOL6013M'] + '<br/>(' + err.responseJSON.reason + ')');
> + $('.host-partition').addClass('text-help');
> });
>
> kimchi.getHostPCIDevices(function(data){
> diff --git a/ui/pages/i18n.json.tmpl b/ui/pages/i18n.json.tmpl
> index f1478a7..697f946 100644
> --- a/ui/pages/i18n.json.tmpl
> +++ b/ui/pages/i18n.json.tmpl
> @@ -162,6 +162,7 @@
> "KCHPOOL6010M": "$_("Looking for available partitions ...")",
> "KCHPOOL6011M": "$_("No available partitions found.")",
> "KCHPOOL6012M": "$_("This storage pool is not persistent. Instead of deactivate, this action will permanently delete it. Would you like to continue?")",
> + "KCHPOOL6013M": "$_("Unable to retrieve partitions information.")",
>
> "KCHVMSTOR0001E": "$_("CDROM path need to be a valid local path and cannot be blank.")",
> "KCHVMSTOR0002E": "$_("Disk pool or volume cannot be blank.")"
More information about the Kimchi-devel
mailing list