Petr Šebek has posted comments on this change.
Change subject: Avoid re-setting <boot> element when updating nic properties
......................................................................
Patch Set 1:
So I changed
vnicXML.firstChild.removeChild(vnicXML.getElementsByTagName('boot')[0])
to
vnicXML.removeChild(vnicXML.getElementsByTagName('boot')[0])
And now it deletes 'boot' element:
### BEFORE ###
Thread-85::DEBUG::2013-09-03 15:32:37,172::vm::3092::vm.Vm::(setLinkAndNetwork)
vmId=`51493dc4-72f8-4aa0-89a2-dde934d5d618`::vnicXML:
<interface type="bridge">
<address bus="0x00" domain="0x0000"
function="0x0" slot="0x03" type="pci"/>
<mac address="00:1a:4a:09:65:18"/>
<model type="virtio"/>
<source bridge="rhevm"/>
<filterref filter="vdsm-no-mac-spoofing"/>
<link state="down"/>
<boot order="1"/>
</interface>
### AFTER ###
Thread-85::DEBUG::2013-09-03 15:32:37,174::vm::3096::vm.Vm::(setLinkAndNetwork)
vmId=`51493dc4-72f8-4aa0-89a2-dde934d5d618`::vnicXML AFTER DELETION:
<interface type="bridge">
<address bus="0x00" domain="0x0000"
function="0x0" slot="0x03" type="pci"/>
<mac address="00:1a:4a:09:65:18"/>
<model type="virtio"/>
<source bridge="rhevm"/>
<filterref filter="vdsm-no-mac-spoofing"/>
<link state="down"/>
</interface>
But the original exception still remains which I don't understand:
Thread-85::DEBUG::2013-09-03
15:32:37,177::libvirtconnection::101::libvirtconnection::(wrapper) Unknown libvirterror:
ecode: 3 edom: 10 level: 2 message: this function is not supported by the connection
driver: cannot modify network device boot index setting
Thread-85::DEBUG::2013-09-03 15:32:37,177::vm::3107::vm.Vm::(setLinkAndNetwork)
vmId=`51493dc4-72f8-4aa0-89a2-dde934d5d618`::Request failed: <interface
type="bridge">
<address bus="0x00" domain="0x0000"
function="0x0" slot="0x03" type="pci"/>
<mac address="00:1a:4a:09:65:18"/>
<model type="virtio"/>
<source bridge="rhevm"/>
<filterref filter="vdsm-no-mac-spoofing"/>
<link state="down"/>
</interface>
Traceback (most recent call last):
File "/usr/share/vdsm/vm.py", line 3102, in setLinkAndNetwork
libvirt.VIR_DOMAIN_AFFECT_LIVE)
File "/usr/share/vdsm/vm.py", line 824, in f
ret = attr(*args, **kwargs)
File "/usr/lib64/python2.6/site-packages/vdsm/libvirtconnection.py", line 76,
in wrapper
ret = f(*args, **kwargs)
File "/usr/lib64/python2.6/site-packages/libvirt.py", line 1742, in
updateDeviceFlags
if ret == -1: raise libvirtError ('virDomainUpdateDeviceFlags() failed',
dom=self)
libvirtError: this function is not supported by the connection driver: cannot modify
network device boot index setting
Thread-85::DEBUG::2013-09-03 15:32:37,182::vm::3114::vm.Vm::(setLinkAndNetwork)
vmId=`51493dc4-72f8-4aa0-89a2-dde934d5d618`::Rolling back link and net for: net0
Traceback (most recent call last):
File "/usr/share/vdsm/vm.py", line 3109, in setLinkAndNetwork
raise SetLinkAndNetworkError(e.message)
SetLinkAndNetworkError: this function is not supported by the connection driver: cannot
modify network device boot index setting
Thread-85::DEBUG::2013-09-03
15:32:37,183::libvirtconnection::101::libvirtconnection::(wrapper) Unknown libvirterror:
ecode: 3 edom: 10 level: 2 message: this function is not supported by the connection
driver: cannot modify network device boot index setting
Thread-85::ERROR::2013-09-03 15:32:37,183::BindingXMLRPC::984::vds::(wrapper) libvirt
error
Traceback (most recent call last):
File "/usr/share/vdsm/BindingXMLRPC.py", line 979, in wrapper
res = f(*args, **kwargs)
File "/usr/share/vdsm/BindingXMLRPC.py", line 284, in vmUpdateDevice
return vm.vmUpdateDevice(params)
File "/usr/share/vdsm/API.py", line 384, in vmUpdateDevice
return v.updateDevice(params)
File "/usr/share/vdsm/vm.py", line 3161, in updateDevice
return self._updateInterfaceDevice(params)
File "/usr/share/vdsm/vm.py", line 3071, in _updateInterfaceDevice
custom):
File "/usr/lib64/python2.6/contextlib.py", line 16, in __enter__
return self.gen.next()
File "/usr/share/vdsm/vm.py", line 3116, in setLinkAndNetwork
libvirt.VIR_DOMAIN_AFFECT_LIVE)
File "/usr/share/vdsm/vm.py", line 824, in f
ret = attr(*args, **kwargs)
File "/usr/lib64/python2.6/site-packages/libvirt.py", line 1742, in
updateDeviceFlags
if ret == -1: raise libvirtError ('virDomainUpdateDeviceFlags() failed',
dom=self)
libvirtError: this function is not supported by the connection driver: cannot modify
network device boot index setting
--
To view, visit
http://gerrit.ovirt.org/18796
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib81e1476e3ed31c9b07738cad1e45887f858d842
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Antoni Segura Puimedon <asegurap(a)redhat.com>
Gerrit-Reviewer: Petr Šebek <psebek(a)redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: No