<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&#39;m getting past where I was failing on the hosted-engine --deploy.<div><br></div><div>FYI, I had to download the &quot;Intel Integrator Toolkit&quot; (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&#39;d like, but this has gotten me to where I can continue oVirt testing for now.  I&#39;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">&lt;<a href="mailto:mpolednik@redhat.com" target="_blank">mpolednik@redhat.com</a>&gt;</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&#39;m hoping<br>
this is the issue (and that it can be easily remedied).<br>
<br>
I&#39;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>
&lt;device&gt;<br>
 &lt;name&gt;computer&lt;/name&gt;<br>
 &lt;capability type=&#39;system&#39;&gt;<br>
   &lt;product&gt;���������������������������������&lt;/product&gt;<br>
   &lt;hardware&gt;<br>
     &lt;vendor&gt;���������������������������������&lt;/vendor&gt;<br>
     &lt;version&gt;���������������������������������&lt;/version&gt;<br>
     &lt;serial&gt;���������������������������������&lt;/serial&gt;<br>
     &lt;uuid&gt;d6a3e3c1-c5cb-42e9-a54c-ff8d0df91722&lt;/uuid&gt;<br>
   &lt;/hardware&gt;<br>
   &lt;firmware&gt;<br>
     &lt;vendor&gt;Intel Corp.&lt;/vendor&gt;<br>
     &lt;version&gt;FYBYT10H.86A.0052.2015.0923.1845&lt;/version&gt;<br>
     &lt;release_date&gt;09/23/2015&lt;/release_date&gt;<br>
   &lt;/firmware&gt;<br>
 &lt;/capability&gt;<br>
&lt;/device&gt;<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 &quot;/usr/share/vdsm/vdsm-restore-net-config&quot;, line 429, in &lt;module&gt;<br>
   restore(args)<br>
 File &quot;/usr/share/vdsm/vdsm-restore-net-config&quot;, line 387, in restore<br>
   _restore_sriov_numvfs()<br>
 File &quot;/usr/share/vdsm/vdsm-restore-net-config&quot;, line 82, in<br>
_restore_sriov_numvfs<br>
   sriov_devices = _get_sriov_devices()<br>
 File &quot;/usr/share/vdsm/vdsm-restore-net-config&quot;, line 54, in<br>
_get_sriov_devices<br>
   devices = hostdev.list_by_caps()<br>
 File &quot;/usr/share/vdsm/hostdev.py&quot;, line 177, in list_by_caps<br>
   libvirt_devices = _get_devices_from_libvirt()<br>
 File &quot;/usr/share/vdsm/hostdev.py&quot;, line 162, in _get_devices_from_libvirt<br>
   for device in libvirtconnection.get().listAllDevices(0))<br>
 File &quot;/usr/share/vdsm/hostdev.py&quot;, line 162, in &lt;genexpr&gt;<br>
   for device in libvirtconnection.get().listAllDevices(0))<br>
 File &quot;/usr/share/vdsm/hostdev.py&quot;, line 109, in _parse_device_params<br>
   devXML = etree.fromstring(device_xml)<br>
 File &quot;/usr/lib64/python2.7/xml/etree/ElementTree.py&quot;, line 1300, in XML<br>
   parser.feed(text)<br>
 File &quot;/usr/lib64/python2.7/xml/etree/ElementTree.py&quot;, line 1642, in feed<br>
   self._raiseerror(v)<br>
 File &quot;/usr/lib64/python2.7/xml/etree/ElementTree.py&quot;, 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 &quot;/bin/vdsm-tool&quot;, line 219, in main<br>
   return tool_command[cmd][&quot;command&quot;](*args)<br>
 File &quot;/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py&quot;, line<br>
41, in restore_command<br>
   exec_restore(cmd)<br>
 File &quot;/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py&quot;, line<br>
