[ovirt-users] restore-nets failing (was: Fresh install failing (Hosted Engine))

Jonathan Sherman haviland at gmail.com
Mon Mar 7 16:45:27 UTC 2016


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.

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.

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.

Thanks all!
-js

On Mon, Mar 7, 2016 at 11:22 AM, Martin Polednik <mpolednik at redhat.com>
wrote:

> On 07/03/16 11:09 -0500, Jonathan Sherman wrote:
>
>> Thanks for your time on this Dan!
>>
>> The output from the hostdev looks like it may be unparseable, so I'm
>> hoping
>> this is the issue (and that it can be easily remedied).
>>
>> I've also create a log of the other items you asked for, available at:
>> https://www.dropbox.com/s/qh0yw1ptpivpatm/typescript?dl=0
>>
>> [root at ovirt01 vdsm]# vdsm-tool restore-nets
>> <device>
>>  <name>computer</name>
>>  <capability type='system'>
>>    <product>���������������������������������</product>
>>    <hardware>
>>      <vendor>���������������������������������</vendor>
>>      <version>���������������������������������</version>
>>      <serial>���������������������������������</serial>
>>      <uuid>d6a3e3c1-c5cb-42e9-a54c-ff8d0df91722</uuid>
>>    </hardware>
>>    <firmware>
>>      <vendor>Intel Corp.</vendor>
>>      <version>FYBYT10H.86A.0052.2015.0923.1845</version>
>>      <release_date>09/23/2015</release_date>
>>    </firmware>
>>  </capability>
>> </device>
>>
>
> That seems to be the issue. Even bigger issue is that we can
> not skip this device easily, as it is the root of device tree and must
> be present in database.
>
> I can think of logging the exception but letting the call go through
> and create a hook to fake a (minimal) device tree. Dan, what do you think?
>
> mpolednik
>
>
> Traceback (most recent call last):
>>  File "/usr/share/vdsm/vdsm-restore-net-config", line 429, in <module>
>>    restore(args)
>>  File "/usr/share/vdsm/vdsm-restore-net-config", line 387, in restore
>>    _restore_sriov_numvfs()
>>  File "/usr/share/vdsm/vdsm-restore-net-config", line 82, in
>> _restore_sriov_numvfs
>>    sriov_devices = _get_sriov_devices()
>>  File "/usr/share/vdsm/vdsm-restore-net-config", line 54, in
>> _get_sriov_devices
>>    devices = hostdev.list_by_caps()
>>  File "/usr/share/vdsm/hostdev.py", line 177, in list_by_caps
>>    libvirt_devices = _get_devices_from_libvirt()
>>  File "/usr/share/vdsm/hostdev.py", line 162, in _get_devices_from_libvirt
>>    for device in libvirtconnection.get().listAllDevices(0))
>>  File "/usr/share/vdsm/hostdev.py", line 162, in <genexpr>
>>    for device in libvirtconnection.get().listAllDevices(0))
>>  File "/usr/share/vdsm/hostdev.py", line 109, in _parse_device_params
>>    devXML = etree.fromstring(device_xml)
>>  File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1300, in XML
>>    parser.feed(text)
>>  File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1642, in feed
>>    self._raiseerror(v)
>>  File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1506, in
>> _raiseerror
>>    raise err
>> xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 4,
>> column 13
>> Traceback (most recent call last):
>>  File "/bin/vdsm-tool", line 219, in main
>>    return tool_command[cmd]["command"](*args)
>>  File "/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py", line
>> 41, in restore_command
>>    exec_restore(cmd)
>>  File "/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py", line
>> 54, in exec_restore
>>    raise EnvironmentError('Failed to restore the persisted networks')
>> EnvironmentError: Failed to restore the persisted networks
>>
>> On Mon, Mar 7, 2016 at 10:37 AM, Dan Kenigsberg <danken at redhat.com>
>> wrote:
>>
>> On Mon, Mar 07, 2016 at 03:16:06PM +0200, Yedidyah Bar David wrote:
>>> > On Mon, Mar 7, 2016 at 3:01 PM, Jonathan Sherman <haviland at gmail.com>
>>> wrote:
>>> > > Didi -
>>> > >
>>> > > The vdsmd service error is what led me to the vdsm-tool restore-nets
>>> > > concern.  See the chain of errors below (along with the other details
>>> you
>>> > > requested.)
>>> >
>>> > Thanks.
>>> >
>>> > Changing subject and adding Dan.
>>>
>>> > >
>>> > > [root at ovirt01 log]# vdsm-tool restore-nets
>>> > > Traceback (most recent call last):
>>> > >   File "/usr/share/vdsm/vdsm-restore-net-config", line 429, in
>>> <module>
>>> > >     restore(args)
>>> > >   File "/usr/share/vdsm/vdsm-restore-net-config", line 387, in
>>> restore
>>> > >     _restore_sriov_numvfs()
>>> > >   File "/usr/share/vdsm/vdsm-restore-net-config", line 82, in
>>> > > _restore_sriov_numvfs
>>> > >     sriov_devices = _get_sriov_devices()
>>> > >   File "/usr/share/vdsm/vdsm-restore-net-config", line 54, in
>>> > > _get_sriov_devices
>>> > >     devices = hostdev.list_by_caps()
>>> > >   File "/usr/share/vdsm/hostdev.py", line 175, in list_by_caps
>>> > >     libvirt_devices = _get_devices_from_libvirt()
>>> > >   File "/usr/share/vdsm/hostdev.py", line 160, in
>>> _get_devices_from_libvirt
>>> > >     for device in libvirtconnection.get().listAllDevices(0))
>>> > >   File "/usr/share/vdsm/hostdev.py", line 160, in <genexpr>
>>> > >     for device in libvirtconnection.get().listAllDevices(0))
>>> > >   File "/usr/share/vdsm/hostdev.py", line 107, in
>>> _parse_device_params
>>> > >     devXML = etree.fromstring(device_xml)
>>> > >   File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1300, in
>>> XML
>>> > >     parser.feed(text)
>>> > >   File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1642, in
>>> feed
>>> > >     self._raiseerror(v)
>>> > >   File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1506, in
>>> > > _raiseerror
>>> > >     raise err
>>> > > xml.etree.ElementTree.ParseError: not well-formed (invalid token):
>>> line 4,
>>> > > column 13
>>> > > Traceback (most recent call last):
>>> > >   File "/bin/vdsm-tool", line 219, in main
>>> > >     return tool_command[cmd]["command"](*args)
>>> > >   File "/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py",
>>> line
>>> > > 41, in restore_command
>>> > >     exec_restore(cmd)
>>> > >   File "/usr/lib/python2.7/site-packages/vdsm/tool/restore_nets.py",
>>> line
>>> > > 54, in exec_restore
>>> > >     raise EnvironmentError('Failed to restore the persisted
>>> networks')
>>> > > EnvironmentError: Failed to restore the persisted networks
>>>
>>> Jonathan, thanks for this disturbing report. For some reason, Vdsm fails
>>> to parse libvirt's output.
>>>
>>> Could you share your libvirt version as well the output of
>>>     for d in `virsh -r nodedev-list`; do echo ====$d====; virsh -r
>>> nodedev-dumpxml $d; done
>>>
>>> if all seems like valid xml, can you add the following print() and run
>>> `restore-net` again?
>>>
>>> diff --git a/lib/vdsm/hostdev.py b/lib/vdsm/hostdev.py
>>> index 6ba3189..9d22e9e 100644
>>> --- a/lib/vdsm/hostdev.py
>>> +++ b/lib/vdsm/hostdev.py
>>> @@ -113,6 +113,7 @@ def _parse_device_params(device_xml):
>>>      Process device_xml and return dict of found known parameters,
>>>      also doing sysfs lookups for sr-iov related information
>>>      """
>>> +    print(device_xml)
>>>      address_parser = {'pci': _parse_pci_address,
>>>                        'scsi': _parse_scsi_address,
>>>                        'usb_device': _parse_usb_address}
>>>
>>> Regards,
>>> Dan.
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/users/attachments/20160307/0e4ece25/attachment-0001.html>


More information about the Users mailing list