Bug 449129

Summary: RH 5.2 Xen - Cannot Install SLES 10 as Paravirtualized Guest
Product: Red Hat Enterprise Linux 5 Reporter: Hector Arteaga <hector.arteaga>
Component: python-virtinstAssignee: Cole Robinson <crobinso>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: urgent    
Version: 5.2CC: aboubacar.diare, cward, duck, gozen, jzhenyon, phinchman, tao, xen-maint
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-20 21:03:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Allow fetching suse paravirt kernels
none
Latest patch for fetching newer suse kernels
none
virt-manager.log
none
Installation CD not Found Image
none
Use DHCP image none

Description Hector Arteaga 2008-05-30 17:05:29 UTC
Description of problem:

Description 
Detailed information about the item: 
 I was not able to install a Paravirtualized SLES 10.1 guest OS.  This is the 
error output:

Unable to complete install 'Unable to determine kernel RPM path None
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/create.py", line 611, in do_install
    dom = guest.start_install(False, meter = meter)
  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 811, in 
start_install
    self._prepare_install(meter)
  File "/usr/lib/python2.4/site-packages/virtinst/ParaVirtGuest.py", line 56, 
in _prepare_install
    self._installer.prepare(guest = self, meter = meter)
  File "/usr/lib/python2.4/site-packages/virtinst/DistroManager.py", line 239, 
in prepare
    self._prepare_kernel_and_initrd(guest, distro, meter)
  File "/usr/lib/python2.4/site-packages/virtinst/DistroManager.py", line 209, 
in _prepare_kernel_and_initrd
    distro = distro)
  File "/usr/lib/python2.4/site-packages/virtinst/DistroManager.py", line 123, 
in acquireKernel
    return store.acquireKernel(fetcher, progresscb)
  File "/usr/lib/python2.4/site-packages/virtinst/OSDistro.py", line 132, in 
acquireKernel
    (kernelrpmname, installinitrdrpmname) = self.extractRPMNames(filelist)
  File "/usr/lib/python2.4/site-packages/virtinst/OSDistro.py", line 192, in 
extractRPMNames
    raise _("Unable to determine kernel RPM path")
Unable to determine kernel RPM path

Apparently the path to the kernel rpm can not be found.  Looking around the 
area in OSDistro.py where line 192 is (in the extractRPMNames section), it 
looks like the architecture of the Xen Server is extracted and kernel RPMs of 
the same achitecture for SLES are searched for.  It looks like this is done 
using the "kernelname" string variable to search for an appropriate RPM.  
However, the "kernelname" variable is only set if the architecture is i686.

Another thing that struck me as odd was the way that directories are compared 
with the desired one in the file ls-lR.gz.  This is done by comparing the 
lines in the ls-lR.gz file with ("." + "/suse/" + arch + ":\n"), but this does 
not take into consideration the CD# or DVD# elements that are in the directory 
lines in teh file.  So I'm not sure if this would match.  

Version-Release number of selected component (if applicable):


How reproducible:
Happens everyt time you try to create a SLES 10 guest OS.


Steps to Reproduce:
1. Simply try to create a paravirtualized Sles 10 guest OS.

  
Actual results:


Expected results:


Additional info:
I was using RH 5.2 snapshot 7

Comment 2 RHEL Program Management 2008-06-18 15:48:38 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 3 Cole Robinson 2008-07-25 19:55:39 UTC
Created attachment 312675 [details]
Allow fetching suse paravirt kernels

The patch above allows fetching suse paravirt kernels for opensuse 10 and up
and sles 10

Comment 4 Cole Robinson 2008-07-25 19:57:46 UTC
Couple commands that can be used to test the different tree configurations:

virt-install --name susetest --ram 256 --nodisks --vnc --paravirt --debug
--location http://mirrors.kernel.org/opensuse/distribution/11.0/repo/oss/

and

virt-install --name susetest --ram 256 --nodisks --vnc --paravirt --debug
--location http://mirrors.kernel.org/opensuse/distribution/10.2/repo/oss/

Comment 5 Cole Robinson 2008-09-15 19:26:45 UTC
For the above URLs, I'd use instead:

http://suse.mirrors.tds.net/pub/opensuse/distribution/11.0/repo/oss/
http://suse.mirrors.tds.net/pub/opensuse/distribution/10.2/repo/oss/

