Skip to content

gcloud-python can't import OpenSSL in App Engine (since it can't be vendored in) #1445

@ghost

Description

I noticed the depending crypto module was changed since commit 948cccf. The project was deployed with GAE release 1.9.32 and gcloud-python 0.9.0.

Here are some context info according to your recent comments:

  1. How do you vendor in gcloud-python for App Engine?
    As described in GAE documentation: https://cloud.google.com/appengine/docs/python/tools/libraries27#vendoring

  2. Which services / gcloud-python subpackages do you use? (I'm curious which imports / import paths your code has been using.)
    I am generating signed url for an object in Google Cloud Storage. Here's the partial stacktrace:

    Traceback (most recent call last):
    ---- omitted for simple trace) ----
    from ext import cloudstorage as storage
    File "/base/data/home/apps/sjackend-0/1.390622100755930629/ext/cloudstorage.py", line 8, in
    from gcloud import (
    File "/base/data/home/apps/s
    jackend-0/1.390622100755930629/lib/gcloud/storage/init.py", line 43, in
    from gcloud.storage.blob import Blob
    File "/base/data/home/apps/sjackend-0/1.390622100755930629/lib/gcloud/storage/blob.py", line 28, in
    from gcloud.credentials import generate_signed_url
    File "/base/data/home/apps/s
    jackend-0/1.390622100755930629/lib/gcloud/credentials.py", line 22, in
    from OpenSSL import crypto
    File "/base/data/home/apps/sjackend-0/1.390622100755930629/lib/OpenSSL/init.py", line 8, in
    from OpenSSL import rand, crypto, SSL
    File "/base/data/home/apps/s
    jackend-0/1.390622100755930629/lib/OpenSSL/rand.py", line 11, in
    from OpenSSL._util import (
    File "/base/data/home/apps/sjackend-0/1.390622100755930629/lib/OpenSSL/_util.py", line 6, in
    from cryptography.hazmat.bindings.openssl.binding import Binding
    File "/base/data/home/apps/s
    jackend-0/1.390622100755930629/lib/cryptography/hazmat/bindings/openssl/binding.py", line 14, in
    from cryptography.hazmat.bindings._openssl import ffi, lib
    ImportError: dynamic module does not define init function (init_openssl)

I guess this is caused by the inherent inflexibility with runtime environment in GAE, and affects #1009 which seems to conflict with this issue.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions