From: Aline Manera <alinefm(a)br.ibm.com>
The exception instance was being used as the missing parameter what is
causing errors like below:
TypeError: coercing to Unicode: need string or buffer, exceptions.KeyError found
To fix use the string representation for the exception instance.
Signed-off-by: Aline Manera <alinefm(a)br.ibm.com>
---
src/kimchi/mockmodel.py | 4 ++--
src/kimchi/model/storagepools.py | 2 +-
src/kimchi/model/storagevolumes.py | 2 +-
src/kimchi/root.py | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/kimchi/mockmodel.py b/src/kimchi/mockmodel.py
index b50bf31..b23a024 100644
--- a/src/kimchi/mockmodel.py
+++ b/src/kimchi/mockmodel.py
@@ -367,7 +367,7 @@ class MockModel(object):
pool.info['autostart'] = False
except KeyError, item:
raise MissingParameter("KCHPOOL0004E",
- {'item': item, 'name': name})
+ {'item': str(item), 'name': name})
if name in self._mock_storagepools or name in (ISO_POOL_NAME,):
raise InvalidOperation("KCHPOOL0001E", {'name': name})
@@ -428,7 +428,7 @@ class MockModel(object):
pool.info['path'], name)
except KeyError, item:
raise MissingParameter("KCHVOL0004E",
- {'item': item, 'volume': name})
+ {'item': str(item), 'volume': name})
if name in pool._volumes:
raise InvalidOperation("KCHVOL0001E", {'name': name})
diff --git a/src/kimchi/model/storagepools.py b/src/kimchi/model/storagepools.py
index cf66a86..011feb0 100644
--- a/src/kimchi/model/storagepools.py
+++ b/src/kimchi/model/storagepools.py
@@ -90,7 +90,7 @@ class StoragePoolsModel(object):
xml = poolDef.xml.encode("utf-8")
except KeyError, item:
raise MissingParameter("KCHPOOL0004E",
- {'item': item, 'name': name})
+ {'item': str(item), 'name': name})
if name in self.get_list():
raise InvalidOperation("KCHPOOL0001E", {'name': name})
diff --git a/src/kimchi/model/storagevolumes.py b/src/kimchi/model/storagevolumes.py
index 20c65b9..6bd6ded 100644
--- a/src/kimchi/model/storagevolumes.py
+++ b/src/kimchi/model/storagevolumes.py
@@ -62,7 +62,7 @@ class StorageVolumesModel(object):
pool = StoragePoolModel.get_storagepool(pool, self.conn)
xml = vol_xml % params
except KeyError, item:
- raise MissingParameter("KCHVOL0004E", {'item': item,
+ raise MissingParameter("KCHVOL0004E", {'item': str(item),
'volume': name})
try:
diff --git a/src/kimchi/root.py b/src/kimchi/root.py
index 4a1a9cd..08056d2 100644
--- a/src/kimchi/root.py
+++ b/src/kimchi/root.py
@@ -106,7 +106,7 @@ class KimchiRoot(Root):
userid = params['userid']
password = params['password']
except KeyError, item:
- e = MissingParameter('KCHAUTH0003E', {'item': item})
+ e = MissingParameter('KCHAUTH0003E', {'item': str(item)})
raise cherrypy.HTTPError(400, e.message)
try:
--
1.7.10.4