How can I regenerate the ovirt engine CA certs and corresponding vdsm certs? I have an ovirt setup that I’m upgrading from 3.2.0 (from the dre repos) to 3.2.3 and I am getting the certificate errors listed below after the upgrade. I have done this same upgrade on an number of other ovirt-engines with no issue. The setup had originally been installed with ovirt 3.1 so it possible that some of the certificate configurations from 3.1 are still present on this ovirt-engine and it is contributing to the problem. For example, I noticed that the /etc/pki/ovirt-engine/cacert.conf file on this troublesome upgrade has “default_bits = rsa:1024”, but the systems that upgraded successfully have “default_bits = rsa:2048”. The same is true for the cert.conf file.
Engine.log
2014-03-10 17:10:28,954 ERROR [org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo] (DefaultQuartzScheduler_Worker-2) vds::refreshVdsStats Failed getVdsStats, vds = a7459d21-b5a6-4330-9897-f2018c9a1776 : vm1, error = VDSNetworkException: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate
Vdsm.log
BindingXMLRPC::ERROR::2014-03-10 20:58:00,871::SecureXMLRPCServer::97::root::(verify) invalid client certificate with subject "/C=US/O=example.com/CN=CA-ovirt1.example.com.30758"
BindingXMLRPC::ERROR::2014-03-10 20:58:00,872::BindingXMLRPC::72::vds::(threaded_start) xml-rpc handler exception
Traceback (most recent call last):
File "/usr/share/vdsm/BindingXMLRPC.py", line 68, in threaded_start
self.server.handle_request()
File "/usr/lib64/python2.6/SocketServer.py", line 268, in handle_request
self._handle_request_noblock()
File "/usr/lib64/python2.6/SocketServer.py", line 278, in _handle_request_noblock
request, client_address = self.get_request()
File "/usr/lib64/python2.6/SocketServer.py", line 446, in get_request
return self.socket.accept()
File "/usr/lib64/python2.6/site-packages/vdsm/SecureXMLRPCServer.py", line 116, in accept
client, address = self.connection.accept()
File "/usr/lib64/python2.6/site-packages/M2Crypto/SSL/Connection.py", line 167, in accept
ssl.accept_ssl()
File "/usr/lib64/python2.6/site-packages/M2Crypto/SSL/Connection.py", line 156, in accept_ssl
return m2.ssl_accept(self.ssl, self._timeout)
SSLError: no certificate returned