Bug 457055

Summary: Allow specifying disk bus and network interface model (e.g. for virtio)
Product: [Community] Virtualization Tools Reporter: Mark McLoughlin <markmc>
Component: virtinstAssignee: Cole Robinson <crobinso>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: high    
Version: unspecifiedCC: berrange, crobinso
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-09-03 13:58:36 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:

Description Mark McLoughlin 2008-07-29 09:50:10 EDT
In order to allow creating a guest with virtio devices, we need support in
virtinst such that the guest xml goes from e.g.

    <disk type='file' device='disk'>
      <source file='...'/>
      <target dev='hda'/>
    </disk>

    <interface type='bridge'>
      <source bridge='...'/>
      <mac address='...'/>
    </interface>

to:

    <disk type='file' device='disk'>
      <source file='...'/>
      <target dev='vda' bus='virtio'/>
    </disk>

    <interface type='bridge'>
      <source bridge='...'/>
      <mac address='...'/>
      <model type='virtio'/>
    </interface>
Comment 1 Daniel Berrange 2008-07-29 09:55:39 EDT
The choice of device type shouldn't be exposed to the user - we should
auto-select the most appropriate choice based on the OS type / variant details.
eg,  Fedora 10, or Ubuntu Hardy Heron shoudl automatically get given a virtio
network, FreeBSD can be given ne2k NIC (iirc it has problems with rtl8139) and
everything else can default to rtl8139.
Comment 2 Mark McLoughlin 2008-07-29 09:57:47 EDT
See ubuntu's patches at:

  https://bugs.launchpad.net/ubuntu/+source/virtinst/+bug/218574

General idea is that OS_TYPES is modified so that for e.g. F9 and later we'd
know to use virtio
Comment 3 Cole Robinson 2008-08-14 17:24:44 EDT
Okay I have this working at the moment, and hopefully a more general infrastructure for adding device defaults in the future.

Couple questions: 
 1) F9 supports virtio? Both disk and net?
 2) At least on my F9 box, using virtio networking and pxe throws an error:
    "No valid PXE rom found for network device"
    Known limitation? Just trying to determine if I should put a special
    case in virtinst for this.

Thanks
Comment 4 Mark McLoughlin 2008-08-15 02:44:55 EDT
(In reply to comment #3)
> Okay I have this working at the moment, and hopefully a more general
> infrastructure for adding device defaults in the future.
> 
> Couple questions: 
>  1) F9 supports virtio? Both disk and net?

Yep.

>  2) At least on my F9 box, using virtio networking and pxe throws an error:
>     "No valid PXE rom found for network device"
>     Known limitation? Just trying to determine if I should put a special
>     case in virtinst for this.

Yeah, I think PXE support is a recent addition on the *host* side. Haven't tried it myself.

Just passing qemu-kvm a kernel/initrd on the command line works fine with virtio.
Comment 5 Cole Robinson 2008-08-17 15:19:44 EDT
Okay, I've added this in upstream:

  f9 and f10 use virtio for disk and net devices
  ubuntu hardy uses it for just net (there's a note about
    lack disk virtio issues in their changelog)
  virtio is skipped for the first network device if using
    pxe. This is at least neccessary for f9, i'll test to
    see if virtio + pxe bombs on rawhide.

Couple related fixes as well:

  virt-install doesn't require both an os type and variant
    specified now, just a variant is sufficient. So to
    test this, only --os-variant fedora9 is needed.
  freebsd6/7 now defaults to using ne2k, as dan mentioned
  openbsd defaults to pcnet, which was mentioned on
    et-mgmt-tools a while back and some openbsd wiki
    pages I found.

Setting this to POST (or should I just close this since
Virtualization is for upstream bugs?)
Comment 6 Cole Robinson 2008-09-03 13:58:36 EDT
I'm closing this since it is fixed upstream.