Bug 1597711 - [RHV] take python-pyOpenSSL from OSP
Summary: [RHV] take python-pyOpenSSL from OSP
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: pyOpenSSL
Version: 4.2.4
Hardware: x86_64
OS: Linux
Target Milestone: ovirt-4.3.0
: ---
Assignee: Alona Kaplan
QA Contact: Pavel Novotny
Depends On:
Blocks: 1601471
TreeView+ depends on / blocked
Reported: 2018-07-03 13:40 UTC by Andreas Bleischwitz
Modified: 2019-05-29 08:21 UTC (History)
4 users (show)

Fixed In Version: ovirt-engine-4.3.0-0.5.alpha1.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1601471 (view as bug list)
Last Closed: 2019-05-08 12:39:45 UTC
oVirt Team: Network
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1583810 None None None 2019-10-24 17:37:37 UTC
Red Hat Knowledge Base (Solution) 3469361 None None None 2018-07-27 19:03:49 UTC
Red Hat Product Errata RHBA-2019:1098 None None None 2019-05-08 12:39:47 UTC

Description Andreas Bleischwitz 2018-07-03 13:40:58 UTC
Description of problem:
After the update of python-pyOpenSSL from the rhel-7-server-rhv-4.2-manager-rpms repository the yum-rhn-plugin will no longer be able to connect to a Satellite 5 system.

Version-Release number of selected component (if applicable):

RHEL-7.5, RHV-manager 4.2 rhnlib-2.5.22-15.el6, Satellite 5

Jul 03 07:00:35 Updated: ovirt-engine-setup-
Jul 03 07:00:35 Installed: python-pyOpenSSL-16.2.0-3.el7ost.noarch
Jul 03 07:01:16 Erased: pyOpenSSL-0.13.1-3.el7.x86_64

How reproducible:
- Always

Actual results:

# yum repolist
Loaded plugins: rhnplugin, search-disabled-repos, versionlock
Traceback (most recent call last):
  File "/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 375, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 170, in main
  File "/usr/share/yum-cli/cli.py", line 262, in getOptionsConfig
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 1078, in <lambda>
    conf = property(fget=lambda self: self._getConfig(),
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 420, in _getConfig
  File "/usr/lib/python2.7/site-packages/yum/plugins.py", line 188, in run
    func(conduitcls(self, self.base, conf, **kwargs))
  File "/usr/share/yum-plugins/rhnplugin.py", line 121, in init_hook
    login_info = up2dateAuth.getLoginInfo(timeout=timeout)
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 228, in getLoginInfo
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 195, in login
    li = server.up2date.login(systemId)
  File "/usr/share/rhn/up2date_client/rhnserver.py", line 63, in __call__
    return rpcServer.doCall(method, *args, **kwargs)
  File "/usr/share/rhn/up2date_client/rpcServer.py", line 204, in doCall
    ret = method(*args, **kwargs)
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1233, in __call__
    return self.__send(self.__name, args)
  File "/usr/share/rhn/up2date_client/rpcServer.py", line 38, in _request1
    ret = self._request(methodname, params)
  File "/usr/lib/python2.7/site-packages/rhn/rpclib.py", line 384, in _request
    self._handler, request, verbose=self._verbose)
  File "/usr/lib/python2.7/site-packages/rhn/transports.py", line 188, in request
    return self._process_response(fd, connection)
  File "/usr/lib/python2.7/site-packages/rhn/transports.py", line 195, in _process_response
    fd = resp.decode(fd)
  File "/usr/lib/python2.7/site-packages/rhn/transports.py", line 442, in decode
  File "/usr/lib/python2.7/site-packages/rhn/transports.py", line 420, in read
  File "/usr/lib/python2.7/site-packages/rhn/transports.py", line 528, in _smart_read
    chunk = fd.read(l)
  File "/usr/lib64/python2.7/httplib.py", line 610, in read
  File "/usr/lib64/python2.7/httplib.py", line 555, in close
  File "/usr/lib/python2.7/site-packages/rhn/SSL.py", line 133, in close
  File "/usr/lib/python2.7/site-packages/rhn/SSL.py", line 148, in _really_close
    if self._connection.state_string() == 'SSL negotiation finished successfully':
  File "/usr/lib/python2.7/site-packages/OpenSSL/SSL.py", line 1135, in __getattr__
    return getattr(self._socket, name)
AttributeError: '_socketobject' object has no attribute 'state_string'

Expected results:
yum is able to communicate via rhnlib with Satellite 5

Additional info:

Workaround described in https://access.redhat.com/solutions/3469361 fixes rhnlib, but the issue is introduced by the change of the API of pyOpenSSL.

pyOpenSSL-17.3.0-4.el7ost from the OpenStack repos fixed that issue and re-introduced the API function.

Comment 2 Dan Kenigsberg 2018-07-14 05:04:07 UTC
Aviv, please remind me: what should we do to inherit pyOpenSSL from OSP13? Our current erratum https://errata.devel.redhat.com/errata/details/30165 is not marked as multi-product.

Comment 5 Pavel Novotny 2019-02-22 17:56:44 UTC
Verified with

All builds are attached to the erratum and installation test passed.

Comment 7 errata-xmlrpc 2019-05-08 12:39:45 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.