Bug 1666997 - Cerbot: Oracle Linux 7.6, "'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer."
Summary: Cerbot: Oracle Linux 7.6, "'pyOpenSSL' module missing required functionality....
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: certbot
Version: epel7
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: James Hogarth
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-01-17 07:57 UTC by Christian Weiss
Modified: 2019-02-15 19:10 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-02-15 19:10:41 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Christian Weiss 2019-01-17 07:57:11 UTC
Description of problem:
I'm using Oracle Linux 7.6 (Oracle Cloud Image Oracle-Linux-7.6-2018.12.19-0). When installing certbot from EPEL and starting certbot I'm getting the following error:

ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.


Version-Release number of selected component (if applicable):
================================================================================
 Package                   Arch    Version           Repository            Size
================================================================================
Installing:
 certbot                   noarch  0.29.1-1.el7      epel                  36 k
Installing for dependencies:
 python-ndg_httpsclient    noarch  0.3.2-1.el7       epel                  43 k
 python-requests-toolbelt  noarch  0.8.0-1.el7       epel                  77 k
 python-zope-component     noarch  1:4.1.0-3.el7     epel                 227 k
 python-zope-event         noarch  4.0.3-2.el7       epel                  79 k
 python-zope-interface     x86_64  4.0.5-4.el7       ol7_optional_latest  138 k
 python2-acme              noarch  0.29.1-1.el7      epel                 146 k
 python2-certbot           noarch  0.29.1-1.el7      epel                 545 k
 python2-configargparse    noarch  0.11.0-1.el7      epel                  30 k
 python2-future            noarch  0.16.0-6.el7      epel                 799 k
 python2-josepy            noarch  1.1.0-1.el7       epel                  87 k
 python2-mock              noarch  1.0.1-9.el7       epel                  92 k
 python2-parsedatetime     noarch  2.4-5.el7         epel                  78 k
 python2-pyrfc3339         noarch  1.0-2.el7         epel                  13 k
 python2-requests          noarch  2.6.0-0.el7       epel                 2.9 k
 python2-six               noarch  1.9.0-0.el7       epel                 2.9 k
 pytz                      noarch  2016.10-2.el7     ol7_latest            46 k


How reproducible:
Steps to Reproduce:
1. Fresh Oracle Linux 7.6 installation (Oracle Cloud Image Oracle-Linux-7.6-2018.12.19-0).
2. yum update
3. Verified that "ol7_optional_latest" is enabled in /etc/yum.repos.d/public-yum-ol7.repo. - It is enabled by default.
4. wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
5. rpm -ivh epel-release-latest-7.noarch.rpm
6. yum install certbot
7. certbot
[...]
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.

Actual results:
# certbot
Traceback (most recent call last):
  File "/bin/certbot", line 9, in <module>
    load_entry_point('certbot==0.29.1', 'console_scripts', 'certbot')()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 558, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2682, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2355, in load
    return self.resolve()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2361, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 23, in <module>
    from certbot import client
  File "/usr/lib/python2.7/site-packages/certbot/client.py", line 16, in <module>
    from acme import client as acme_client
  File "/usr/lib/python2.7/site-packages/acme/client.py", line 37, in <module>
    requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()  # type: ignore
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 112, in inject_into_urllib3
    _validate_dependencies_met()
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 147, in _validate_dependencies_met
    raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.


Expected results:
Working certbot.

Additional info:
Backtrace:
pyopenssl.py:147:_validate_dependencies_met:ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
Local variables in innermost frame:
x509: <X509 object at 0x7f9676474c90>
X509: <type 'X509'>
Extensions: <class 'cryptography.x509.extensions.Extensions'>

# rpm -qa|grep pyOpenSSL
pyOpenSSL-0.13.1-4.el7.x86_64
python2-pyOpenSSL-17.5.0-1.3.el7

Comment 1 Christian Weiss 2019-02-15 19:10:41 UTC
Deactivating yum repository "ol7_developer" do the trick for me.


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