<div dir="ltr">The SMBIOS settings were indeed indeed the issue that was blocking me. I investigated how to configure the SMBIOS settings and now restore-nets works, and I'm getting past where I was failing on the hosted-engine --deploy.<div><br></div><div>FYI, I had to download the "Intel Integrator Toolkit" (which is now EOL) and create a custom BIOS to add those settings in for my system, which is an Intel NUC DN2820FYKH.</div><div><br></div><div>I am happy to back this out and test any changes if you'd like, but this has gotten me to where I can continue oVirt testing for now. I'll likely be reinstalling a few times along the way to polish my documentation, so let me know if you want me to revert my BIOS and test anything.</div><div><br></div><div>Thanks all!</div><div>-js</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 7, 2016 at 11:22 AM, Martin Polednik <span dir="ltr"><<a href="mailto:mpolednik@redhat.com" target="_blank">mpolednik@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 07/03/16 11:09 -0500, Jonathan Sherman wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks for your time on this Dan!<br>
<br>
The output from the hostdev looks like it may be unparseable, so I'm hoping<br>
this is the issue (and that it can be easily remedied).<br>
<br>
I've also create a log of the other items you asked for, available at:<br>
<a href="https://www.dropbox.com/s/qh0yw1ptpivpatm/typescript?dl=0" rel="noreferrer" target="_blank">https://www.dropbox.com/s/qh0yw1ptpivpatm/typescript?dl=0</a><br>
<br>
[root@ovirt01 vdsm]# vdsm-tool restore-nets<br>
<device><br>
<name>computer</name><br>
<capability type='system'><br>
<product>���������������������������������</product><br>
<hardware><br>
<vendor>���������������������������������</vendor><br>
<version>���������������������������������</version><br>
<serial>���������������������������������</serial><br>
<uuid>d6a3e3c1-c5cb-42e9-a54c-ff8d0df91722</uuid><br>
</hardware><br>
<firmware><br>
<vendor>Intel Corp.</vendor><br>
<version>FYBYT10H.86A.0052.2015.0923.1845</version><br>
<release_date>09/23/2015</release_date><br>
</firmware><br>
</capability><br>
</device><br>
</blockquote>
<br></span>
That seems to be the issue. Even bigger issue is that we can<br>
not skip this device easily, as it is the root of device tree and must<br>
be present in database.<br>
<br>
I can think of logging the exception but letting the call go through<br>
and create a hook to fake a (minimal) device tree. Dan, what do you think?<br>
<br>
mpolednik<div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Traceback (most recent call last):<br>
File "/usr/share/vdsm/vdsm-restore-net-config", line 429, in <module><br>
restore(args)<br>
File "/usr/share/vdsm/vdsm-restore-net-config", line 387, in restore<br>
_restore_sriov_numvfs()<br>
File "/usr/share/vdsm/vdsm-restore-net-config", line 82, in<br>
_restore_sriov_numvfs<br>
sriov_devices = _get_sriov_devices()<br>
File "/usr/share/vdsm/vdsm-restore-net-config", line 54, in<br>
_get_sriov_devices<br>
devices = hostdev.list_by_caps()<br>
File "/usr/share/vdsm/hostdev.py", line 177, in list_by_caps<br>
libvirt_devices = _get_devices_from_libvirt()<br>
File "/usr/share/vdsm/hostdev.py", line 162, in _get_devices_from_libvirt<br>
for device in libvirtconnection.get().listAllDevices(0))<br>
File "/usr/share/vdsm/hostdev.py", line 162, in <genexpr><br>
for device in libvirtconnection.get().listAllDevices(0))<br>
File "/usr/share/vdsm/hostdev.py", line 109, in _parse_device_params<br>
devXML = etree.fromstring(device_xml)<br>
File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1300, in XML<br>
parser.feed(text)<br>
File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1642, in feed<br>
self._raiseerror(v)<br>
File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1506, in<br>
_raiseerror<br>
raise err<br>
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 4,<br>
column 13<br>
Traceback (most recent call last):<br>
File "/bin/vdsm-tool", line 219, in main<br>
return tool_command[cmd]["command"](*args)<br>
File "/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py", line<br>
41, in restore_command<br>
exec_restore(cmd)<br>
File "/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py", line<br>
54, in exec_restore<br>
raise EnvironmentError('Failed to restore the persisted networks')<br>
EnvironmentError: Failed to restore the persisted networks<br>
<br>
On Mon, Mar 7, 2016 at 10:37 AM, Dan Kenigsberg <<a href="mailto:danken@redhat.com" target="_blank">danken@redhat.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Mon, Mar 07, 2016 at 03:16:06PM +0200, Yedidyah Bar David wrote:<br>
> On Mon, Mar 7, 2016 at 3:01 PM, Jonathan Sherman <<a href="mailto:haviland@gmail.com" target="_blank">haviland@gmail.com</a>><br>
wrote:<br>
> > Didi -<br>
> ><br>
> > The vdsmd service error is what led me to the vdsm-tool restore-nets<br>
> > concern. See the chain of errors below (along with the other details<br>
you<br>
> > requested.)<br>
><br>
> Thanks.<br>
><br>
> Changing subject and adding Dan.<br>
<br>
> ><br>
> > [root@ovirt01 log]# vdsm-tool restore-nets<br>
> > Traceback (most recent call last):<br>
> > File "/usr/share/vdsm/vdsm-restore-net-config", line 429, in <module><br>
> > restore(args)<br>
> > File "/usr/share/vdsm/vdsm-restore-net-config", line 387, in restore<br>
> > _restore_sriov_numvfs()<br>
> > File "/usr/share/vdsm/vdsm-restore-net-config", line 82, in<br>
> > _restore_sriov_numvfs<br>
> > sriov_devices = _get_sriov_devices()<br>
> > File "/usr/share/vdsm/vdsm-restore-net-config", line 54, in<br>
> > _get_sriov_devices<br>
> > devices = hostdev.list_by_caps()<br>
> > File "/usr/share/vdsm/hostdev.py", line 175, in list_by_caps<br>
> > libvirt_devices = _get_devices_from_libvirt()<br>
> > File "/usr/share/vdsm/hostdev.py", line 160, in<br>
_get_devices_from_libvirt<br>
> > for device in libvirtconnection.get().listAllDevices(0))<br>
> > File "/usr/share/vdsm/hostdev.py", line 160, in <genexpr><br>
> > for device in libvirtconnection.get().listAllDevices(0))<br>
> > File "/usr/share/vdsm/hostdev.py", line 107, in _parse_device_params<br>
> > devXML = etree.fromstring(device_xml)<br>
> > File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1300, in<br>
XML<br>
> > parser.feed(text)<br>
> > File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1642, in<br>
feed<br>
> > self._raiseerror(v)<br>
> > File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1506, in<br>
> > _raiseerror<br>
> > raise err<br>
> > xml.etree.ElementTree.ParseError: not well-formed (invalid token):<br>
line 4,<br>
> > column 13<br>
> > Traceback (most recent call last):<br>
> > File "/bin/vdsm-tool", line 219, in main<br>
> > return tool_command[cmd]["command"](*args)<br>
> > File "/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py",<br>
line<br>
> > 41, in restore_command<br>
> > exec_restore(cmd)<br>
> > File "/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py",<br>
line<br>
> > 54, in exec_restore<br>
> > raise EnvironmentError('Failed to restore the persisted networks')<br>
> > EnvironmentError: Failed to restore the persisted networks<br>
<br>
Jonathan, thanks for this disturbing report. For some reason, Vdsm fails<br>
to parse libvirt's output.<br>
<br>
Could you share your libvirt version as well the output of<br>
for d in `virsh -r nodedev-list`; do echo ====$d====; virsh -r<br>
nodedev-dumpxml $d; done<br>
<br>
if all seems like valid xml, can you add the following print() and run<br>
`restore-net` again?<br>
<br>
diff --git a/lib/vdsm/hostdev.py b/lib/vdsm/hostdev.py<br>
index 6ba3189..9d22e9e 100644<br>
--- a/lib/vdsm/hostdev.py<br>
+++ b/lib/vdsm/hostdev.py<br>
@@ -113,6 +113,7 @@ def _parse_device_params(device_xml):<br>
Process device_xml and return dict of found known parameters,<br>
also doing sysfs lookups for sr-iov related information<br>
"""<br>
+ print(device_xml)<br>
address_parser = {'pci': _parse_pci_address,<br>
'scsi': _parse_scsi_address,<br>
'usb_device': _parse_usb_address}<br>
<br>
Regards,<br>
Dan.<br>
<br>
</blockquote></blockquote>
</div></div></blockquote></div><br></div>