54, in exec_restore<br>
   raise EnvironmentError(&#39;Failed to restore the persisted networks&#39;)<br>
EnvironmentError: Failed to restore the persisted networks<br>
<br>
On Mon, Mar 7, 2016 at 10:37 AM, Dan Kenigsberg &lt;<a href="mailto:danken@redhat.com" target="_blank">danken@redhat.com</a>&gt; 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>
&gt; On Mon, Mar 7, 2016 at 3:01 PM, Jonathan Sherman &lt;<a href="mailto:haviland@gmail.com" target="_blank">haviland@gmail.com</a>&gt;<br>
wrote:<br>
&gt; &gt; Didi -<br>
&gt; &gt;<br>
&gt; &gt; The vdsmd service error is what led me to the vdsm-tool restore-nets<br>
&gt; &gt; concern.  See the chain of errors below (along with the other details<br>
you<br>
&gt; &gt; requested.)<br>
&gt;<br>
&gt; Thanks.<br>
&gt;<br>
&gt; Changing subject and adding Dan.<br>
<br>
&gt; &gt;<br>
&gt; &gt; [root@ovirt01 log]# vdsm-tool restore-nets<br>
&gt; &gt; Traceback (most recent call last):<br>
&gt; &gt;   File &quot;/usr/share/vdsm/vdsm-restore-net-config&quot;, line 429, in &lt;module&gt;<br>
&gt; &gt;     restore(args)<br>
&gt; &gt;   File &quot;/usr/share/vdsm/vdsm-restore-net-config&quot;, line 387, in restore<br>
&gt; &gt;     _restore_sriov_numvfs()<br>
&gt; &gt;   File &quot;/usr/share/vdsm/vdsm-restore-net-config&quot;, line 82, in<br>
&gt; &gt; _restore_sriov_numvfs<br>
&gt; &gt;     sriov_devices = _get_sriov_devices()<br>
&gt; &gt;   File &quot;/usr/share/vdsm/vdsm-restore-net-config&quot;, line 54, in<br>
&gt; &gt; _get_sriov_devices<br>
&gt; &gt;     devices = hostdev.list_by_caps()<br>
&gt; &gt;   File &quot;/usr/share/vdsm/hostdev.py&quot;, line 175, in list_by_caps<br>
&gt; &gt;     libvirt_devices = _get_devices_from_libvirt()<br>
&gt; &gt;   File &quot;/usr/share/vdsm/hostdev.py&quot;, line 160, in<br>
_get_devices_from_libvirt<br>
&gt; &gt;     for device in libvirtconnection.get().listAllDevices(0))<br>
&gt; &gt;   File &quot;/usr/share/vdsm/hostdev.py&quot;, line 160, in &lt;genexpr&gt;<br>
&gt; &gt;     for device in libvirtconnection.get().listAllDevices(0))<br>
&gt; &gt;   File &quot;/usr/share/vdsm/hostdev.py&quot;, line 107, in _parse_device_params<br>
&gt; &gt;     devXML = etree.fromstring(device_xml)<br>
&gt; &gt;   File &quot;/usr/lib64/python2.7/xml/etree/ElementTree.py&quot;, line 1300, in<br>
XML<br>
&gt; &gt;     parser.feed(text)<br>
&gt; &gt;   File &quot;/usr/lib64/python2.7/xml/etree/ElementTree.py&quot;, line 1642, in<br>
feed<br>
&gt; &gt;     self._raiseerror(v)<br>
&gt; &gt;   File &quot;/usr/lib64/python2.7/xml/etree/ElementTree.py&quot;, line 1506, in<br>
&gt; &gt; _raiseerror<br>
&gt; &gt;     raise err<br>
&gt; &gt; xml.etree.ElementTree.ParseError: not well-formed (invalid token):<br>
line 4,<br>
&gt; &gt; column 13<br>
&gt; &gt; Traceback (most recent call last):<br>
&gt; &gt;   File &quot;/bin/vdsm-tool&quot;, line 219, in main<br>
&gt; &gt;     return tool_command[cmd][&quot;command&quot;](*args)<br>
&gt; &gt;   File &quot;/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py&quot;,<br>
line<br>
&gt; &gt; 41, in restore_command<br>
&gt; &gt;     exec_restore(cmd)<br>
&gt; &gt;   File &quot;/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py&quot;,<br>
line<br>
&gt; &gt; 54, in exec_restore<br>
&gt; &gt;     raise EnvironmentError(&#39;Failed to restore the persisted networks&#39;)<br>
&gt; &gt; EnvironmentError: Failed to restore the persisted networks<br>
<br>
Jonathan, thanks for this disturbing report. For some reason, Vdsm fails<br>
to parse libvirt&#39;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>
     &quot;&quot;&quot;<br>
+    print(device_xml)<br>
     address_parser = {&#39;pci&#39;: _parse_pci_address,<br>
                       &#39;scsi&#39;: _parse_scsi_address,<br>
                       &#39;usb_device&#39;: _parse_usb_address}<br>
<br>
Regards,<br>
Dan.<br>
<br>
</blockquote></blockquote>
</div></div></blockquote></div><br></div>