-
Notifications
You must be signed in to change notification settings - Fork 42
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
Issue running RDFUnit Docker in a Kubernetes environment #98
Comments
Here is an example of a Dockerfile to build Java we use usually (1 stage with maven to build the jar, 1 stage with a light JRE to execute the jar : https://github.com/MaastrichtU-IDS/xml2rdf/blob/master/Dockerfile Compiling a jar allow you to avoid any issues related to changing the path where the application is used within your container Commands to run the test pod and connect to it (from the d2s-argo-workflow repo):
|
I fixed RDFUnit to be packaged as a standalone jar in the RDFUnit Docker container. So using it from any path with any workdir set will work (available at https://hub.docker.com/repository/docker/umids/rdfunit ) What has been done:
See commits: See the new Dockerfile We could avoid to change the pom.xml by selection the |
Thanks for the report @vemonet I like your change, my only concern is that by adding the shade plugin inside the default maven profile, it will be running for every maven execution and possibly delay other dev processes. We could easily add it in a separate profile (i.e. |
Hi @jimkont , yes that was my thought also I rewrote the change to edit only the Dockerfile to properly use the cli-standalone profile when running See commit vemonet@2452b1b And see the Dockerfile: https://github.com/vemonet/RDFUnit/blob/develop/Dockerfile I kept Additionally this also fix RDFUnit to be used in CWL workflows (CWL redefine the Docker workdir) 🙂 I did a pull request if that works for you: #99 |
What is the status here? |
@jimkont it is working as expected now, thanks a lot! |
Expected Behavior
Using RDFUnit in a Kubernetes environment
Actual Behavior
When running
bin/rdfunit
from inside a Docker container running in a Kubernetes pod we are facing the following issue:Steps to Reproduce the Problem
Install kubectl and Argo on local machine (following this tutorial: https://maastrichtu-ids.github.io/dsri-documentation/docs/guide-local-install#install-kubectl )
Run aksw/rdfunit in a Kubernetes pod
It can be done reusing this pod definition: https://github.com/MaastrichtU-IDS/d2s-argo-workflows/blob/cd8b1432940595e6ff52b7efaa339f5d653aa609/tests/test-devnull-pod.yaml
Connect to it to run
bin/rdfunit
Specifications
Client Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.0+d4cacc0", GitCommit:"d4cacc0", GitTreeState:"clean", BuildDate:"2018-10-10T16:38:01Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:12:17Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
Remarks
I realized there are a few issues in the Dockerfile such as a mkdir line that contains a typo
I think it can be solved by rewriting the Dockerfile to properly generates a packaged jar and using this jar after with
java -jar
(instead of usingmvn -pl
)The text was updated successfully, but these errors were encountered: