Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Johnfreeman/daq deliverables issue105 standard image #61

Closed

Conversation

jcfreeman2
Copy link
Contributor

Instructions for how to work with microservices on this branch can be found in
https://github.com/DUNE-DAQ/microservices/tree/johnfreeman/daq-deliverables_issue105_standard_image#readme

between the base image and the image with the Python packages

Note that this isn't a literal union of all the packages currently
getting yum-installed in the Dockerfiles in this repo. This is because
some packages are already available in the base image (e.g., bzip2 or
openssl), or in the case of the oracle client software, it doesn't
appear to be available in the repos reachable from this image. It _is_
available in the cern/cc7-base image, but the problem there is that
there's no Python version past 3.6 which can be installed by yum
(though to be fair, it could be installed manually if push came to
shove)
…ase and

add requirements.txt

For the time being will just use the Python which comes with cern/alma9-base
(v3.9.16), as this appears to be tied in to yum itself via the dnf Python package.
The Python packages in the requirements.txt are the union of the packages used
for the current microservices on the develop branch, minus cx-Oracle both because
Oracle use is uncertain moving forward and because it requires a dataclasses
version (0.8) which appears to be unavailable according to pip.

The versions of the Python packages are preferentially (1) the version found
in our nightly release, (2) the newest version across the microservice Python
packages, (3) in the case where no version was originally provided, the default
version which pip3 installed.
…r image which includes Oracle

A couple of quick points:

-This needed to be based on cern/cc7-base since as far as I'm aware this is the only CERN Docker image which provides a repo
 (cernonly) containing the Oracle client software

-Python needed to be installed manually since Python 3.6 is the newest Python version available in the yum repos

-The Dockerfile is a bit hacky in places (softlinking, e.g.) but can be brushed up
…scripts and add cx-Oracle Python package as standard, whether or not you actually have Oracle client software installed
…cle-inclusive image so that it builds Python based on OpenSSL v1.1.1; otherwise importing the ssl Python module won't work and (among other things) importing the requests Python module will fail
…e from the website Alessandro pointed me to in the cern/alma9-based Dockerfile; rename Dockerfile_w_oracle to Dockerfile_cc7 to reflect what the file now stands out for (and consider for deletion in the future)
…kerfile suggested by Pat and Bonnie

Specifically:
-Reduce the number of layers in the standard microservices image
-Move elisa_client_api installation out of the logbook's entrypoint script and into the Dockerfile
-Post a note suggesting that in the future we not run as root inside the microservices container
…croservice Dockerfile and requirements.txt
@jcfreeman2
Copy link
Contributor Author

Closing PR since after discussion with Alessandro, Marco, etc. it's agreed that I'll want to add packages to the image in order to support his microservice. Will reopen after they've been added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant