[PATCH] Fix: retrieve right bus type in vmstorage update
by lvroyce@linux.vnet.ibm.com
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
When disk source does not present in xml(i.e. cdrom ejected),
bus type probe will be ignored because of former exception.
Retrive right bus type before source probe to fix this.
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
---
src/kimchi/vmdisks.py | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/kimchi/vmdisks.py b/src/kimchi/vmdisks.py
index 6012ada..b61c883 100644
--- a/src/kimchi/vmdisks.py
+++ b/src/kimchi/vmdisks.py
@@ -43,7 +43,7 @@ def get_vm_disk(dom, dev_name):
"KCHVMSTOR0007E",
{'dev_name': dev_name, 'vm_name': dom.name()})
path = ""
- dev_bus = 'ide'
+ dev_bus = disk.target.attrib['bus']
try:
source = disk.source
if source is not None:
@@ -55,8 +55,6 @@ def get_vm_disk(dom, dev_name):
host.attrib['port'] + source.attrib['name'])
else:
path = source.attrib[DEV_TYPE_SRC_ATTR_MAP[src_type]]
- # Retrieve storage bus type
- dev_bus = disk.target.attrib['bus']
except:
pass
dev_type = disk.attrib['device']
--
1.8.3.2
10 years, 2 months
[PATCH V3] Bugfix: Cancel option not working properly in New Storage Define
by Wen Wang
From: Wen Wang <wenwang(a)linux.vnet.ibm.com>
V2 -> V3:
Make the button style change properly with different storage pool types.
V1 -> V2:
Make the "Create" button change style and disable the input box only
when clicked on "ok" in "confirm" diaguage. The button and the input
style stay the same if user cancel the creating job.
This bug fix the defect that when adding a new logical storage pool, a
confrim message box show up and when canceling it, the inputbox as well
as button "Create" is still disabled.
Signed-off-by: Wen Wang <wenwang(a)linux.vnet.ibm.com>
---
ui/js/src/kimchi.storagepool_add_main.js | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/ui/js/src/kimchi.storagepool_add_main.js b/ui/js/src/kimchi.storagepool_add_main.js
index 4f1f943..07e7fbe 100644
--- a/ui/js/src/kimchi.storagepool_add_main.js
+++ b/ui/js/src/kimchi.storagepool_add_main.js
@@ -352,8 +352,6 @@ kimchi.validateLogicalForm = function () {
kimchi.addPool = function(event) {
if (kimchi.validateForm()) {
- $('#pool-doAdd').hide();
- $('#pool-loading').show();
var formData = $('#form-pool-add').serializeObject();
delete formData.authname;
var poolType = $('#poolTypeId').selectMenu('value');
@@ -390,7 +388,6 @@ kimchi.addPool = function(event) {
} else if (poolType === 'scsi'){
formData.source = { adapter_name: $('#scsiAdapter').selectMenu('value') };
}
- $('input', '#form-pool-add').attr('disabled','disabled');
if (poolType === 'logical') {
var settings = {
title : i18n['KCHAPI6001M'],
@@ -399,6 +396,9 @@ kimchi.addPool = function(event) {
cancel : i18n['KCHAPI6003M']
};
kimchi.confirm(settings, function() {
+ $('input', '#form-pool-add').attr('disabled','disabled');
+ $('#pool-doAdd').hide();
+ $('#pool-loading').show();
kimchi.createStoragePool(formData, function() {
kimchi.doListStoragePools();
kimchi.window.close();
@@ -411,6 +411,9 @@ kimchi.addPool = function(event) {
}, function() {
});
} else {
+ $('input', '#form-pool-add').attr('disabled','disabled');
+ $('#pool-doAdd').hide();
+ $('#pool-loading').show();
kimchi.createStoragePool(formData, function() {
kimchi.doListStoragePools();
kimchi.window.close();
--
1.7.1
10 years, 2 months
[PATCHv6] Reject improper format for storage types
by lvroyce@linux.vnet.ibm.com
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
v5>v6, aggregate param check to repositories class level.
Reject non-iso storage volume for cdrom attachment,
and non supported format types for disk attachment
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
---
src/kimchi/i18n.py | 1 +
src/kimchi/repositories.py | 11 ++++++++++-
tests/test_model.py | 13 +++++++++++--
3 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/src/kimchi/i18n.py b/src/kimchi/i18n.py
index d402dde..1b543ce 100644
--- a/src/kimchi/i18n.py
+++ b/src/kimchi/i18n.py
@@ -288,4 +288,5 @@ messages = {
"KCHREPOS0025E": _("Unable to retrieve repository information. Details: '%(err)s'"),
"KCHREPOS0026E": _("Unable to add repository. Details: '%(err)s'"),
"KCHREPOS0027E": _("Unable to remove repository. Details: '%(err)s'"),
+ "KCHREPOS0028E": _("Configuration items: '%(items)s' are not supported by repository manager"),
}
diff --git a/src/kimchi/repositories.py b/src/kimchi/repositories.py
index 19edc22..f826ac9 100644
--- a/src/kimchi/repositories.py
+++ b/src/kimchi/repositories.py
@@ -26,7 +26,7 @@ from ConfigParser import ConfigParser
from kimchi.basemodel import Singleton
from kimchi.config import kimchiLock
-from kimchi.exception import InvalidOperation
+from kimchi.exception import InvalidOperation, InvalidParameter
from kimchi.exception import OperationFailed, NotFoundError, MissingParameter
from kimchi.utils import validate_repo_url
@@ -52,6 +52,13 @@ class Repositories(object):
"""
Add and enable a new repository
"""
+ config = params.get('config', {})
+ extra_keys = list(
+ set(config.keys()).difference(set(self._pkg_mnger.CONFIG_ENTRY)))
+ if len(extra_keys) > 0:
+ raise InvalidParameter("KCHREPOS0028E",
+ {'items': ",".join(extra_keys)})
+
return self._pkg_mnger.addRepo(params)
def getRepositories(self):
@@ -105,6 +112,7 @@ class YumRepo(object):
"""
TYPE = 'yum'
DEFAULT_CONF_DIR = "/etc/yum.repos.d"
+ CONFIG_ENTRY = ('repo_name', 'mirrorlist')
def __init__(self):
self._yb = getattr(__import__('yum'), 'YumBase')
@@ -319,6 +327,7 @@ class AptRepo(object):
"""
TYPE = 'deb'
KIMCHI_LIST = "kimchi-source.list"
+ CONFIG_ENTRY = ('dist', 'comps')
def __init__(self):
getattr(__import__('apt_pkg'), 'init_config')()
diff --git a/tests/test_model.py b/tests/test_model.py
index 63032f5..1f2e79c 100644
--- a/tests/test_model.py
+++ b/tests/test_model.py
@@ -1309,8 +1309,7 @@ class ModelTests(unittest.TestCase):
'baseurl': 'http://www.fedora.org'},
{'repo_id': 'fedora-updates-fake',
'config':
- {'mirrorlist': 'http://www.fedoraproject.org',
- 'gpgkey': 'file:///tmp/KEY-fedora-updates-fake-19'}}]
+ {'mirrorlist': 'http://www.fedoraproject.org'}}]
deb_repos = [{'baseurl': 'http://archive.ubuntu.com/ubuntu/',
'config': {'dist': 'quantal'}},
@@ -1325,12 +1324,22 @@ class ModelTests(unittest.TestCase):
wrong_mirrorlist = {'repo_id': 'wrong-id',
'baseurl': 'www.example.com',
'config': {'mirrorlist': url}}
+ wrong_config_item = {
+ 'repo_id': 'wrong-id',
+ 'baseurl': 'www.example.com',
+ 'config': {
+ 'gpgkey': 'file:///tmp/KEY-fedora-updates-fake-19'}}
yum_invalid_repos.append(wrong_baseurl)
yum_invalid_repos.append(wrong_mirrorlist)
+ yum_invalid_repos.append(wrong_config_item)
wrong_baseurl['config'] = {'dist': 'tasty'}
+ wrong_config = {'baseurl': deb_repos[0]['baseurl'],
+ 'config': {
+ 'unsupported_item': "a_unsupported_item"}}
deb_invalid_repos.append(wrong_baseurl)
+ deb_invalid_repos.append(wrong_config)
repo_type = inst.capabilities_lookup()['repo_mngt_tool']
if repo_type == 'yum':
--
1.8.3.2
10 years, 2 months
[PATCH] Adding bzip to fedora base for compression/decompression
by Brent Baude
---
fedora-atomic-base.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fedora-atomic-base.json b/fedora-atomic-base.json
index 0c3d90a..5f0fa22 100644
--- a/fedora-atomic-base.json
+++ b/fedora-atomic-base.json
@@ -14,7 +14,7 @@
"packages": ["dracut-config-generic", "kernel", "rpm-ostree", "lvm2",
"btrfs-progs", "e2fsprogs", "xfsprogs",
"syslinux-extlinux", "authconfig",
- "gnupg2",
+ "gnupg2", "bzip2",
"basesystem",
"bash",
"coreutils",
--
1.9.3
10 years, 3 months
[PATCH] Update translations for newly added msg
by lvroyce@linux.vnet.ibm.com
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
Updated pot file and added according translation for Chinese.
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
---
po/de_DE.po | 104 ++++++++++++++++++++++++++++++++++------------------------
po/en_US.po | 90 ++++++++++++++++++++++++++++++--------------------
po/es_ES.po | 104 ++++++++++++++++++++++++++++++++++------------------------
po/fr_FR.po | 102 +++++++++++++++++++++++++++++++++-----------------------
po/it_IT.po | 104 ++++++++++++++++++++++++++++++++++------------------------
po/ja_JP.po | 102 +++++++++++++++++++++++++++++++++-----------------------
po/kimchi.pot | 90 ++++++++++++++++++++++++++++++--------------------
po/ko_KR.po | 103 ++++++++++++++++++++++++++++++++++-----------------------
po/pt_BR.po | 102 +++++++++++++++++++++++++++++++++-----------------------
po/ru_RU.po | 102 +++++++++++++++++++++++++++++++++-----------------------
po/zh_CN.po | 99 ++++++++++++++++++++++++++++++++-----------------------
po/zh_TW.po | 104 ++++++++++++++++++++++++++++++++++------------------------
12 files changed, 722 insertions(+), 484 deletions(-)
diff --git a/po/de_DE.po b/po/de_DE.po
index b7a6f75..68b1a80 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2013-07-11 17:32-0400\n"
"Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
"Language-Team: English\n"
@@ -153,6 +153,12 @@ msgid "Unable to read image file %(filename)s"
msgstr ""
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr "Virtuelle Maschine %(name)s ist bereits vorhanden"
@@ -400,8 +406,8 @@ msgid "Unable to delete template due error: %(err)s"
msgstr ""
"Vorlage kann aufgrund des folgenden Fehlers nicht gelöscht werden: %(err)s"
-msgid "Disk size must be greater than 1GB."
-msgstr ""
+msgid "Disk size must be an integer greater than 1GB."
+msgstr "Die Anzahl der CPUs muss eine Ganzzahl sein"
msgid "Template base image must be a valid local image file"
msgstr "Vorlagen-CD-ROM muss eine lokale oder ferne ISO-Datei sein"
@@ -934,6 +940,12 @@ msgstr ""
"Geben Sie Typ und Pfad an, um einen neuen Datenträger für eine virtuelle "
"Maschine hinzuzfügen"
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr ""
"YUM-Repository-ID darf nur ein aus einer Zeichenfolge bestehendes Wort sein."
@@ -1039,6 +1051,11 @@ msgstr "Repository konnte nicht hinzugefügt werden. Details: '%(err)s'"
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr "Repository konnte nicht entfernt werden. Details: '%(err)s'"
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr "FEHLERCODE"
@@ -1148,30 +1165,6 @@ msgstr "Abhängen"
msgid "Cancel"
msgstr "Abbrechen"
-msgid "Start"
-msgstr "Starten"
-
-msgid "Reset"
-msgstr "Zurücksetzen"
-
-msgid "Power Off"
-msgstr ""
-
-msgid "Actions"
-msgstr "Aktionen"
-
-msgid "Connect"
-msgstr "Verbinden"
-
-msgid "Edit"
-msgstr "Bearbeiten"
-
-msgid "Shut Down"
-msgstr "Herunterfahren"
-
-msgid "Delete"
-msgstr "Löschen"
-
msgid "Add a Storage Device to VM"
msgstr "Speichereinheit zur virtuellen Maschine hinzufügen"
@@ -1202,6 +1195,30 @@ msgstr "Der ISO-Dateipfad auf dem Server für die CD-ROM."
msgid "Attach"
msgstr "Anhängen"
+msgid "Start"
+msgstr "Starten"
+
+msgid "Reset"
+msgstr "Zurücksetzen"
+
+msgid "Power Off"
+msgstr ""
+
+msgid "Actions"
+msgstr "Aktionen"
+
+msgid "Connect"
+msgstr "Verbinden"
+
+msgid "Edit"
+msgstr "Bearbeiten"
+
+msgid "Shut Down"
+msgstr "Herunterfahren"
+
+msgid "Delete"
+msgstr "Löschen"
+
msgid "The username or password you entered is incorrect. Please try again."
msgstr ""
"Der Benutzername oder das Kennwort, den bzw. das Sie eingegeben haben, ist "
@@ -1710,6 +1727,21 @@ msgstr "Ja"
msgid "No"
msgstr "Nein"
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr "Neuen Speicherpool definieren"
@@ -1788,21 +1820,6 @@ msgstr "SCSI-Adapter"
msgid "Please, wait..."
msgstr "Bitte warten..."
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr "Vorlage hinzufügen"
@@ -1939,6 +1956,9 @@ msgid "Bridged: Virtual machines are connected to physical network directly"
msgstr ""
"Überbrückt: Virtuelle Maschinen sind direkt mit physischem Netz verbunden"
+msgid "(No interfaces found)"
+msgstr "Keine Vorlagen gefunden."
+
msgid "Destination"
msgstr "Ziel:"
diff --git a/po/en_US.po b/po/en_US.po
index b84f28c..2d09719 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-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2013-07-11 17:32-0400\n"
"Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
"Language-Team: English\n"
@@ -141,6 +141,12 @@ msgid "Unable to read image file %(filename)s"
msgstr ""
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr ""
@@ -355,7 +361,7 @@ msgstr ""
msgid "Unable to delete template due error: %(err)s"
msgstr ""
-msgid "Disk size must be greater than 1GB."
+msgid "Disk size must be an integer greater than 1GB."
msgstr ""
msgid "Template base image must be a valid local image file"
@@ -818,6 +824,12 @@ msgid ""
"machine disk"
msgstr ""
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr ""
@@ -915,6 +927,11 @@ msgstr ""
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr ""
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr ""
@@ -1022,58 +1039,58 @@ msgstr ""
msgid "Cancel"
msgstr ""
-msgid "Start"
+msgid "Add a Storage Device to VM"
msgstr ""
-msgid "Reset"
+msgid "Device Type"
msgstr ""
-msgid "Power Off"
+msgid "The device type. Currently, \"cdrom\" and \"disk\" are supported."
msgstr ""
-msgid "Actions"
+msgid "Storage Pool"
msgstr ""
-msgid "Connect"
+msgid "Storage pool which volume located in"
msgstr ""
-msgid "Edit"
+msgid "Storage Volume"
msgstr ""
-msgid "Shut Down"
+msgid "Storage volume to be attached"
msgstr ""
-msgid "Delete"
+msgid "File Path"
msgstr ""
-msgid "Add a Storage Device to VM"
+msgid "The ISO file path in the server for CDROM."
msgstr ""
-msgid "Device Type"
+msgid "Attach"
msgstr ""
-msgid "The device type. Currently, \"cdrom\" and \"disk\" are supported."
+msgid "Start"
msgstr ""
-msgid "Storage Pool"
+msgid "Reset"
msgstr ""
-msgid "Storage pool which volume located in"
+msgid "Power Off"
msgstr ""
-msgid "Storage Volume"
+msgid "Actions"
msgstr ""
-msgid "Storage volume to be attached"
+msgid "Connect"
msgstr ""
-msgid "File Path"
+msgid "Edit"
msgstr ""
-msgid "The ISO file path in the server for CDROM."
+msgid "Shut Down"
msgstr ""
-msgid "Attach"
+msgid "Delete"
msgstr ""
msgid "The username or password you entered is incorrect. Please try again."
@@ -1549,6 +1566,21 @@ msgstr ""
msgid "No"
msgstr ""
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr ""
@@ -1619,21 +1651,6 @@ msgstr ""
msgid "Please, wait..."
msgstr ""
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr ""
@@ -1769,6 +1786,9 @@ msgstr ""
msgid "Bridged: Virtual machines are connected to physical network directly"
msgstr ""
+msgid "(No interfaces found)"
+msgstr ""
+
msgid "Destination"
msgstr ""
diff --git a/po/es_ES.po b/po/es_ES.po
index bd6d7b5..46a3c52 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2013-07-11 17:32-0400\n"
"Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
"Language-Team: English\n"
@@ -161,6 +161,12 @@ msgid "Unable to read image file %(filename)s"
msgstr ""
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr "La máquina virtual %(name)s ya existe"
@@ -397,8 +403,8 @@ msgstr "No se puede crear la plantilla debido a un error: %(err)s"
msgid "Unable to delete template due error: %(err)s"
msgstr "No se puede suprimir la plantilla debido a un error: %(err)s"
-msgid "Disk size must be greater than 1GB."
-msgstr ""
+msgid "Disk size must be an integer greater than 1GB."
+msgstr "El número de CPUs debe ser un entero"
msgid "Template base image must be a valid local image file"
msgstr "El CDROM de plantilla debe ser un archivo ISO local o remoto"
@@ -952,6 +958,12 @@ msgstr ""
"Especifique el tipo y la vía de acceso para añadir un disco de máquina "
"virtual nuevo"
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr "El ID de repositorio YUM debe ser una serie de una sola palabra."
@@ -1057,6 +1069,11 @@ msgstr "No se puede añadir el repositorio. Detalles: '%(err)s'"
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr "No se puede eliminar el repositorio. Detalles: '%(err)s'"
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr "CÓDIGO DE ERROR"
@@ -1166,30 +1183,6 @@ msgstr "Desconectar"
msgid "Cancel"
msgstr "Cancelar"
-msgid "Start"
-msgstr "Iniciar"
-
-msgid "Reset"
-msgstr "Restablecer"
-
-msgid "Power Off"
-msgstr ""
-
-msgid "Actions"
-msgstr "Acciones"
-
-msgid "Connect"
-msgstr "Conectar"
-
-msgid "Edit"
-msgstr "Editar"
-
-msgid "Shut Down"
-msgstr "Concluir"
-
-msgid "Delete"
-msgstr "Suprimir"
-
msgid "Add a Storage Device to VM"
msgstr "Añadir un dispositivo de almacenamiento a VM"
@@ -1220,6 +1213,30 @@ msgstr "La vía de acceso del archivo ISO en el servidor para el CDROM."
msgid "Attach"
msgstr "Conectar"
+msgid "Start"
+msgstr "Iniciar"
+
+msgid "Reset"
+msgstr "Restablecer"
+
+msgid "Power Off"
+msgstr ""
+
+msgid "Actions"
+msgstr "Acciones"
+
+msgid "Connect"
+msgstr "Conectar"
+
+msgid "Edit"
+msgstr "Editar"
+
+msgid "Shut Down"
+msgstr "Concluir"
+
+msgid "Delete"
+msgstr "Suprimir"
+
msgid "The username or password you entered is incorrect. Please try again."
msgstr ""
"El nombre de usuario o contraseña que ha especificado es incorrecto. Por "
@@ -1729,6 +1746,21 @@ msgstr "Sí"
msgid "No"
msgstr "No"
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr "Definir una agrupación de almacenamiento nueva"
@@ -1805,21 +1837,6 @@ msgstr "Adaptador SCSI"
msgid "Please, wait..."
msgstr "Por favor, espere..."
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr "Añadir plantilla"
@@ -1958,6 +1975,9 @@ msgstr ""
"Puenteado: Las máquinas virtuales están conectadas a la red física "
"directamente"
+msgid "(No interfaces found)"
+msgstr "No se han encontrado plantillas."
+
msgid "Destination"
msgstr "Destino:"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index ec0cf06..e102114 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2014-08-27 21:30+0000\n"
"Last-Translator: BobSynfig\n"
"Language-Team: French (http://www.transifex.com/projects/p/kimchi/language/"
@@ -162,6 +162,12 @@ msgid "Unable to read image file %(filename)s"
msgstr ""
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr "La machine virtuelle %(name)s existe déjà"
@@ -405,7 +411,7 @@ msgstr "Impossible de créer le modèle à cause de l'erreur: %(err)s"
msgid "Unable to delete template due error: %(err)s"
msgstr "Impossilbe de supprimer le modèle à cause de l'erreur: %(err)s"
-msgid "Disk size must be greater than 1GB."
+msgid "Disk size must be an integer greater than 1GB."
msgstr "La taille de disque doit être supérieure à 1Go"
msgid "Template base image must be a valid local image file"
@@ -940,6 +946,12 @@ msgstr ""
"Seul un chemin ou pool/volume peut être spécifié pour ajouter un nouveau "
"disque de machine virtuelle"
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr ""
"L'ID du dépôt YUM doit être une chaîne de caractères ne comportant qu'un "
@@ -1045,6 +1057,11 @@ msgstr "Impossible d'ajouter un dépôt. Détails: '%(err)s'"
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr "Impossible de supprimer un dépôt. Détails: '%(err)s'"
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr "ERROR CODE"
@@ -1154,30 +1171,6 @@ msgstr "Détacher"
msgid "Cancel"
msgstr "Annuler"
-msgid "Start"
-msgstr "Démarrer"
-
-msgid "Reset"
-msgstr "Réinitialiser"
-
-msgid "Power Off"
-msgstr "Mettre hors tension"
-
-msgid "Actions"
-msgstr "Actions"
-
-msgid "Connect"
-msgstr "Connecter"
-
-msgid "Edit"
-msgstr "Éditer"
-
-msgid "Shut Down"
-msgstr "Éteindre"
-
-msgid "Delete"
-msgstr "Supprimer"
-
msgid "Add a Storage Device to VM"
msgstr "Ajouter un Périphérique de Stockage à la VM"
@@ -1209,6 +1202,30 @@ msgstr "Le chemin de fichier ISO sur le serveur comme CDROM."
msgid "Attach"
msgstr "Attacher"
+msgid "Start"
+msgstr "Démarrer"
+
+msgid "Reset"
+msgstr "Réinitialiser"
+
+msgid "Power Off"
+msgstr "Mettre hors tension"
+
+msgid "Actions"
+msgstr "Actions"
+
+msgid "Connect"
+msgstr "Connecter"
+
+msgid "Edit"
+msgstr "Éditer"
+
+msgid "Shut Down"
+msgstr "Éteindre"
+
+msgid "Delete"
+msgstr "Supprimer"
+
msgid "The username or password you entered is incorrect. Please try again."
msgstr ""
"Le nom d'utilisateur ou le mot de passe que vous avez entré est incorrect. "
@@ -1722,6 +1739,21 @@ msgstr "Oui"
msgid "No"
msgstr "Non"
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr "Définir un Nouveau Pool de Stockage"
@@ -1800,21 +1832,6 @@ msgstr "Adaptateur SCSI"
msgid "Please, wait..."
msgstr "Vauillez patienter..."
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr "Ajouter un Modèle"
@@ -1951,6 +1968,9 @@ msgid "Bridged: Virtual machines are connected to physical network directly"
msgstr ""
"Bridgé: Les macines virtuelles sont connectées directement au réseau physique"
+msgid "(No interfaces found)"
+msgstr "Aucun modèle trouvé."
+
msgid "Destination"
msgstr "Destination"
diff --git a/po/it_IT.po b/po/it_IT.po
index ba4234b..8bc1cf8 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2013-07-11 17:32-0400\n"
"Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
"Language-Team: English\n"
@@ -156,6 +156,12 @@ msgid "Unable to read image file %(filename)s"
msgstr ""
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr "Macchina virtuale %(name)s già esistente"
@@ -390,8 +396,8 @@ msgstr "Impossibile creare il modello a causa dell'errore: %(err)s"
msgid "Unable to delete template due error: %(err)s"
msgstr "Impossibile eliminare il modello a causa dell'errore: %(err)s"
-msgid "Disk size must be greater than 1GB."
-msgstr ""
+msgid "Disk size must be an integer greater than 1GB."
+msgstr "Il numero di CPU deve essere un numero intero"
msgid "Template base image must be a valid local image file"
msgstr "Il CDROM del modello deve essere un file ISO locale o remoto"
@@ -918,6 +924,12 @@ msgstr ""
"Specificare tipo e percorso per aggiungere un nuovo disco della macchina "
"virtuale"
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr "L'ID repository YUM deve essere una stringa di una sola parola."
@@ -1026,6 +1038,11 @@ msgstr "Impossibile aggiungere il repository. Dettagli: '%(err)s'"
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr "Impossibile rimuovere il repository. Dettagli: '%(err)s'"
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr "CODICE DI ERRORE"
@@ -1135,30 +1152,6 @@ msgstr "Scollega"
msgid "Cancel"
msgstr "Annulla"
-msgid "Start"
-msgstr "Avvia"
-
-msgid "Reset"
-msgstr "Reimposta"
-
-msgid "Power Off"
-msgstr ""
-
-msgid "Actions"
-msgstr "Azioni"
-
-msgid "Connect"
-msgstr "Connetti"
-
-msgid "Edit"
-msgstr "Modifica"
-
-msgid "Shut Down"
-msgstr "Arresta"
-
-msgid "Delete"
-msgstr "Elimina"
-
msgid "Add a Storage Device to VM"
msgstr "Aggiungi un dispositivo di memoria alla VM"
@@ -1189,6 +1182,30 @@ msgstr "Il percorso file ISO nel server per CDROM."
msgid "Attach"
msgstr "Allega"
+msgid "Start"
+msgstr "Avvia"
+
+msgid "Reset"
+msgstr "Reimposta"
+
+msgid "Power Off"
+msgstr ""
+
+msgid "Actions"
+msgstr "Azioni"
+
+msgid "Connect"
+msgstr "Connetti"
+
+msgid "Edit"
+msgstr "Modifica"
+
+msgid "Shut Down"
+msgstr "Arresta"
+
+msgid "Delete"
+msgstr "Elimina"
+
msgid "The username or password you entered is incorrect. Please try again."
msgstr ""
"Il nome utente o la password immessi non sono corretti. Ripetere "
@@ -1696,6 +1713,21 @@ msgstr "Sì"
msgid "No"
msgstr "No"
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr "Definisci un nuovo pool di memoria"
@@ -1775,21 +1807,6 @@ msgstr "Adattatore SCSI"
msgid "Please, wait..."
msgstr "Attendere..."
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr "Aggiungi modello"
@@ -1926,6 +1943,9 @@ msgid "Bridged: Virtual machines are connected to physical network directly"
msgstr ""
"Con bridge: le macchine virtuali sono connesse direttamente alla rete fisica"
+msgid "(No interfaces found)"
+msgstr "Nessun modello trovato."
+
msgid "Destination"
msgstr "Destinazione:"
diff --git a/po/ja_JP.po b/po/ja_JP.po
index 196f085..0cc892a 100644
--- a/po/ja_JP.po
+++ b/po/ja_JP.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2013-07-11 17:32-0400\n"
"Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
"Language-Team: English\n"
@@ -155,6 +155,12 @@ msgid "Unable to read image file %(filename)s"
msgstr ""
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr "仮想マシン %(name)s は既に存在します"
@@ -395,7 +401,7 @@ msgstr "次のエラーのため、テンプレートを作成できません: %
msgid "Unable to delete template due error: %(err)s"
msgstr "次のエラーのため、テンプレートを削除できません: %(err)s"
-msgid "Disk size must be greater than 1GB."
+msgid "Disk size must be an integer greater than 1GB."
msgstr ""
msgid "Template base image must be a valid local image file"
@@ -929,6 +935,12 @@ msgid ""
"machine disk"
msgstr "新しい仮想マシン・ディスクに追加するタイプおよびパスを指定します"
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr "YUM リポジトリー ID は、1 ワードのみのストリングでなければなりません"
@@ -1038,6 +1050,11 @@ msgstr "リポジトリーを追加できません。詳細: 「%(err)s」"
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr "リポジトリーを削除できません。詳細: 「%(err)s」"
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr "エラー・コード"
@@ -1147,30 +1164,6 @@ msgstr "切り離し"
msgid "Cancel"
msgstr "取消"
-msgid "Start"
-msgstr "開始"
-
-msgid "Reset"
-msgstr "リセット"
-
-msgid "Power Off"
-msgstr ""
-
-msgid "Actions"
-msgstr "アクション"
-
-msgid "Connect"
-msgstr "接続"
-
-msgid "Edit"
-msgstr "編集"
-
-msgid "Shut Down"
-msgstr "シャットダウン"
-
-msgid "Delete"
-msgstr "削除"
-
msgid "Add a Storage Device to VM"
msgstr "VM にストレージ・デバイスを追加"
@@ -1201,6 +1194,30 @@ msgstr "サーバー内での CDROM の ISO ファイル・パス。"
msgid "Attach"
msgstr "接続"
+msgid "Start"
+msgstr "開始"
+
+msgid "Reset"
+msgstr "リセット"
+
+msgid "Power Off"
+msgstr ""
+
+msgid "Actions"
+msgstr "アクション"
+
+msgid "Connect"
+msgstr "接続"
+
+msgid "Edit"
+msgstr "編集"
+
+msgid "Shut Down"
+msgstr "シャットダウン"
+
+msgid "Delete"
+msgstr "削除"
+
msgid "The username or password you entered is incorrect. Please try again."
msgstr "入力したユーザー名またはパスワードが誤っています。やり直してください。"
@@ -1697,6 +1714,21 @@ msgstr " はい"
msgid "No"
msgstr " いいえ"
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr "新規ストレージ・プールの定義"
@@ -1774,21 +1806,6 @@ msgstr "SCSI アダプター"
msgid "Please, wait..."
msgstr "お待ちください..."
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr "テンプレートの追加"
@@ -1924,6 +1941,9 @@ msgstr "NAT: アウトバウンド物理ネットワーク接続のみ"
msgid "Bridged: Virtual machines are connected to physical network directly"
msgstr "ブリッジ: 仮想マシンが直接物理ネットワークに接続される"
+msgid "(No interfaces found)"
+msgstr "テンプレートが見つかりません。"
+
msgid "Destination"
msgstr "宛先:"
diff --git a/po/kimchi.pot b/po/kimchi.pot
index 9c38005..62f64fb 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-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
@@ -141,6 +141,12 @@ msgid "Unable to read image file %(filename)s"
msgstr ""
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr ""
@@ -355,7 +361,7 @@ msgstr ""
msgid "Unable to delete template due error: %(err)s"
msgstr ""
-msgid "Disk size must be greater than 1GB."
+msgid "Disk size must be an integer greater than 1GB."
msgstr ""
msgid "Template base image must be a valid local image file"
@@ -818,6 +824,12 @@ msgid ""
"machine disk"
msgstr ""
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr ""
@@ -915,6 +927,11 @@ msgstr ""
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr ""
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr ""
@@ -1022,58 +1039,58 @@ msgstr ""
msgid "Cancel"
msgstr ""
-msgid "Start"
+msgid "Add a Storage Device to VM"
msgstr ""
-msgid "Reset"
+msgid "Device Type"
msgstr ""
-msgid "Power Off"
+msgid "The device type. Currently, \"cdrom\" and \"disk\" are supported."
msgstr ""
-msgid "Actions"
+msgid "Storage Pool"
msgstr ""
-msgid "Connect"
+msgid "Storage pool which volume located in"
msgstr ""
-msgid "Edit"
+msgid "Storage Volume"
msgstr ""
-msgid "Shut Down"
+msgid "Storage volume to be attached"
msgstr ""
-msgid "Delete"
+msgid "File Path"
msgstr ""
-msgid "Add a Storage Device to VM"
+msgid "The ISO file path in the server for CDROM."
msgstr ""
-msgid "Device Type"
+msgid "Attach"
msgstr ""
-msgid "The device type. Currently, \"cdrom\" and \"disk\" are supported."
+msgid "Start"
msgstr ""
-msgid "Storage Pool"
+msgid "Reset"
msgstr ""
-msgid "Storage pool which volume located in"
+msgid "Power Off"
msgstr ""
-msgid "Storage Volume"
+msgid "Actions"
msgstr ""
-msgid "Storage volume to be attached"
+msgid "Connect"
msgstr ""
-msgid "File Path"
+msgid "Edit"
msgstr ""
-msgid "The ISO file path in the server for CDROM."
+msgid "Shut Down"
msgstr ""
-msgid "Attach"
+msgid "Delete"
msgstr ""
msgid "The username or password you entered is incorrect. Please try again."
@@ -1549,6 +1566,21 @@ msgstr ""
msgid "No"
msgstr ""
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr ""
@@ -1619,21 +1651,6 @@ msgstr ""
msgid "Please, wait..."
msgstr ""
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr ""
@@ -1769,6 +1786,9 @@ msgstr ""
msgid "Bridged: Virtual machines are connected to physical network directly"
msgstr ""
+msgid "(No interfaces found)"
+msgstr ""
+
msgid "Destination"
msgstr ""
diff --git a/po/ko_KR.po b/po/ko_KR.po
index 8807787..2c845a9 100644
--- a/po/ko_KR.po
+++ b/po/ko_KR.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2013-07-11 17:32-0400\n"
"Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
"Language-Team: English\n"
@@ -150,6 +150,12 @@ msgid "Unable to read image file %(filename)s"
msgstr ""
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr "가상 머신 %(name)s이(가) 이미 존재합니다."
@@ -371,7 +377,7 @@ msgstr "오류 때문에 템플리트를 작성할 수 없음: %(err)s"
msgid "Unable to delete template due error: %(err)s"
msgstr "오류 때문에 템플리트를 삭제할 수 없음: %(err)s"
-msgid "Disk size must be greater than 1GB."
+msgid "Disk size must be an integer greater than 1GB."
msgstr ""
msgid "Template base image must be a valid local image file"
@@ -872,6 +878,12 @@ msgid ""
"machine disk"
msgstr "새 가상 머신 디스크를 추가할 유형 및 경로를 지정하십시오."
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr "YUM 저장소 ID는 단일 단어의 문자열이어야 합니다."
@@ -969,6 +981,11 @@ msgstr "저장소를 추가할 수 없습니다. 세부사항: '%(err)s'"
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr "저장소를 제거할 수 없습니다. 세부사항: '%(err)s'"
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr "오류 코드"
@@ -1078,30 +1095,6 @@ msgstr "분리"
msgid "Cancel"
msgstr "취소"
-msgid "Start"
-msgstr "시작"
-
-msgid "Reset"
-msgstr "다시 설정"
-
-msgid "Power Off"
-msgstr ""
-
-msgid "Actions"
-msgstr "조치"
-
-msgid "Connect"
-msgstr "연결"
-
-msgid "Edit"
-msgstr "편집"
-
-msgid "Shut Down"
-msgstr "시스템 종료"
-
-msgid "Delete"
-msgstr "삭제"
-
msgid "Add a Storage Device to VM"
msgstr "스토리지 장치를 VM에 추가"
@@ -1132,6 +1125,30 @@ msgstr "CDROM을 위한 서버의 ISO 파일 경로입니다."
msgid "Attach"
msgstr "연결"
+msgid "Start"
+msgstr "시작"
+
+msgid "Reset"
+msgstr "다시 설정"
+
+msgid "Power Off"
+msgstr ""
+
+msgid "Actions"
+msgstr "조치"
+
+msgid "Connect"
+msgstr "연결"
+
+msgid "Edit"
+msgstr "편집"
+
+msgid "Shut Down"
+msgstr "시스템 종료"
+
+msgid "Delete"
+msgstr "삭제"
+
msgid "The username or password you entered is incorrect. Please try again."
msgstr ""
"입력한 사용자 이름 또는 비밀번호가 올바르지 않습니다. 다시 시도하십시오."
@@ -1624,6 +1641,21 @@ msgstr "예"
msgid "No"
msgstr "아니오"
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr "새 스토리지 풀 정의"
@@ -1697,21 +1729,6 @@ msgstr "SCSI 어댑터"
msgid "Please, wait..."
msgstr "잠시 기다려 주십시오."
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr "템플리트 추가"
@@ -1847,6 +1864,10 @@ msgstr "NAT: 아웃바운드 물리적 네트워크 연결만"
msgid "Bridged: Virtual machines are connected to physical network directly"
msgstr "브릿지됨: 가상 머신이 물리적 네트워크에 직접 연결됨"
+#, fuzzy
+msgid "(No interfaces found)"
+msgstr "템플리트가 없습니다."
+
msgid "Destination"
msgstr "대상:"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 7761caf..4a02d48 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-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2014-08-28 20:24+0000\n"
"Last-Translator: Crístian Deives dos Santos Viana <cristiandeives@gmail."
"com>\n"
@@ -170,6 +170,12 @@ msgid "Unable to read image file %(filename)s"
msgstr "Não foi possível ler o arquivo de imagem %(filename)s."
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr "Máquina virtual %(name)s já existe"
@@ -406,7 +412,7 @@ msgstr "Não foi possível criar o modelo devido a um erro: %(err)s"
msgid "Unable to delete template due error: %(err)s"
msgstr "Não foi possível remover o modelo devido a um erro: %(err)s"
-msgid "Disk size must be greater than 1GB."
+msgid "Disk size must be an integer greater than 1GB."
msgstr "Tamanho do disco deve ser maior do que 1GB."
msgid "Template base image must be a valid local image file"
@@ -936,6 +942,12 @@ msgstr ""
"Somente um caminho ou pool/volume pode ser especificado para adicionar um "
"novo disco da máquina virtual."
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr "ID do repositório YUM deve ser apenas uma palavra."
@@ -1044,6 +1056,11 @@ msgstr "Não foi possível adicionar o repositório. Detalhes: '%(err)s'"
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr "Não foi possível remover o repositório. Detalhes: '%(err)s'"
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr "CÓDIGO DE ERRO"
@@ -1153,30 +1170,6 @@ msgstr "Remover"
msgid "Cancel"
msgstr "Cancelar"
-msgid "Start"
-msgstr "Iniciar"
-
-msgid "Reset"
-msgstr "Reiniciar"
-
-msgid "Power Off"
-msgstr "Forçar desligamento"
-
-msgid "Actions"
-msgstr "Ações"
-
-msgid "Connect"
-msgstr "Conectar"
-
-msgid "Edit"
-msgstr "Editar"
-
-msgid "Shut Down"
-msgstr "Desligar"
-
-msgid "Delete"
-msgstr "Remover"
-
msgid "Add a Storage Device to VM"
msgstr "Adicionar um dispositivo de storage à VM"
@@ -1208,6 +1201,30 @@ msgstr "O caminho do arquivo ISO para o CDROM no servidor."
msgid "Attach"
msgstr "Adicionar"
+msgid "Start"
+msgstr "Iniciar"
+
+msgid "Reset"
+msgstr "Reiniciar"
+
+msgid "Power Off"
+msgstr "Forçar desligamento"
+
+msgid "Actions"
+msgstr "Ações"
+
+msgid "Connect"
+msgstr "Conectar"
+
+msgid "Edit"
+msgstr "Editar"
+
+msgid "Shut Down"
+msgstr "Desligar"
+
+msgid "Delete"
+msgstr "Remover"
+
msgid "The username or password you entered is incorrect. Please try again."
msgstr ""
"O usuário ou senha inseridos estão incorretos. Por favor, tente novamente."
@@ -1721,6 +1738,21 @@ msgstr "Sim"
msgid "No"
msgstr "Não"
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr "Definir novo Storage Pool"
@@ -1794,21 +1826,6 @@ msgstr "Adaptador SCSI"
msgid "Please, wait..."
msgstr "Por favor, aguarde..."
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr "Adicionar Modelo"
@@ -1945,6 +1962,9 @@ msgid "Bridged: Virtual machines are connected to physical network directly"
msgstr ""
"Bridged: Máquinas virtuais estão conectadas diretamente com a rede física"
+msgid "(No interfaces found)"
+msgstr "Nenhum modelo encontrado."
+
msgid "Destination"
msgstr "Destino"
diff --git a/po/ru_RU.po b/po/ru_RU.po
index b02bf5f..45cadca 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2014-08-28 17:32+0000\n"
"Last-Translator: Aline Manera <aline.manera(a)gmail.com>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/kimchi/language/"
@@ -149,6 +149,12 @@ msgid "Unable to read image file %(filename)s"
msgstr ""
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr "Виртуальная машина %(name)s уже существует"
@@ -369,7 +375,7 @@ msgstr "Не удалось создать шаблон из-за ошибки %
msgid "Unable to delete template due error: %(err)s"
msgstr "Не удалось удалить шаблон из-за ошибки %(err)s"
-msgid "Disk size must be greater than 1GB."
+msgid "Disk size must be an integer greater than 1GB."
msgstr "Размер диска должен быть больше 1 Гб."
msgid "Template base image must be a valid local image file"
@@ -865,6 +871,12 @@ msgid ""
"machine disk"
msgstr "Укажите тип и путь для добавления нового диска виртуальной машины"
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr ""
"ИД хранилища YUM должен быть строкой, состоящей только из одного слова."
@@ -969,6 +981,11 @@ msgstr "Не удалось добавить хранилище. Сведени
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr "Не удалось удалить хранилище. Сведения: %(err)s"
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr "Код ошибки"
@@ -1078,30 +1095,6 @@ msgstr "Отключить"
msgid "Cancel"
msgstr "Отмена"
-msgid "Start"
-msgstr "Запустить"
-
-msgid "Reset"
-msgstr "Сбросить"
-
-msgid "Power Off"
-msgstr "Выключить"
-
-msgid "Actions"
-msgstr "Действия"
-
-msgid "Connect"
-msgstr "Подключить"
-
-msgid "Edit"
-msgstr "Редактировать"
-
-msgid "Shut Down"
-msgstr "Завершить работу"
-
-msgid "Delete"
-msgstr "Удалить"
-
msgid "Add a Storage Device to VM"
msgstr "Добавить устройство хранения в VM"
@@ -1132,6 +1125,30 @@ msgstr "Путь к файлу ISO для CDROM на сервере."
msgid "Attach"
msgstr "Подключить"
+msgid "Start"
+msgstr "Запустить"
+
+msgid "Reset"
+msgstr "Сбросить"
+
+msgid "Power Off"
+msgstr "Выключить"
+
+msgid "Actions"
+msgstr "Действия"
+
+msgid "Connect"
+msgstr "Подключить"
+
+msgid "Edit"
+msgstr "Редактировать"
+
+msgid "Shut Down"
+msgstr "Завершить работу"
+
+msgid "Delete"
+msgstr "Удалить"
+
msgid "The username or password you entered is incorrect. Please try again."
msgstr "Указано неверное имя пользователя или пароль. Введите еще раз."
@@ -1627,6 +1644,21 @@ msgstr "Да"
msgid "No"
msgstr "Нет"
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr "Создать пул памяти"
@@ -1699,21 +1731,6 @@ msgstr "Адаптер SCSI"
msgid "Please, wait..."
msgstr "Подождите..."
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr "Добавить шаблон"
@@ -1849,6 +1866,9 @@ msgstr "NAT (только исходящее физическое сетевое
msgid "Bridged: Virtual machines are connected to physical network directly"
msgstr "Через мост (прямое подключение виртуальных машин к физической сети)"
+msgid "(No interfaces found)"
+msgstr "Не найдены шаблоны."
+
msgid "Destination"
msgstr "Целевое расположение:"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 47e1713..68790a5 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-09-24 14:00-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2013-06-27 10:48+0000\n"
"Last-Translator: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>\n"
"Language-Team: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>\n"
@@ -160,6 +160,12 @@ msgid "Unable to read image file %(filename)s"
msgstr "未能读取镜像文件 %(filename)s"
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr "磁盘文件必须已存在系统中,%(filename)s不是合法文件名"
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr "虚拟机%(name)s已经存在"
@@ -376,7 +382,7 @@ msgstr "创建模板失败。详情:%(err)s"
msgid "Unable to delete template due error: %(err)s"
msgstr "由于错误:%(err)s,未能删除模板"
-msgid "Disk size must be greater than 1GB."
+msgid "Disk size must be an integer greater than 1GB."
msgstr "磁盘大小必须大于1GB。"
msgid "Template base image must be a valid local image file"
@@ -841,6 +847,12 @@ msgid ""
"machine disk"
msgstr "增加虚拟机磁盘时,仅能指定路径或存储池/存储卷中的一个"
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr "格式为%(format)s的卷不符合存储类型%(type)s"
+
msgid "YUM Repository ID must be one word only string."
msgstr "YUM软件仓库ID必须是只包含一个单词的字符串"
@@ -938,6 +950,11 @@ msgstr "不能增加软件仓库。详情:'%(err)s'"
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr "不能移除软件仓库。详情:'%(err)s'"
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr "软件仓库不支持配置类型: %(items)s"
+
msgid "ERROR CODE"
msgstr "错误码"
@@ -1045,30 +1062,6 @@ msgstr "卸载"
msgid "Cancel"
msgstr "取消"
-msgid "Start"
-msgstr "启用"
-
-msgid "Reset"
-msgstr "重置"
-
-msgid "Power Off"
-msgstr "关闭电源"
-
-msgid "Actions"
-msgstr "操作"
-
-msgid "Connect"
-msgstr "连接到"
-
-msgid "Edit"
-msgstr "编辑"
-
-msgid "Shut Down"
-msgstr "关机"
-
-msgid "Delete"
-msgstr "删除"
-
msgid "Add a Storage Device to VM"
msgstr "为虚拟机添加一个存储设备"
@@ -1099,6 +1092,30 @@ msgstr "服务器端CDROM所使用的ISO文件路径"
msgid "Attach"
msgstr "装载"
+msgid "Start"
+msgstr "启用"
+
+msgid "Reset"
+msgstr "重置"
+
+msgid "Power Off"
+msgstr "关闭电源"
+
+msgid "Actions"
+msgstr "操作"
+
+msgid "Connect"
+msgstr "连接到"
+
+msgid "Edit"
+msgstr "编辑"
+
+msgid "Shut Down"
+msgstr "关机"
+
+msgid "Delete"
+msgstr "删除"
+
msgid "The username or password you entered is incorrect. Please try again."
msgstr "用户名或密码错误,请重新输入。"
@@ -1577,6 +1594,21 @@ msgstr "是"
msgid "No"
msgstr "否"
+msgid "Add a Volume to Storage Pool"
+msgstr "为存储池添加一个卷"
+
+msgid "Fetch from remote URL"
+msgstr "从远程URL获取"
+
+msgid "Enter the remote URL here."
+msgstr "在这里输入远程URL。"
+
+msgid "Upload an file"
+msgstr "上传一个文件"
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr "选择您需要上传的ISO文件(以.iso为后缀名)。"
+
msgid "Define a New Storage Pool"
msgstr "定义一个新的存储池"
@@ -1647,21 +1679,6 @@ msgstr "SCSI适配器"
msgid "Please, wait..."
msgstr "请等待..."
-msgid "Add a Volume to Storage Pool"
-msgstr "为存储池添加一个卷"
-
-msgid "Fetch from remote URL"
-msgstr "从远程URL获取"
-
-msgid "Enter the remote URL here."
-msgstr "在这里输入远程URL。"
-
-msgid "Upload an file"
-msgstr "上传一个文件"
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr "选择您需要上传的ISO文件(以.iso为后缀名)。"
-
msgid "Add Template"
msgstr "创建模板"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 7186a52..5a32278 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-23 10:19-0300\n"
+"POT-Creation-Date: 2014-09-25 17:06+0800\n"
"PO-Revision-Date: 2013-07-11 17:32-0400\n"
"Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
"Language-Team: English\n"
@@ -144,6 +144,12 @@ msgid "Unable to read image file %(filename)s"
msgstr ""
#, python-format
+msgid ""
+"Image file must be an existing file on system. %(filename)s is not a valid "
+"input."
+msgstr ""
+
+#, python-format
msgid "Virtual machine %(name)s already exists"
msgstr "虛擬機器 %(name)s 已存在"
@@ -358,8 +364,8 @@ msgstr "由於下列錯誤,無法建立範本:%(err)s"
msgid "Unable to delete template due error: %(err)s"
msgstr "由於下列錯誤,無法刪除範本:%(err)s"
-msgid "Disk size must be greater than 1GB."
-msgstr ""
+msgid "Disk size must be an integer greater than 1GB."
+msgstr "硬碟大小必須是大于1GB的整數"
msgid "Template base image must be a valid local image file"
msgstr "範本 CDROM 必須是本端或遠端 ISO 檔案"
@@ -821,6 +827,12 @@ msgid ""
"machine disk"
msgstr "指定類型和路徑以新增虛擬機器磁碟"
+#, python-format
+msgid ""
+"Volume chosen with format %(format)s does not fit in the storage type "
+"%(type)s"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr "YUM 儲存庫 ID 必須是僅限一個單字的字串。"
@@ -918,6 +930,11 @@ msgstr "無法新增儲存庫。詳細資料:'%(err)s'"
msgid "Unable to remove repository. Details: '%(err)s'"
msgstr "無法移除儲存庫。詳細資料:'%(err)s'"
+#, python-format
+msgid ""
+"Configuration items: '%(items)s' are not supported by repository manager"
+msgstr ""
+
msgid "ERROR CODE"
msgstr "錯誤碼"
@@ -1025,30 +1042,6 @@ msgstr "分離"
msgid "Cancel"
msgstr "取消 "
-msgid "Start"
-msgstr "開始"
-
-msgid "Reset"
-msgstr "重設"
-
-msgid "Power Off"
-msgstr ""
-
-msgid "Actions"
-msgstr "動作"
-
-msgid "Connect"
-msgstr "連接"
-
-msgid "Edit"
-msgstr "編輯"
-
-msgid "Shut Down"
-msgstr "關閉"
-
-msgid "Delete"
-msgstr "刪除"
-
msgid "Add a Storage Device to VM"
msgstr "將儲存裝置新增至 VM"
@@ -1079,6 +1072,30 @@ msgstr "CDROM 的 ISO 檔案路徑在伺服器中。"
msgid "Attach"
msgstr "連接"
+msgid "Start"
+msgstr "開始"
+
+msgid "Reset"
+msgstr "重設"
+
+msgid "Power Off"
+msgstr ""
+
+msgid "Actions"
+msgstr "動作"
+
+msgid "Connect"
+msgstr "連接"
+
+msgid "Edit"
+msgstr "編輯"
+
+msgid "Shut Down"
+msgstr "關閉"
+
+msgid "Delete"
+msgstr "刪除"
+
msgid "The username or password you entered is incorrect. Please try again."
msgstr "您輸入的使用者名稱或密碼不正確。請重試。"
@@ -1563,6 +1580,21 @@ msgstr "是"
msgid "No"
msgstr "否"
+msgid "Add a Volume to Storage Pool"
+msgstr ""
+
+msgid "Fetch from remote URL"
+msgstr ""
+
+msgid "Enter the remote URL here."
+msgstr ""
+
+msgid "Upload an file"
+msgstr ""
+
+msgid "Choose the ISO file (with .iso suffix) you want to upload."
+msgstr ""
+
msgid "Define a New Storage Pool"
msgstr "定義新的儲存區"
@@ -1633,21 +1665,6 @@ msgstr "SCSI 配接卡"
msgid "Please, wait..."
msgstr "請稍候..."
-msgid "Add a Volume to Storage Pool"
-msgstr ""
-
-msgid "Fetch from remote URL"
-msgstr ""
-
-msgid "Enter the remote URL here."
-msgstr ""
-
-msgid "Upload an file"
-msgstr ""
-
-msgid "Choose the ISO file (with .iso suffix) you want to upload."
-msgstr ""
-
msgid "Add Template"
msgstr "新增範本"
@@ -1783,6 +1800,9 @@ msgstr "NAT:僅限出埠實體網路連線"
msgid "Bridged: Virtual machines are connected to physical network directly"
msgstr "已橋接:虛擬機器直接已連接至實體網路"
+msgid "(No interfaces found)"
+msgstr "找不到範本。"
+
msgid "Destination"
msgstr "目的地:"
--
1.8.3.2
10 years, 3 months
[PATCH] Fix: accelerate mockmodel for file upload
by lvroyce@linux.vnet.ibm.com
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
File upload fails with error 404 because of small read is time consuming,
change read size and wait in test to guarentee storage volume
created when query URI.
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
---
src/kimchi/mockmodel.py | 2 +-
tests/test_rest.py | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/kimchi/mockmodel.py b/src/kimchi/mockmodel.py
index ab4357d..cbbdba3 100644
--- a/src/kimchi/mockmodel.py
+++ b/src/kimchi/mockmodel.py
@@ -534,7 +534,7 @@ class MockModel(object):
size = 0
try:
while True:
- data = upload_file.file.read(8192)
+ data = upload_file.file.read(8192*32)
if not data:
break
size += len(data)
diff --git a/tests/test_rest.py b/tests/test_rest.py
index 7eb6233..fa44985 100644
--- a/tests/test_rest.py
+++ b/tests/test_rest.py
@@ -1948,8 +1948,10 @@ class RestTests(unittest.TestCase):
self.assertEquals(r.status_code, 202)
task = r.json()
self._wait_task(task['id'])
+ time.sleep(5)
resp = self.request('/storagepools/default/storagevolumes/%s' %
task['target_uri'].split('/')[-1])
+
self.assertEquals(200, resp.status)
# Create a file with 5M to upload
--
1.8.3.2
10 years, 3 months
[PATCH V2] Bugfix: Cancel option not working properly in New Storage Define
by Wen Wang
From: Wen Wang <wenwang(a)linux.vnet.ibm.com>
V1 -> V2:
Make the "Create" button change style and disable the input box only
when clicked on "ok" in "confirm" diaguage. The button and the input
style stay the same if user cancel the creating job.
This bug fix the defect that when adding a new logical storage pool, a
confrim message box show up and when canceling it, the inputbox as well
as button "Create" is still disabled.
Signed-off-by: Wen Wang <wenwang(a)linux.vnet.ibm.com>
---
ui/js/src/kimchi.storagepool_add_main.js | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/ui/js/src/kimchi.storagepool_add_main.js b/ui/js/src/kimchi.storagepool_add_main.js
index 4f1f943..c167acd 100644
--- a/ui/js/src/kimchi.storagepool_add_main.js
+++ b/ui/js/src/kimchi.storagepool_add_main.js
@@ -352,8 +352,6 @@ kimchi.validateLogicalForm = function () {
kimchi.addPool = function(event) {
if (kimchi.validateForm()) {
- $('#pool-doAdd').hide();
- $('#pool-loading').show();
var formData = $('#form-pool-add').serializeObject();
delete formData.authname;
var poolType = $('#poolTypeId').selectMenu('value');
@@ -390,7 +388,6 @@ kimchi.addPool = function(event) {
} else if (poolType === 'scsi'){
formData.source = { adapter_name: $('#scsiAdapter').selectMenu('value') };
}
- $('input', '#form-pool-add').attr('disabled','disabled');
if (poolType === 'logical') {
var settings = {
title : i18n['KCHAPI6001M'],
@@ -399,6 +396,9 @@ kimchi.addPool = function(event) {
cancel : i18n['KCHAPI6003M']
};
kimchi.confirm(settings, function() {
+ $('input', '#form-pool-add').attr('disabled','disabled');
+ $('#pool-loading').show();
+ $('#pool-doAdd').hide();
kimchi.createStoragePool(formData, function() {
kimchi.doListStoragePools();
kimchi.window.close();
--
1.7.1
10 years, 3 months
Kimchi 1.3 is released!
by Aline Manera
On behalf of everyone who has worked hard on this release, I am pleased
to announce the availability of *Kimchi 1.3*!
This release adds many new features including:
✔ Guest access based on users and groups
✔ Discovery of other Kimchi servers on the same network
✔ Check README-federation for more details
✔ Template based on image files
✔ iSCSI pool: Discover available iSCSI targets given an iSCSI server
✔ Debug report renaming
✔ Download file to storage pool
✔ Partial translation for the following languages::
✔ Traditional Chinese
✔ Russian
✔ Korean
✔ Japanese
✔ Italian
✔ French
✔ Spanish
✔ German
We have worked hard to ensure that Kimchi runs well on the most popular
Linux distributions including: Fedora 20, Ubuntu 14.04, openSUSE 13.1,
RHEL 6.5
and RHEL7. Kimchi uses standard Linux interfaces so it should run well
on many
other distributions too.
You can easily grab this release in tarball format or via git:
✔ https://github.com/kimchi-project/kimchi/archive/1.3.0.tar.gz
✔ git clone https://github.com/kimchi-project/kimchi.git
There are also some packages available at:
http://kimchi-project.github.io/kimchi/downloads/
Go ahead! Give it a try and let us know what you think!
Regards,
Aline Manera
10 years, 3 months
[PATCH V2] issue #447: Check download URL prior to start Task
by Aline Manera
When user provides an invalid donwload URL, the error message
"Unexpected exception" was displayed without any more information.
On Kimchi logs, there is:
Error in async_task 1
Traceback (most recent call last):
File "/home/alinefm/kimchi/src/kimchi/asynctask.py", line 72, in _run_helper
self.fn(cb, opaque)
File "/home/alinefm/kimchi/src/kimchi/model/storagevolumes.py", line 192, in _create_volume_with_url
with contextlib.closing(urllib2.urlopen(url)) as response:
File "/usr/lib64/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.7/urllib2.py", line 404, in open
response = self._open(req, data)
File "/usr/lib64/python2.7/urllib2.py", line 422, in _open
'_open', req)
File "/usr/lib64/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib64/python2.7/urllib2.py", line 1224, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File "/usr/lib64/python2.7/urllib2.py", line 1186, in do_open
raise URLError(err)
URLError: <urlopen error [Errno -2] Name or service not known>
It is because the download URL was not being checked prior to start the
Task and this case was not checked on Task handler.
To solver it, check if the download URL is accessible prior to start the
Task so user can change it accordingly.
Signed-off-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
---
src/kimchi/i18n.py | 1 +
src/kimchi/model/storagevolumes.py | 8 ++++++++
2 files changed, 9 insertions(+)
diff --git a/src/kimchi/i18n.py b/src/kimchi/i18n.py
index 4466d23..d402dde 100644
--- a/src/kimchi/i18n.py
+++ b/src/kimchi/i18n.py
@@ -190,6 +190,7 @@ messages = {
"KCHVOL0019E": _("Create volume from %(param)s is not supported"),
"KCHVOL0020E": _("Storage volume capacity must be an integer number."),
"KCHVOL0021E": _("Storage volume URL must be http://, https://, ftp:// or ftps://."),
+ "KCHVOL0022E": _("Unable to access file %(url)s. Please, check it."),
"KCHIFACE0001E": _("Interface %(name)s does not exist"),
diff --git a/src/kimchi/model/storagevolumes.py b/src/kimchi/model/storagevolumes.py
index ac6887a..cc61e68 100644
--- a/src/kimchi/model/storagevolumes.py
+++ b/src/kimchi/model/storagevolumes.py
@@ -67,6 +67,14 @@ class StorageVolumesModel(object):
create_param = vol_source[index_list[0]]
+ # Verify if the URL is valid
+ if create_param == 'url':
+ url = params['url']
+ try:
+ urllib2.urlopen(url).close()
+ except:
+ raise InvalidParameter('KCHVOL0022E', {'url': url})
+
if name is None:
# the methods listed in 'REQUIRE_NAME_PARAMS' cannot have
# 'name' == None
--
1.9.3
10 years, 3 months
[PATCH] issue #447: Check download URL prior to start Task
by Aline Manera
When user provides an invalid donwload URL, the error message
"Unexpected exception" was displayed without any more information.
On Kimchi logs, there is:
Error in async_task 1
Traceback (most recent call last):
File "/home/alinefm/kimchi/src/kimchi/asynctask.py", line 72, in _run_helper
self.fn(cb, opaque)
File "/home/alinefm/kimchi/src/kimchi/model/storagevolumes.py", line 192, in _create_volume_with_url
with contextlib.closing(urllib2.urlopen(url)) as response:
File "/usr/lib64/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.7/urllib2.py", line 404, in open
response = self._open(req, data)
File "/usr/lib64/python2.7/urllib2.py", line 422, in _open
'_open', req)
File "/usr/lib64/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib64/python2.7/urllib2.py", line 1224, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File "/usr/lib64/python2.7/urllib2.py", line 1186, in do_open
raise URLError(err)
URLError: <urlopen error [Errno -2] Name or service not known>
It is because the download URL was not being checked prior to start the
Task and this case was not checked on Task handler.
To solver it, check if the download URL is accessible prior to start the
Task so user can change it accordingly.
Signed-off-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
---
src/kimchi/i18n.py | 1 +
src/kimchi/model/storagevolumes.py | 8 ++++++++
2 files changed, 9 insertions(+)
diff --git a/src/kimchi/i18n.py b/src/kimchi/i18n.py
index 635d6b9..67dfc11 100644
--- a/src/kimchi/i18n.py
+++ b/src/kimchi/i18n.py
@@ -190,6 +190,7 @@ messages = {
"KCHVOL0019E": _("Create volume from %(param)s is not supported"),
"KCHVOL0020E": _("Storage volume capacity must be an integer number."),
"KCHVOL0021E": _("Storage volume URL must be http://, https://, ftp:// or ftps://."),
+ "KCHVOL0022E": _("Unable to access file %(url)s. Please, check it."),
"KCHIFACE0001E": _("Interface %(name)s does not exist"),
diff --git a/src/kimchi/model/storagevolumes.py b/src/kimchi/model/storagevolumes.py
index ac6887a..58730ea 100644
--- a/src/kimchi/model/storagevolumes.py
+++ b/src/kimchi/model/storagevolumes.py
@@ -67,6 +67,14 @@ class StorageVolumesModel(object):
create_param = vol_source[index_list[0]]
+ # Verify if the URL is valid
+ if create_param == 'url':
+ url = params['url']
+ try:
+ urllib2.urlopen(url)
+ except:
+ raise InvalidParameter('KCHVOL0022E', {'url': url})
+
if name is None:
# the methods listed in 'REQUIRE_NAME_PARAMS' cannot have
# 'name' == None
--
1.9.3
10 years, 3 months