[Kimchi-devel] [PATCH 2/2] bug fix: Do not probe ISO file while checking template integrity

Royce Lv lvroyce at linux.vnet.ibm.com
Mon Mar 3 05:21:33 UTC 2014


Reviewed-by: Royce Lv<lvroyce at linux.vnet.ibm.com>

On 2014年03月01日 00:24, Aline Manera wrote:
> From: Aline Manera <alinefm at br.ibm.com>
>
> When a template is created, the ISO file is probed to get information
> about it: if it is bootable, OS name, OS version, etc.
>
> While checking template integrity we just need to know the ISO file
> is still accessible. Which can be done by os.path.isfile() to check
> local ISO files and kimchi.utils.check_url_path() for remote ones.
>
> That way we don't need to read the ISO content to check ISO information which
> is causing a high latency issue when there is a lot of remote templates
> created in kimchi.
>
> Signed-off-by: Aline Manera <alinefm at br.ibm.com>
> ---
>   src/kimchi/vmtemplate.py |    5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/src/kimchi/vmtemplate.py b/src/kimchi/vmtemplate.py
> index a3be21b..e2d78a4 100644
> --- a/src/kimchi/vmtemplate.py
> +++ b/src/kimchi/vmtemplate.py
> @@ -26,6 +26,7 @@ import urlparse
>   from kimchi import osinfo
>   from kimchi.exception import InvalidParameter, IsoFormatError
>   from kimchi.isoinfo import IsoImage
> +from kimchi.utils import check_url_path
>
>
>   QEMU_NAMESPACE = "xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'"
> @@ -354,9 +355,7 @@ class VMTemplate(object):
>           # validate iso integrity
>           # FIXME when we support multiples cdrom devices
>           iso = self.info['cdrom']
> -        try:
> -            self.get_iso_info(iso)
> -        except Exception:
> +        if not (os.path.isfile(iso) or check_url_path(iso)):
>               invalid['cdrom'] = [iso]
>
>           self.info['invalid'] = invalid




More information about the Kimchi-devel mailing list