Urllib3 OpenSSL error when using Python in Aria Automation Orchestrator

Recently I was working on a use case of integrating NSX with Aria Automation Orchestrator (formally vRealize Orchestrator (vRO)) using the Python based NSX SDK. After downloading my Python dependencies, creating my script and importing the zip file into Orchestrator, I ran my new action to test it. At this point, I was presented with an error message in relation to the version of OpenSSL used to compile one of the dependencies. “ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘OpenSSL 1.0.2y-fips 16 Feb 2021’. See: https://github.com/urllib3/urlib3/issues/2168.

This issue is related to the version of the Urllib module provided within the polyglot functionality of Orchestrator and the version contained within the NSX SDK kit. The suggested workaround for the moment is to use an older release of Urllib to provide support for the earlier version of OpenSSL.

If you are using Action Based Extensibility (ABX) Actions to run the Python code and experience this error, there is a VMware KB article to assist you with how to workaround the issue https://kb.vmware.com/s/article/92237.

For Orchestrator, there is a different approach to being able to define the exact versions needed. You can use the environments feature to define the dependencies with the versions you want. You then specify the environment when choosing a runtime for your Action. By default, this will instruct Orchestrator to connect to the internet to the pypi.org repository to download the dependencies specified. This download is performed when the environment is created, not when the action is run.

If you do not have internet access from Orchestrator, you can still use the environments feature and the new manage repositories feature introduced in 8.11.2 to specify an additional repository to use to download the dependencies. This repository is a Python repository and not a Git repository. It must follow the standard format specified at https://peps.python.org/pep-0503/ and work with the –extra-index-url of the pip install command. I will cover the exact steps needed to use these features and an example of how to create a private Python registry/repository in upcoming blog posts.

1 thought on “Urllib3 OpenSSL error when using Python in Aria Automation Orchestrator

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this:
search previous next tag category expand menu location phone mail time cart zoom edit close