Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1597711 - [RHV] take python-pyOpenSSL from OSP
Summary: [RHV] take python-pyOpenSSL from OSP
Keywords:
Status: RELEASE_PENDING
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: pyOpenSSL
Version: 4.2.4
Hardware: x86_64
OS: Linux
high
urgent
Target Milestone: ovirt-4.3.0
: ---
Assignee: Alona Kaplan
QA Contact: Pavel Novotny
URL:
Whiteboard:
Depends On:
Blocks: 1601471
TreeView+ depends on / blocked
 
Reported: 2018-07-03 13:40 UTC by Andreas Bleischwitz
Modified: 2019-04-16 00:02 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)
Environment:
Last Closed:
oVirt Team: Network
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1583810 None None None 2019-02-22 17:53:11 UTC
Red Hat Knowledge Base (Solution) 3469361 None None None 2018-07-27 19:03:49 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-4.2.4.5-0.1.el7_3.noarch
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
    base.getOptionsConfig(args)
  File "/usr/share/yum-cli/cli.py", line 262, in getOptionsConfig
    self.conf
  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
    self.plugins.run('init')
  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
    login(timeout=timeout)
  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
    self.read(fd)
  File "/usr/lib/python2.7/site-packages/rhn/transports.py", line 420, in read
    max_mem_size=self.max_mem_size)
  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
    self.close()
  File "/usr/lib64/python2.7/httplib.py", line 555, in close
    self.fp.close()
  File "/usr/lib/python2.7/site-packages/rhn/SSL.py", line 133, in close
    self._really_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
python2-asn1crypto-0.23.0-2.el7ost.noarch
python2-idna-2.5-1.el7ost.noarch
python2-cryptography-2.1.4-3.el7ost.x86_64
python2-cffi-1.11.2-1.el7ost.x86_64
python-cffi-doc-1.11.2-1.el7ost.noarch
pyOpenSSL-doc-17.3.0-4.el7ost.noarch
python2-six-1.10.0-9.el7ost.noarch
python2-pyOpenSSL-17.3.0-4.el7ost.noarch

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


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