Since the others are slow as sin :(

Comment 6 Cole Robinson 2008-09-15 19:40:58 UTC
Created attachment 316775 [details]
Latest patch for fetching newer suse kernels

Comment 7 Cole Robinson 2008-09-18 21:00:47 UTC
This is built in python-virtinst-0.300.2-10.el5. Setting to MODIFIED.

Comment 10 Chris Ward 2008-11-28 07:14:38 UTC
Partners, this bug should be fixed in the latest RHEL 5.3 Snapshot. We believe that you have some interest in its correct functionality, so we're making a friendly request to send us some testing feedback. 

If you have a chance to test it, please share with us your findings. If you have successfully VERIFIED the fix, please add PartnerVerified to the Bugzilla keywords, along with a description of the results. Thanks!

Comment 12 Cole Robinson 2008-12-03 19:29:59 UTC
Hmm, looks like:

http://suse.mirrors.tds.net/pub/opensuse/distribution/10.2/repo/oss/

is no longer valid. You can use:

http://download.opensuse.org/distribution/%s/repo/oss/

And just replace the %s with 10.2, 10.3, 11.0 to test. Sorry about that.

Comment 14 Hector Arteaga 2008-12-11 21:42:37 UTC
I tried creating a VM on 5.3 snapshot 5 and it still fails.  I tried installing throught both http and nfs and neither of them worked.  I still get the same failure error:

  File "/usr/lib/python2.4/site-packages/virtinst/OSDistro.py", line 225, in acquireKernel
    return self._findXenRPMS(fetcher, progresscb)
  File "/usr/lib/python2.4/site-packages/virtinst/OSDistro.py", line 236, in _findXenRPMS
    (kernelrpmname, installinitrdrpmname) = self._extractRPMNames(filelist)
  File "/usr/lib/python2.4/site-packages/virtinst/OSDistro.py", line 297, in _extractRPMNames
    raise _("Unable to determine kernel RPM path")
Unable to determine kernel RPM path

Comment 15 Gurhan Ozen 2008-12-12 09:27:09 UTC
(In reply to comment #14)
> I tried creating a VM on 5.3 snapshot 5 and it still fails.  I tried installing
> throught both http and nfs and neither of them worked.  I still get the same
> failure error:
> 
>   File "/usr/lib/python2.4/site-packages/virtinst/OSDistro.py", line 225, in
> acquireKernel
>     return self._findXenRPMS(fetcher, progresscb)
>   File "/usr/lib/python2.4/site-packages/virtinst/OSDistro.py", line 236, in
> _findXenRPMS
>     (kernelrpmname, installinitrdrpmname) = self._extractRPMNames(filelist)
>   File "/usr/lib/python2.4/site-packages/virtinst/OSDistro.py", line 297, in
> _extractRPMNames
>     raise _("Unable to determine kernel RPM path")
> Unable to determine kernel RPM path

Hi Hector, 
Can you please provide the virt-install command you used along with the arch of dom0 you were trying this on?

Thanks,

Comment 16 Hector Arteaga 2008-12-12 17:35:00 UTC
I am actually doing the install through Virtual Machine Manager.  I've tried both SLES 10.2 and Opensource 10.2 (both x64) and they fail the same way.

Comment 17 Cole Robinson 2008-12-12 17:41:45 UTC
Can you post ~/.virt-manager/virt-manager.log? Thanks.

Comment 19 Hector Arteaga 2008-12-12 18:48:32 UTC
I've been looking at virt-manager.log and it looks like the reason it can not
load OpenSuse 10.2 is because the boot/x64_86 directory does not have the
vmlinux-xen kernel image.  I checked and the site recommended above:
http://download.opensuse.org/distribution/10.2/repo/oss/
does not have there either.

SLES 10.2 does and it does kick off the install, but it doesn't make it all the
way through.  Right afer I select DHCP as the IP acquisition method the VM
shutsdown.  I've attached some screen shots of that as well as the
virt-manager.log.

Comment 20 Hector Arteaga 2008-12-12 18:51:40 UTC
Created attachment 326758 [details]
virt-manager.log

Comment 21 Hector Arteaga 2008-12-12 18:52:35 UTC
Created attachment 326759 [details]
Installation CD not Found Image

Comment 22 Hector Arteaga 2008-12-12 18:53:10 UTC
Created attachment 326760 [details]
Use DHCP image

Comment 23 Cole Robinson 2008-12-12 20:13:57 UTC
Comment #19: Any issues with the distro actually working needs to be filed as separate bugs, it is outside the scope of this report.

Since you've reported that SLES 10.2 manages to boot, the subject of this bug has been addressed (can't boot SLES 10). Moving back to VERIFIED.

However, fetching and boot opensuse 10.2 worked fine for me, using:

http://download.opensuse.org/distribution/10.2/repo/oss/

with both virt-install and virt-manager. So I'm really not sure why it wasn't working for you: maybe network issues with the opensuse site?

Comment 25 errata-xmlrpc 2009-01-20 21:03:59 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-0216.html