singularityhub / sregistry

server for storage and management of singularity images
https://singularityhub.github.io/sregistry
Mozilla Public License 2.0
103 stars 42 forks source link

Images uploaded via web interface not found with Singularity pull #445

Closed pfunzowalter closed 2 months ago

pfunzowalter commented 7 months ago

Describe the bug I am trying to pull the image from the registry that I uploaded via the web interface using Singularity CE. At the moment I can pull images that are uploaded via singularity push, however, it is not working for the images uploaded to the registry via the web interface or via Singularity Global Client . I have also noticed that there are two download buttons for images uploaded via the web interface. The first one is on the collection page and does not work for images uploaded via the web interface (see image one attached). The second download button is shown in image 2, the button works for images that are uploaded via the web interface but not there for images uploaded with singularity push.

To Reproduce Singularity logs walter$ singularity --debug pull library://supervisedml/astror:latest DEBUG [U=10368,P=2076617]persistentPreRun() Singularity version: 3.11.3 DEBUG [U=10368,P=2076617]persistentPreRun() Parsing configuration file /usr/local/etc/singularity/singularity.conf DEBUG [U=10368,P=2076617]handleConfDir() /users/walter/.singularity already exists. Not creating. DEBUG [U=10368,P=2076617]handleRemoteConf() Ensuring file permission of 0600 on /users/walter/.singularity/remote.yaml DEBUG [U=10368,P=2076617]getCacheParentDir() environment variable SINGULARITY_CACHEDIR not set, using default image cache DEBUG [U=10368,P=2076617]apiGet() apiGet calling v1/images/supervisedml/astror:latest?arch=amd64 INFO [U=10368,P=2076617]downloadWrapper() Downloading library image DEBUG [U=10368,P=2076617]ConcurrentDownloadImage() Fallback to (legacy) library download DEBUG [U=10368,P=2076617]legacyDownloadImage() This library does not support architecture specific tags DEBUG [U=10368,P=2076617]legacyDownloadImage() The image returned may not be the requested architecture DEBUG [U=10368,P=2076617]legacyDownloadImage() Pulling from URL: v1/imagefile/supervisedml/astror:latest DEBUG [U=10368,P=2076617]DownloadImage() Cleaning up incomplete download: /users/walter/.singularity/cache/library/tmp_1840432866 FATAL [U=10368,P=2076617]pullRun() While pulling library image: error fetching image: unable to download image: error downloading image: requested image was not found in the library

Expected behavior

If applicable, add versions and screenshots to help explain your problem. I cloned the master repo. image-1 image-2

vsoch commented 7 months ago

We probably should remove the download buttons from the UI. Singularity global client is not supported. If library pull works you should use that.

pfunzowalter commented 7 months ago

Okay, the pull works but only for the images uploaded with the singularity push. The image uploaded via the web interface can not be pulled due to the error mentioned above. The image is available at the web interface but it just can't be pulled with the singularity CE.

vsoch commented 7 months ago

Thanks @pfunzowalter these are good points, and helpful to know! I will get in a PR that removes the UI buttons and references to sregistry.

vsoch commented 7 months ago

hi @pfunzowalter ! Here is a PR and associated container image you can use to test - let me know if it looks ok! https://github.com/singularityhub/sregistry/pull/446

emiliolario commented 2 months ago

I'm facing the same issue. It seems that when an image is uploaded with the web interface it does not reach the minio storage and therefore you cannot download it later from the singularity client. Please, do not remove buttons and fix the issue. Thanks!

vsoch commented 2 months ago

I'm happy to review a PR if you'd like to add them back. I don't think that avenue makes sense for container images.