On 2014?09?02? 00:17, Aline Manera wrote:
On 09/01/2014 08:50 AM, lvroyce0210(a)gmail.com wrote:
> From: Royce Lv<lvroyce(a)linux.vnet.ibm.com>
>
> As we are starting to support upload and download to create volume,
> they need to be distinguished from previous creating through libvirt api.
> Adding a dispatcher to support this.
>
> Signed-off-by: Royce Lv<lvroyce(a)linux.vnet.ibm.com>
> ---
> src/kimchi/i18n.py | 2 ++
> src/kimchi/model/storagevolumes.py | 14 ++++++++++++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/src/kimchi/i18n.py b/src/kimchi/i18n.py
> index 2eae7e8..bbec591 100644
> --- a/src/kimchi/i18n.py
> +++ b/src/kimchi/i18n.py
> @@ -185,6 +185,8 @@ messages = {
> "KCHVOL0015E": _("Storage volume format not supported"),
> "KCHVOL0016E": _("Storage volume requires a volume name"),
> "KCHVOL0017E": _("Unable to update database with storage volume
information due error: %(err)s"),
> + "KCHVOL0018E": _("Only one of %(param)s can be specified"),
> + "KCHVOL0019E": _("Creating volume from %(param)s is not
supported"),
>
> "KCHIFACE0001E": _("Interface %(name)s does not exist"),
>
> diff --git a/src/kimchi/model/storagevolumes.py b/src/kimchi/model/storagevolumes.py
> index b60884c..fc63a16 100644
> --- a/src/kimchi/model/storagevolumes.py
> +++ b/src/kimchi/model/storagevolumes.py
> @@ -44,6 +44,20 @@ class StorageVolumesModel(object):
> self.objstore = kargs['objstore']
>
> def create(self, pool_name, params):
> + vol_source = ['file', 'url', 'capacity']
> +
> + if sum(1 for p in vol_source if p in params) != 1:
> + raise InvalidParameter("KCHVOL0018E", {'param':
str(vol_source)})
str(vol_source) will generate a string like "[' file', 'url',
'capacity']"
I suggest to use ", ".join(a) to generate a string like "file, url,
capacity"
ACK
> +
> + for p in vol_source:
> + if p in params:
As just one option is allowed you don't need a "for" statement
You should be able to do:
+ try:
+ create_func = getattr(self, "_create_volume_with_"
+*vol_source[0]*)
+ except AttributeError:
+ raise InvalidParameter("KCHVOL0019E",
{'param':*vol_source[0]*})
+ return create_func(pool_name, params)
ACK
> + try:
> + create_func = getattr(self, "_create_volume_with_" +
p)
> + except AttributeError:
> + raise InvalidParameter("KCHVOL0019E",
{'param': p})
> + return create_func(pool_name, params)
> +
> + def _create_volume_with_capacity(self, pool_name, params):
> vol_xml = """
> <volume>
> <name>%(name)s</name>
_______________________________________________
Kimchi-devel mailing list
Kimchi-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/kimchi-devel