Red*_*ack 5 python openssl apt ansible
这很奇怪,我昨天在我的一台目标机器上注意到它,今天它也发生在其余的机器上。我还尝试从另一台机器运行剧本,但发生了同样的事情。看来这个问题是在 Ubuntu 20.04 上 apt 升级后出现的。第一次 apt 升级完成时,一切都很好,但之后模块开始出现故障。
错误输出如下:
TASK [common : Update package manager] *************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AttributeError: module 'lib
' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'
fatal: [mr-bones]: FAILED! => changed=false
module_stderr: |-
Traceback (most recent call last):
File "<stdin>", line 107, in <module>
File "<stdin>", line 99, in _ansiballz_main
File "<stdin>", line 47, in invoke_module
File "/usr/lib/python3.8/runpy.py", line 207, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/usr/lib/python3.8/runpy.py", line 97, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/tmp/ansible_apt_payload_vpe7xcy0/ansible_apt_payload.zip/ansible/modules/apt.py", line 346, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
File "<frozen zipimport>", line 259, in load_module
File "/tmp/ansible_apt_payload_vpe7xcy0/ansible_apt_payload.zip/ansible/module_utils/urls.py", line 115, in <module>
File "/usr/local/lib/python3.8/dist-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
import OpenSSL.SSL
File "/usr/lib/python3/dist-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import crypto, SSL
File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1553, in <module>
class X509StoreFlags(object):
File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1573, in X509StoreFlags
CB_ISSUER_CHECK = _lib.X509_V_FLAG_CB_ISSUER_CHECK
AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'
module_stdout: ''
msg: |-
MODULE FAILURE
See stdout/stderr for the exact error
rc: 1
Run Code Online (Sandbox Code Playgroud)
我应该注意到,像这样的命令sudo apt-get upgrade
在没有 ansible 的目标机器上工作得很好。
有人遇到过这种情况么?我应该将此作为错误报告给 github 上的 ansible 人员吗?
编辑:我做了一些更多的挖掘,显然这会影响其他 ansible 模块,例如 get_url,这让我想到这是一个 Python/OpenSSL 错误,而不是与 apt 有关
我今天遇到了类似的问题,调查也指向了相同的方向。
我们正在使用pyOpenSSL并已锁定到旧版本。它使用最新的加密库版本并满足要求cryptography>=2.8
。
所以,意外改变的版本是密码学36.0.2
->37.0.0
发生在 4 月 26 日(昨天)。使用旧版本36.0.2
解决了我的问题,因为锁定该版本不是问题。
根据错误消息 Ansible 可能有类似的问题,因为似乎正在使用 pyOpenSSL 并且导入 OpenSSL 会给出错误,就像我的情况一样。
更新:
正如评论中提到的,最新的 pyOpenSSL 版本可能没有这个问题。因此,如果您只是想快速恢复导致问题的更改,请以某种方式恢复加密库更新。如果您有时间正确测试的话,更好的解决方案是将 pyOpenSSL 升级到最新版本。
归档时间: |
|
查看次数: |
8733 次 |
最近记录: |