mitogen icon indicating copy to clipboard operation
mitogen copied to clipboard

mitogen.core.CallError: builtins.AttributeError: module 'cryptography.hazmat.bindings.openssl.binding' has no attribute 'Binding'

Open pschiffe opened this issue 4 years ago • 0 comments

After an upgrade to Fedora 33 (python 3.8 -> 3.9) I cannot use mitogen anymore. The error is:

The full traceback is:
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/ansible/executor/task_executor.py", line 147, in run
    res = self._execute()
  File "/usr/lib/python3.9/site-packages/ansible/executor/task_executor.py", line 665, in _execute
    result = self._handler.run(task_vars=variables)
  File "/usr/lib/python3.9/site-packages/ansible_mitogen/mixins.py", line 121, in run
    return super(ActionModuleMixin, self).run(tmp, task_vars)
  File "/usr/lib/python3.9/site-packages/ansible/plugins/action/package.py", line 72, in run
    result.update(self._execute_module(module_name=module, module_args=new_module_args, task_vars=task_vars, wrap_async=self._task.async_val))
  File "/usr/lib/python3.9/site-packages/ansible_mitogen/mixins.py", line 354, in _execute_module
    result = ansible_mitogen.planner.invoke(
  File "/usr/lib/python3.9/site-packages/ansible_mitogen/planner.py", line 568, in invoke
    response = _invoke_isolated_task(invocation, planner)
  File "/usr/lib/python3.9/site-packages/ansible_mitogen/planner.py", line 519, in _invoke_isolated_task
    return context.call(
  File "/usr/lib/python3.9/site-packages/mitogen/parent.py", line 2017, in call
    return self.default_call_chain.call(fn, *args, **kwargs)
  File "/usr/lib/python3.9/site-packages/mitogen/parent.py", line 1974, in call
    return receiver.get().unpickle(throw_dead=False)
  File "/usr/lib/python3.9/site-packages/mitogen/core.py", line 963, in unpickle
    raise obj
mitogen.core.CallError: builtins.AttributeError: module 'cryptography.hazmat.bindings.openssl.binding' has no attribute 'Binding'
  File "<stdin>", line 3668, in _dispatch_one
  File "master:/usr/lib/python3.9/site-packages/ansible_mitogen/target.py", line 414, in run_module
    return impl.run()
  File "master:/usr/lib/python3.9/site-packages/ansible_mitogen/runner.py", line 436, in run
    self.setup()
  File "master:/usr/lib/python3.9/site-packages/ansible_mitogen/runner.py", line 859, in setup
    self._setup_imports()
  File "master:/usr/lib/python3.9/site-packages/ansible_mitogen/runner.py", line 823, in _setup_imports
    mitogen.core.import_module(fullname)
  File "<stdin>", line 668, in import_module
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
  File "<stdin>", line 1507, in load_module
  File "master:/usr/lib/python3.9/site-packages/ansible/module_utils/urls.py", line 108, in <module>
    from urllib3.contrib.pyopenssl import ssl_wrap_socket
  File "/usr/lib/python3.9/site-packages/urllib3/contrib/pyopenssl.py", line 48, in <module>
    from cryptography.hazmat.backends.openssl import backend as openssl_backend
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
  File "<stdin>", line 1507, in load_module
  File "master:/usr/lib64/python3.9/site-packages/cryptography/hazmat/backends/openssl/__init__.py", line 7, in <module>
    from cryptography.hazmat.backends.openssl.backend import backend
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
  File "<stdin>", line 1507, in load_module
  File "master:/usr/lib64/python3.9/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 179, in <module>
    binding.Binding().lib.Cryptography_HAS_SCRYPT, ScryptBackend

fatal: [nas]: FAILED! => {
    "msg": "Unexpected failure during module execution.",
    "stdout": ""
}

The task where this fails is very simple:

- name: install basic packages, no EPEL
  package:
    name:
      - bash-completion
      - sysstat
      - tuned
    state: present
$ ansible --version
ansible 2.9.18
  config file = /home/path/ansible/ansible.cfg
  configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.9/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.9.2 (default, Feb 20 2021, 00:00:00) [GCC 10.2.1 20201125 (Red Hat 10.2.1-9)]

$ rpm -q python3-mitogen
python3-mitogen-0.2.9-4.fc33.noarch

Both systems are Fedora 33.

Do you have any idea what could be wrong?

Thank you.

pschiffe avatar Apr 15 '21 21:04 pschiffe