skip to Main Content

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


  1. Chosen as BEST ANSWER

    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:

        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
              with:
                version: 1.59.0
            - 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
    

  2. Running this command worked for me:

    pip install pyopenssl --upgrade
    
    Login or Signup to reply.
  3. 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 supports openssl 1.1.0 or older and thus is causing this issue.

    https://cryptography.io/en/latest/changelog/#v39-0-0

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search