Skip to content
This repository has been archived by the owner on Oct 2, 2023. It is now read-only.

Use pusher based on go-containerregistry #481

Closed
wants to merge 1 commit into from

Conversation

siddharthab
Copy link
Contributor

This pull request is merely to share work that I had to do for avoiding python2 code paths in containerregistry.

This will still need more work, namely

  1. legacy base images are not supported.
  2. WORKSPACE dependency management is incomplete.
  3. go-containerregistry does not do HEAD checks, so could be a performance regression for some.

Happy to take it forward if people are interested.

siddharthab added a commit to grailbio-external/rules_docker that referenced this pull request Aug 9, 2018
This lets people get around the limitation of using the pusher from the
python containerregistry, and can substitute with their own pusher.

The main issue with the python containerregistry is that it uses python2
httplib2, and so workspaces using python3 as their interpreter can not
depend on it successfully.

See for instance, a pusher in go at
bazelbuild#481.
siddharthab added a commit to grailbio-external/rules_docker that referenced this pull request Aug 9, 2018
This lets people get around the limitation of using the pusher from the
python containerregistry, and can substitute with their own pusher.

The main issue with the python containerregistry is that it uses python2
httplib2, and so workspaces using python3 as their interpreter can not
depend on it successfully.

See for instance, a pusher in go at
bazelbuild#481.
@paulangton
Copy link

paulangton commented Aug 9, 2018

Would love to see this merge, frustrating to deal with on machines with /usr/bin/python as python3

@siddharthab
Copy link
Contributor Author

I agree. Internally, we have exposed the pusher attribute on the rules and have been using the Go program. I can work on the PR more if I get some buy in from the repo owners. Puller and join_layers should also be very similar eliminating all httplib2 paths.

@nlopezgi
Copy link
Contributor

Sorry for the delay getting back. I do agree that its an issue this cant run smoothly with Python3.
Will look at this PR in detail this week and let you know. Thanks for your contribution.

@nlopezgi
Copy link
Contributor

Please see the PR that I sent (#490) that should provide a viable solution to avoid to have to make these large changes.

@nlopezgi nlopezgi closed this Aug 16, 2018
siddharthab added a commit to grailbio-external/rules_docker that referenced this pull request Feb 5, 2019
This lets people get around the limitation of using the pusher from the
python containerregistry, and can substitute with their own pusher.

The main issue with the python containerregistry is that it uses python2
httplib2, and so workspaces using python3 as their interpreter can not
depend on it successfully.

See for instance, a pusher in go at
bazelbuild#481.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants