Docker build of latest codebase doesn't work


#1

Hi,
I’ve tried the latest Docker version at https://hub.docker.com/r/sovrinfoundation/sovrin/, which runs ok, but is missing the sample files, which the Getting started guide refers to.

I tried to build a new Docker image from the Github master branch, and it built & ran fine. However, going to the sovrin cli, I received errors:

root@2661ae646ccd:/# sovrin
Traceback (most recent call last):
  File "/usr/local/bin/sovrin", line 30, in <module>
    from sovrin.common.util import getConfig
  File "/usr/local/lib/python3.5/dist-packages/sovrin/__init__.py", line 2, in <module>
    from plenum.common.util import check_deps
ImportError: cannot import name 'check_deps'

So, there’s probably non-documented magic happening still for the Docker build to work from latest codebase, eh?


#2

I’ll ask the tech team to get onto this asap. Thanks for letting us know.

@danielh


#3

I can help on some Docker issues, but I’d need to know the specific requirements, on what’s needed to make sovrin work. The current Dockerfile doesn’t look too elegant TBH.


#4

@aFox: thank you for pointing this out. The bug that’s manifested in the docker image is definitely one of code versioning; we’ve seen that bug and fixed it in other contexts. I’m sorry that you ran into it.

I am not a Docker expert, and the person who worked on the Dockerfile is not an expert, either. Both of us have some experience, but have other areas of focus. I agree with your observation that the current image is not elegant; we have a number of things we’d like to change, but we’ve been worried about stability before elegance. One obvious change we need to make is to split the current image in half – one image for the orientdb daemon, one for sovrin. Another obvious change is to reduce the number of layers, change the base image, and so forth. I would be glad of any help you could offer. You can interact with me directly on github (@dhh1128) for more details.

I’ll see if I can get a fix for this version issue committed quickly.


#5

I had hoped to finish my fix before the end of today, but I was not successful. I have asked some colleagues to work on this on Monday; they are in Hyderabad and hopefully will make progress half a day faster than I could.


#6

I’m happy to help in improving the Dockerfile. I’d just need some additional info on requirements (distro, versions, utilities, etc.). Will contact you in GH.


#7

An updated version of sovrinfoundation/sovrin:latest has been pushed to dockerhub. The problem with the code version that installs from pypi has been resolved.


#8

Thanks Daniel! Much appreciated.