Airsdk mission in a docker

Hello there,
I am trying to use a custom airsdk mission in a docker.
I have this as the test file :

MISSION_URL = os.environ.get("MISSION_URL", "/home/ros/mission/.airsdk/out/mission-anafi2_pc/images/com.missions.unmanned_mission.tar.gz")

def test_main_mission():
    drone = olympe.Drone(DRONE_IP)
    try:
        with drone.mission.from_path(MISSION_URL).open() as UnmannedMission:
             logger.warning(f"UnmannedMission dir : {dir(UnmannedMission)}")
    except Exception as e:
        logger.warning(f"Exception : {e}")

This test file works in a local environment Ubuntu22.04.
In my docker I am running under ubuntu 20.4 with openssl 3.8.0 build from source. It keeps raising this exception :

Unsupported ECC curve (OID: 1.3.132.0.35)

At first I had an old openssl version differeznt from the one I have on my host, so I build the same version as my host from source in the docker, but it keeps raising this exception.
When building my mission on my host with “airsdk build”, the .airsdk/ folder is created. I copied this folder in my docker, this is the path you see MISSION_URL, where the tar.gz is.
The path is good, the file exists and is the name as the locally working version, and is issued of a build on a Ubuntu 22.04 environment with openssl3.
Have you an idea of what may be causing the issue ?
Thanks !

Finally, I managed to use airsdk mission in a docker from ubuntu20.04 and openssl 1.1.1f.
I wanted python to be compiled against a newer version of openssl that supports this type of encryption.
I installed openssl 3.0.8 from source.
As I wanted to keep python 3.8 the way it works in the docker for other applications I installed python 3.10 from source and configured it to be compiled against my custom intall of openssl. Then in the heading of my python script I specified :

#!/usr/local/bin/python3.10

Depending where you installed python, but the thing is to specify the right version of python to use. And it works !

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.