[virt-tools-list] [PATCH v2 virt-manager] osdict: handle libosinfo lookup failure
Giuseppe Scrivano
gscrivan at redhat.com
Wed Mar 26 14:39:47 UTC 2014
Cole Robinson <crobinso at redhat.com> writes:
> On 03/26/2014 09:41 AM, Giuseppe Scrivano wrote:
>> Cole Robinson <crobinso at redhat.com> writes:
>>
>>> On 03/26/2014 08:51 AM, Giuseppe Scrivano wrote:
>>>> Signed-off-by: Giuseppe Scrivano <gscrivan at redhat.com>
>>>> ---
>>>> OK to include this patch into the series?
>>>>
>>>> virtinst/osdict.py | 7 +++++--
>>>> 1 file changed, 5 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/virtinst/osdict.py b/virtinst/osdict.py
>>>> index 13f6670..f37ccab 100644
>>>> --- a/virtinst/osdict.py
>>>> +++ b/virtinst/osdict.py
>>>> @@ -165,9 +165,12 @@ def get_recommended_resources(variant, arch):
>>>>
>>>>
>>>> def lookup_os_by_media(location):
>>>> - media = libosinfo.Media.create_from_location(location, None)
>>>> + try:
>>>> + media = libosinfo.Media.create_from_location(location, None)
>>>> + except:
>>>> + return None
>>>
>>> I'd like to see the error here logged, it either shouldn't happen so it will
>>> rarely trigger, or its potentially informative. ACK otherwise
>>
>> I've preferred to just mute it as the error was that the location could
>> not be opened, and that makes sense when we pass a URL. Should this be
>> changed?
>>
>
> It's still informative, for the logs at least. There could be another error
> going on in libosinfo and we would want to track that at least. But we could
> avoid the URL error by not passing a URL location to libosinfo, just skip if
> distroinstaller._is_url is False
ok thanks, I didn't see that function, ok to push this version (and
enable again the exception in osdict.py)?
--- a/virtinst/distroinstaller.py
+++ b/virtinst/distroinstaller.py
@@ -473,6 +474,16 @@ class DistroInstaller(Installer):
def detect_distro(self, guest):
try:
+ if not _is_url(self.conn, self.location):
+ name = osdict.lookup_os_by_media(self.location)
+ if name:
+ logging.debug("installer.detect_distro returned=%s", name)
+ return name
+ except:
+ logging.debug("libosinfo detect failed", exc_info=True)
+
+ try:
Giuseppe
More information about the virt-tools-list
mailing list