Yesterday, my SAM build was working with the below GitHub actions. Today it suddenly started failing with an error:
AttributeError: module ‘lib’ has no attribute ‘OpenSSL_add_all_algorithms’
The SAM template doesn’t have any error which I have validated; are any others facing this issue?
name: SAM deploy
on:
push:
branches:
- main
jobs:
build-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: aws-actions/setup-sam@v2
- uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.MY_AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.MY_AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: SAM Build
run: sam build --use-container --template-file source/deploy-template.yml
- name: SAM Deploy
run: sam deploy --no-confirm-changeset --no-fail-on-empty-changeset --stack-name my-stack --resolve-s3 --capabilities CAPABILITY_IAM --region us-west-2 --parameter-overrides Environment=npd
GitHub actions error details for the SAM build
Traceback (most recent call last):
496
File "/home/runner/work/_temp/setup-sam-PFBc7r/bin/sam", line 8, in <module>
497
sys.exit(cli())
498
^^^^^
499
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
500
return self.main(*args, **kwargs)
501
^^^^^^^^^^^^^^^^^^^^^^^^^^
502
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/click/core.py", line 1055, in main
503
rv = self.invoke(ctx)
504
^^^^^^^^^^^^^^^^
505
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/click/core.py", line 1651, in invoke
506
cmd_name, cmd, args = self.resolve_command(ctx, args)
507
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
508
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/click/core.py", line 1698, in resolve_command
509
cmd = self.get_command(ctx, cmd_name)
510
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
511
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/samcli/cli/command.py", line 133, in get_command
512
mod = importlib.import_module(pkg_name)
513
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
514
File "/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/importlib/__init__.py", line 126, in import_module
515
return _bootstrap._gcd_import(name[level:], package, level)
516
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
517
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
518
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
519
File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
520
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
521
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
522
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
523
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/samcli/commands/build/__init__.py", line 6, in <module>
524
from .command import cli # noqa
505
^^^^^^^^^^^^^^^^^^^^^^^^
506
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/samcli/commands/build/command.py", line 12, in <module>
507
from samcli.commands._utils.options import (
508
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/samcli/commands/_utils/options.py", line 21, in <module>
509
from samcli.commands._utils.template import get_template_data, TemplateNotFoundException
510
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/samcli/commands/_utils/template.py", line 10, in <module>
511
from botocore.utils import set_value_from_jmespath
512
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/botocore/utils.py", line 37, in <module>
513
import botocore.httpsession
514
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/botocore/httpsession.py", line 46, in <module>
515
from urllib3.contrib.pyopenssl import (
516
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
517
import OpenSSL.crypto
518
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/OpenSSL/__init__.py", line 8, in <module>
519
from OpenSSL import crypto, SSL
520
File "/home/runner/work/_temp/setup-sam-PFBc7r/.venv/lib/python3.11/site-packages/OpenSSL/crypto.py", line 3268, in <module>
521
_lib.OpenSSL_add_all_algorithms()
522
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
523
AttributeError: module 'lib' has no attribute 'OpenSSL_add_all_algorithms'
524
Error: Process completed with exit code 1.
I validated the SAM template
I also tried sudo apt install python3-openssl
in the GitHub actions, but it didn’t work.
3
Answers
It started working again after downgrading the version of aws-actions/setup-sam@v2. The issue is with the cryptography version 39.0.0 which was released 13hrs ago; the latest version SAM uses this version, and during the SAM build we are noticing an error.
Refer to the PyPi release history: https://pypi.org/project/cryptography/38.0.4/#history
So whoever using aws-actions/setup-sam@v2 should point back to the SAM version to 1.59.0 which could be a temporary fix:
Running this command worked for me:
Please run this command:
pip3 install --force-reinstall cryptography==38.0.4
or
pip3 install --upgrade cryptography==38.0.4
cryptography 39.0.0
no longer supportsopenssl 1.1.0
or older and thus is causing this issue.https://cryptography.io/en/latest/changelog/#v39-0-0