I've spent the weekend trying to get to the bottom of this issue.
Adding a Host fails:
From RHVM
VDSM rhv1 command failed: Connection reset by peer
Could not get hardware information for host rhv1
VDSM rhv1 command failed: Failed to read hardware information
Host rhv1 installed
Network changes were saved on host rhv1
Installing Host rhv1. Stage: Termination.
Installing Host rhv1. Retrieving installation logs to:
'/var/log/ovirt-engine/host-deploy/ovirt-host-deploy-20161010115606-192.168.21.71-24d39274.log'.
Installing Host rhv1. Stage: Pre-termination.
Installing Host rhv1. Starting ovirt-vmconsole-host-sshd.
Installing Host rhv1. Starting vdsm.
Installing Host rhv1. Stopping libvirtd.
Installing Host rhv1. Stage: Closing up.
Installing Host rhv1. Setting kernel arguments.
Installing Host rhv1. Stage: Transaction commit.
Installing Host rhv1. Enrolling serial console certificate.
Installing Host rhv1. Enrolling certificate.
Installing Host rhv1. Stage: Misc configuration.
This was in the /var/log/vdsm/vdsm.log on the host trying to be added:
jsonrpc.Executor/2::ERROR::2016-10-10
11:57:10,276::API::1340::vds::(getHardwareInfo) failed to retrieve hardware
info
Traceback (most recent call last):
File "/usr/share/vdsm/API.py", line 1337, in getHardwareInfo
hw = supervdsm.getProxy().getHardwareInfo()
File "/usr/lib/python2.7/site-packages/vdsm/supervdsm.py", line 53, in
__call__
return callMethod()
File "/usr/lib/python2.7/site-packages/vdsm/supervdsm.py", line 51, in
<lambda>
**kwargs)
File "<string>", line 2, in getHardwareInfo
File "/usr/lib64/python2.7/multiprocessing/managers.py", line 759, in
_callmethod
kind, result = conn.recv()
EOFError
and then VDSM fails to start.
Looking at the source code...
def getHardwareInfoStructure():
dmiInfo = getAllDmidecodeInfo()
sysStruct = {}
for k1, k2 in (('system', 'Manufacturer'),
('system', 'Product Name'),
('system', 'Version'),
('system', 'Serial Number'),
('system', 'UUID'),
('system', 'Family')):
val = dmiInfo.get(k1, {}).get(k2, None)
if val not in [None, 'Not Specified']:
sysStruct[(k1 + k2).replace(' ', '')] = val
return sysStruct
Running dmidecode from command line I get..
System Information
Manufacturer: Supermicro
Product Name: H8DM8-2
Version: 1234567890
Serial Number: 1234567890
UUID: 00020003-0004-0005-0006-000700080009
Wake-up Type: Power Switch
SKU Number: To Be Filled By O.E.M.
Family: To Be Filled By O.E.M.
Q: Is the string in Family the source of my problems??
Q: Any work arounds??
--
David Pinkerton
Consultant
Red Hat Asia Pacific Pty. Ltd.
Level 11, Canberra House
40 Marcus Clarke Street
Canberra 2600 ACT
Mobile: +61-488-904-232
Email: david.pinkerton(a)redhat.com
Web:
http://apac.redhat.com/ <
http://apac.redhat.com/>