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

Renovate: dependency xnatdev/container-service to v3.5.0 #135

Open
wants to merge 23 commits into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 1, 2024

This PR contains the following updates:

Package Update Change
xnatdev/container-service minor 3.4.3 -> 3.5.0

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

xnatdev/container-service (xnatdev/container-service)

v3.5.0

Compare Source

Released.

  • Improvement CS-946 Prevent setting mutually distinct k8s PVC mounting options
  • Bugfix CS-966 Ensure tracking of container IDs in workflow tables in a Kubernetes environment
  • Bugfix CS-968 Switch the docker API library we use from docker-client to docker-java.
    This should restore CS functionality on docker engine v25 and higher.
A Note About Our Docker Library

Originally we used the spotify/docker-client library to wrap the docker remote API in java method calls. They stopped updating that and put out their final release v6.1.1 in 2016.

We switched the Container Service to use a fork of that client, dmandalidis/docker-client in CS version 3.0.0. Given that this was a fork of the client we already used, it was a simple drop-in replacement with no changes needed.

But that library maintainer did continue to make changes. In 2023 they released a major version upgrade, v7.0.0, which dropped support for Java 8. That is the version of Java we use in XNAT (at time of writing) so this change meant we weren't able to update our version of this library. That was fine for a while...
...Until version 25 of the docker engine, in which they made an API change which caused an error in the version we used of docker-client. The library (presumably) fixed their issue but we weren't able to use that fix because our version of the library was frozen by their decision to drop Java 8 support.

This forced us to switch our library from docker-client to docker-java. This was not a drop-in replacement, and did require a migration. All the same docker API endpoints were supported in a 1:1 replacement—which took a little effort but was straightforward—except for one. The docker-java library did not support requesting GenericResources on a swarm service, which is the mechanism by which we allow commands to specify that they need a GPU. We opened a ticket reporting that lack of support (https://github.com/docker-java/docker-java/issues/2320), but at time of writing there has been no response. I created a fork (https://github.com/johnflavin/docker-java) and fixed the issue myself (https://github.com/docker-java/docker-java/pull/2327), but at time of writing that also has no response. I built a custom version of docker-java 3.4.0.1 and pushed that to the XNAT artifactory (ext-release-local/com/github/docker-java).

Long story short, as of CS version 3.5.0 we depend on docker-java version 3.4.0.1 for our docker (and swarm) API support.


Configuration

📅 Schedule: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - "every weekday" (UTC).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the renovate label Sep 1, 2024
@renovate renovate bot requested a review from a team September 1, 2024 00:07
@renovate renovate bot changed the title Renovate: dependency xnatdev/container-service to v3.5.0 Renovate: xnat Sep 25, 2024
@renovate renovate bot changed the title Renovate: xnat Renovate: dependency xnatdev/container-service to v3.5.0 Sep 26, 2024
Copy link
Contributor Author

renovate bot commented Sep 26, 2024

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

drmatthews
drmatthews previously approved these changes Oct 1, 2024
@HChughtai
Copy link
Member

HChughtai commented Oct 1, 2024

The failing test is due to failure of TASK [mirsg.infrastructure.xnat_container_service : Configure XNAT to talk to container service] *** which I thought was due to our pinning of Docker version < 24. However I've not removed that as part of this PR, and the failure still occurs.

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

Successfully merging this pull request may close these issues.

5 participants