Skip to content

Support for arbitrary docker registries.#335

Merged
sergey-serebryakov merged 3 commits into
mlcommons:masterfrom
sergey-serebryakov:misc/transition-to-docker-image-class
Aug 8, 2023
Merged

Support for arbitrary docker registries.#335
sergey-serebryakov merged 3 commits into
mlcommons:masterfrom
sergey-serebryakov:misc/transition-to-docker-image-class

Conversation

@sergey-serebryakov

@sergey-serebryakov sergey-serebryakov commented Aug 7, 2023

Copy link
Copy Markdown
Contributor

This commit adds support for arbitrary docker registries for singularity runner's inspect command. The runner now correctly parses docker image names and identifies if it should be using default docker hub docker registry, or custom docker registry, such as, for instance, NVIDIA's nvcr.io.

The following are the examples of image names for which the singularity runner can correctly identify hashes: "nvcr.io/nvidia/pytorch:23.07-py3", "mlcommons/mnist:0.0.1" and "library/ubuntu:18.04". The latter case is interesting from two perspectives:

  • The library is currently a mandatory path component.
  • It's multi-arch image, and singularity runner uses information returned by platform.uname to identify what image needs to be considered given current platform.

Current implementation correctly identifies URLs of custom docker registries that provide authentication endpoints. However, only public repositories are supported now. For private repositories, insufficient_scope error is returned.

This commit adds support for arbitrary docker registries for singularity runner's inspect command. The runner now correctly parses docker image names and identifies if it should be using default docker hub docker registry, or custom docker registry, such as, for instance, NVIDIA
's nvcr.io.

The following are the examples of image names for which the singularity runner can correctly identify hashes: "nvcr.io/nvidia/pytorch:23.07-py3", "mlcommons/mnist:0.0.1" and "library/ubuntu:18.04". The latter case is interesting from two perspectives:
- The `library` is now a mandatory path component.
- It's multi-arch image, and singularity runner uses information produced by `platform.uname` to identify what image needs to be considered given current platform.

Current implementation correctly identifies the URL of custom docker registries that provide authentication endpoints. However, only public repositories are supported now.
@sergey-serebryakov
sergey-serebryakov requested a review from a team as a code owner August 7, 2023 23:58
@github-actions

github-actions Bot commented Aug 7, 2023

Copy link
Copy Markdown
Contributor

MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅

@sergey-serebryakov
sergey-serebryakov merged commit 741bcc3 into mlcommons:master Aug 8, 2023
@sergey-serebryakov
sergey-serebryakov deleted the misc/transition-to-docker-image-class branch August 8, 2023 00:02
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 8, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant