On 23 June 2016 at 07:17, Nadeesh Dilanga <[email protected]> wrote: > With the help of maven dependency tree, was able to rule out all possible > places that packs in old jacksons. And since you mentioned about 2.7.4, I > only added following and was able to get rid of above error. So that means > docker-java can work with 2.7.4. I am in the process of doing code changes > accordingly to implement docker-java utility instead of docker-http.
Great investigation! Dependency version management can be a bit tricky, but luckily most Java libraries are (somewhat) following Semantic Versioning http://semver.org/ which makes it a lot easier. There would be ways around it if we really needed to - but that would be more of a hack (e.g. shading/bundling Jackson 3.0.0 class files inside our own JAR but with new package names) > Now I am creating a full pledged DockerContainerConfiguration bean with > all supporting params. Will send a pull request as soon as I completes it. Great news! So if you find the docker-java working well then we don't need to focus so much on the Docker API (which I guess could change over time as Docker folks move rapidly) What about the SSL certificate issue, that is gone now? > One question, docker container config, that we expect to read as a JSON, > but we need certain params to setup docker client to invoke docker remote > api. Ex: remote host;port, cert path, if we have a special registry, its > url, username/password etc. Shall I accept these as Activity Config > params(the map I get in executeAsync()) ? Or any suggestions for that ? Perhaps the best would be if we have a way to override.. something like: 1) Is it provided as a System.getProperty() ? (e.g. -D taverna.docker.host=asdkfalsfkd ) -- this could then be used with executeworkflow.sh if not: 2) Does the activity hard-code it in its config JSON? (e.g. { "docker": { "host": "asdfgb" } } )) if not: 3) Is there a workbench-wide Configuration (e.g. loaded from ~/.taverna/conf/docker.conf) (You've already added support for this) or perhaps finally: 4) A reasonable default for this operating system? or at least: 5) Fall over very hard Perhaps if you put some kind of "configuration joiner" method somewhere, then that could also be inspected in the workbench to see what the "final" configuration is for an inserted Docker activity. also see what the docker-java already provides for such configuration settings/files (if any) -- perhaps we could use that directly instead. -- Stian Soiland-Reyes Apache Taverna (incubating), Apache Commons http://orcid.org/0000-0001-9842-9718
