Bug 827347

Summary: [RHEVM] [backend] [Hot plug NIC] VM start fails when VM NIC is deactivated and PXE is first in VM boot order
Product: Red Hat Enterprise Virtualization Manager Reporter: Martin Pavlik <mpavlik>
Component: ovirt-engineAssignee: Shahar Havivi <shavivi>
Status: CLOSED CURRENTRELEASE QA Contact: Martin Pavlik <mpavlik>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.1.0CC: acathrow, dyasny, gklein, iheim, lpeer, Rhev-m-bugs, shavivi, yeylon, ykaul
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: network
Fixed In Version: si11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Network RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 581266, 833637, 835390, 835392    
Attachments:
Description Flags
vdsm.log + engine.log + libvirt.log
none
logs2 none

Description Martin Pavlik 2012-06-01 08:06:20 UTC
Created attachment 588350 [details]
vdsm.log + engine.log + libvirt.log

Description of problem:
VM start fails when VM NIC is deactivated and PXE is first in VM boot order 

Version-Release number of selected component (if applicable):
oVirt Enterprise Virtualization Engine Manager Version: 3.1.0_0001-11.el6ev 

How reproducible:
100%

Steps to Reproduce:
1. create Windows 7 VM, attach one NIC, have the NIC deactivated
2. Virtual Machines -> your VM -> Edit -> Boot Options
   a) Set first device: Network (PXE)
   b) Second device: Hard Disk

  
Actual results:
VM fails to run

Expected results:
boot from PXE should fail but the VM run should succeed

Additional info:

vdsm.log
Thread-102700::ERROR::2012-06-01 09:37:09,552::vm::601::vm.Vm::(_startUnderlyingVm) vmId=`7ddeb32d-c574-40b7-8e2d-8a892b2005da`::The vm start process failed
Traceback (most recent call last):
  File "/usr/share/vdsm/vm.py", line 567, in _startUnderlyingVm
    self._run()
  File "/usr/share/vdsm/libvirtvm.py", line 1365, in _run
    self._connection.createXML(domxml, flags),
  File "/usr/lib/python2.6/site-packages/vdsm/libvirtconnection.py", line 82, in wrapper
    ret = f(*args, **kwargs)
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 2486, in createXML
    if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self)
libvirtError: internal error boot orders have to be contiguous and starting from 1

Comment 1 Shahar Havivi 2012-07-08 14:11:40 UTC
I cannot reproduce this error,
I have VM (not windows) with one Nic and One disk,
boot order: 1.pxe 2.disk
   runvm - works fine.
disable nic1
   runvm -works fine

its look like libvirt bug:
libvirtError: internal error boot orders have to be contiguous and starting from 1

Please try in si9 with libvirt 0.9.10-20 and up,
I checked that with libvirt-0.9.10-21.el6_3.1.x86_64 and it work fine.

Comment 2 Martin Pavlik 2012-07-11 12:02:39 UTC
Hi Shahar,

it seems that the problem ties to windows VM that is why it did not reproduce for you. I've tried with RHEL 6.3 VM and it started. I tried again with W7 VM and error is still present.


I have no clue why log time is 2 hours shifted between vdsm.log and libvirt.log from same machine. vdsm.log + enfine.log + libvirt.log attached (as logs2)

versions:
libvirt-0.9.10-21.el6_3.1.x86_64
vdsm-4.9.6-17.0.el6.x86_64

libvirt.log
2012-07-11 11:49:14.828+0000: 14031: error : virNetClientProgramDispatchError:174 : internal error boot orders have to be contiguous and starting from 1


vdsm.log

Thread-4986::ERROR::2012-07-11 13:49:14,828::vm::604::vm.Vm::(_startUnderlyingVm) vmId=`48222360-9a3a-4cfa-a976-35902a7d9063`::The vm start process failed
Traceback (most recent call last):
  File "/usr/share/vdsm/vm.py", line 570, in _startUnderlyingVm
    self._run()
  File "/usr/share/vdsm/libvirtvm.py", line 1364, in _run
    self._connection.createXML(domxml, flags),
  File "/usr/lib/python2.6/site-packages/vdsm/libvirtconnection.py", line 82, in wrapper
    ret = f(*args, **kwargs)
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 2490, in createXML
    if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self)

Comment 3 Martin Pavlik 2012-07-11 12:03:04 UTC
Created attachment 597543 [details]
logs2

Comment 4 Shahar Havivi 2012-07-15 08:17:41 UTC
patch sent at: http://gerrit.ovirt.org/#/c/6262/

Comment 5 Shahar Havivi 2012-07-15 11:55:42 UTC
merged at: 4172c76d343dc49dbd52887e7e1306de59722640