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

Unable to push to sregistry via command line #350

Open
659-bit opened this issue Mar 4, 2021 · 1 comment
Open

Unable to push to sregistry via command line #350

659-bit opened this issue Mar 4, 2021 · 1 comment

Comments

@659-bit
Copy link

659-bit commented Mar 4, 2021

Hi,
this is my first bug report on Github, so please tell me, if I missed anything. :)
We encountered the following problem with our Sregistry installation:
When pushing images to the sregistry via the command line from another host, we receive an http status code 500:

$ singularity push -U cow_latest.sif library://user.name/test/cow:test
WARNING: Skipping container verifying
 0 B / 87.95 MiB [-------------------------------------------------------------------------------------------------------------------------------------------------------------------]   0.00% 0s
FATAL:   Unable to push image to library: request did not succeed: http status code: 500

However, uploading the same images via browser and pulling them images via the command line works without problems.

Sregistry version: 1.1.18
Excerpt of docker-compose logs:

nginx_1      | 10.66.20.3 - - [04/Mar/2021:10:48:55 +0000] "GET /assets/config/config.prod.json HTTP/1.1" 200 521 "-" "Singularity/3.5.3 (Linux amd64) Go/1.12.12" "-"
nginx_1      | 10.66.20.3 - - [04/Mar/2021:10:48:55 +0000] "GET /assets/config/config.prod.json HTTP/1.1" 200 521 "-" "Singularity/3.5.3 (Linux amd64) Go/1.12.12" "-"
uwsgi_1      | [pid: 39|app: 0|req: 25/77] 10.66.20.3 () {32 vars in 442 bytes} [Thu Mar  4 04:48:55 2021] GET /assets/config/config.prod.json => generated 521 bytes in 1 msecs (HTTP/1.1 200) 3 headers in 109 bytes (1 switches on core 0)
uwsgi_1      | GET NamedEntityView
uwsgi_1      | <QueryDict: {}>
uwsgi_1      | user.name
nginx_1      | 10.66.20.3 - - [04/Mar/2021:10:48:56 +0000] "GET /v1/entities/user.name HTTP/1.1" 200 313 "-" "Go-http-client/1.1" "-"
uwsgi_1      | [pid: 37|app: 0|req: 15/78] 10.66.20.3 () {34 vars in 475 bytes} [Thu Mar  4 04:48:56 2021] GET /v1/entities/user.name => generated 313 bytes in 28 msecs (HTTP/1.1 200) 5 headers in 142 bytes (1 switches on core 0)
uwsgi_1      | GET GetNamedCollectionView
nginx_1      | 10.66.20.3 - - [04/Mar/2021:10:48:56 +0000] "GET /v1/collections/user.name/test HTTP/1.1" 200 383 "-" "Go-http-client/1.1" "-"
uwsgi_1      | [pid: 39|app: 0|req: 26/79] 10.66.20.3 () {34 vars in 491 bytes} [Thu Mar  4 04:48:56 2021] GET /v1/collections/user.name/test => generated 383 bytes in 28 msecs (HTTP/1.1 200) 5 headers in 142 bytes (1 switches on core 1)
uwsgi_1      | GET GetNamedContainerView
nginx_1      | 10.66.20.3 - - [04/Mar/2021:10:48:56 +0000] "GET /v1/containers/user.name/test/cow_old HTTP/1.1" 200 559 "-" "Go-http-client/1.1" "-"
uwsgi_1      | [pid: 39|app: 0|req: 27/80] 10.66.20.3 () {34 vars in 505 bytes} [Thu Mar  4 04:48:56 2021] GET /v1/containers/user.name/test/cow_old => generated 559 bytes in 36 msecs (HTTP/1.1 200) 5 headers in 142 bytes (1 switches on core 2)
uwsgi_1      | GET PushNamedContainerView
nginx_1      | 10.66.20.3 - - [04/Mar/2021:10:48:56 +0000] "GET /v1/images/user.name/test/cow_old:sha256.c04264e3dcf5225d24435e4120007f7788c6ac872e93283762a568d183db538c?arch=amd64 HTTP/1.1" 200 559 "-" "Go-http-client/1.1" "-"
uwsgi_1      | [pid: 39|app: 0|req: 28/81] 10.66.20.3 () {34 vars in 662 bytes} [Thu Mar  4 04:48:56 2021] GET /v1/images/user.name/test/cow_old:sha256.c04264e3dcf5225d24435e4120007f7788c6ac872e93283762a568d183db538c?arch=amd64 => generated 559 bytes in 72 msecs (HTTP/1.1 200) 5 headers in 142 bytes (1 switches on core 3)
nginx_1      | 10.66.20.3 - - [04/Mar/2021:10:48:56 +0000] "GET /version HTTP/1.1" 200 58 "-" "Go-http-client/1.1" "-"
uwsgi_1      | [pid: 37|app: 0|req: 16/82] 10.66.20.3 () {34 vars in 441 bytes} [Thu Mar  4 04:48:56 2021] GET /version => generated 58 bytes in 1 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 3)
uwsgi_1      | POST RequestPushImageFileView
nginx_1      | 10.66.20.3 - - [04/Mar/2021:10:48:56 +0000] "POST /v2/imagefile/11/_multipart HTTP/1.1" 500 850 "-" "Go-http-client/1.1" "-"
uwsgi_1      | Internal Server Error: /v2/imagefile/11/_multipart
uwsgi_1      | Traceback (most recent call last):
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py", line 34, in inner
uwsgi_1      |     response = get_response(request)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py", line 115, in _get_response
uwsgi_1      |     response = self.process_exception_by_middleware(e, request)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py", line 113, in _get_response
uwsgi_1      |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
uwsgi_1      |     return view_func(*args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/views/generic/base.py", line 71, in view
uwsgi_1      |     return self.dispatch(request, *args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/ratelimit/mixins.py", line 58, in dispatch
uwsgi_1      |     )(super(RatelimitMixin, self).dispatch)(*args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/ratelimit/decorators.py", line 30, in _wrapped
uwsgi_1      |     return fn(*args, **kw)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py", line 505, in dispatch
uwsgi_1      |     response = self.handle_exception(exc)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py", line 465, in handle_exception
uwsgi_1      |     self.raise_uncaught_exception(exc)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
uwsgi_1      |     raise exc
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py", line 502, in dispatch
uwsgi_1      |     response = handler(request, *args, **kwargs)
uwsgi_1      |   File "./shub/apps/library/views/images.py", line 96, in post
uwsgi_1      |     container = Container.objects.get(id=container_id)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/manager.py", line 82, in manager_method
uwsgi_1      |     return getattr(self.get_queryset(), name)(*args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 399, in get
uwsgi_1      |     clone = self.filter(*args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 892, in filter
uwsgi_1      |     return self._filter_or_exclude(False, *args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 910, in _filter_or_exclude
uwsgi_1      |     clone.query.add_q(Q(*args, **kwargs))
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1290, in add_q
uwsgi_1      |     clause, _ = self._add_q(q_object, self.used_aliases)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1318, in _add_q
uwsgi_1      |     split_subq=split_subq, simple_col=simple_col,
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1251, in build_filter
uwsgi_1      |     condition = self.build_lookup(lookups, col, value)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1116, in build_lookup
uwsgi_1      |     lookup = lookup_class(lhs, rhs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/lookups.py", line 20, in __init__
uwsgi_1      |     self.rhs = self.get_prep_lookup()
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/lookups.py", line 70, in get_prep_lookup
uwsgi_1      |     return self.lhs.output_field.get_prep_value(self.rhs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 972, in get_prep_value
uwsgi_1      |     return int(value)
uwsgi_1      | ValueError: invalid literal for int() with base 10: '11/_multipart'
uwsgi_1      | 04:48:56: Internal Server Error: /v2/imagefile/11/_multipart
uwsgi_1      | Traceback (most recent call last):
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py", line 34, in inner
uwsgi_1      |     response = get_response(request)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py", line 115, in _get_response
uwsgi_1      |     response = self.process_exception_by_middleware(e, request)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py", line 113, in _get_response
uwsgi_1      |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
uwsgi_1      |     return view_func(*args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/views/generic/base.py", line 71, in view
uwsgi_1      |     return self.dispatch(request, *args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/ratelimit/mixins.py", line 58, in dispatch
uwsgi_1      |     )(super(RatelimitMixin, self).dispatch)(*args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/ratelimit/decorators.py", line 30, in _wrapped
uwsgi_1      |     return fn(*args, **kw)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py", line 505, in dispatch
uwsgi_1      |     response = self.handle_exception(exc)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py", line 465, in handle_exception
uwsgi_1      |     self.raise_uncaught_exception(exc)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
uwsgi_1      |     raise exc
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/rest_framework/views.py", line 502, in dispatch
uwsgi_1      |     response = handler(request, *args, **kwargs)
uwsgi_1      |   File "./shub/apps/library/views/images.py", line 96, in post
uwsgi_1      |     container = Container.objects.get(id=container_id)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/manager.py", line 82, in manager_method
uwsgi_1      |     return getattr(self.get_queryset(), name)(*args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 399, in get
uwsgi_1      |     clone = self.filter(*args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 892, in filter
uwsgi_1      |     return self._filter_or_exclude(False, *args, **kwargs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 910, in _filter_or_exclude
uwsgi_1      |     clone.query.add_q(Q(*args, **kwargs))
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1290, in add_q
uwsgi_1      |     clause, _ = self._add_q(q_object, self.used_aliases)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1318, in _add_q
uwsgi_1      |     split_subq=split_subq, simple_col=simple_col,
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1251, in build_filter
uwsgi_1      |     condition = self.build_lookup(lookups, col, value)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/query.py", line 1116, in build_lookup
uwsgi_1      |     lookup = lookup_class(lhs, rhs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/lookups.py", line 20, in __init__
uwsgi_1      |     self.rhs = self.get_prep_lookup()
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/lookups.py", line 70, in get_prep_lookup
uwsgi_1      |     return self.lhs.output_field.get_prep_value(self.rhs)
uwsgi_1      |   File "/usr/local/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 972, in get_prep_value
uwsgi_1      |     return int(value)
uwsgi_1      | ValueError: invalid literal for int() with base 10: '11/_multipart'
uwsgi_1      | [pid: 38|app: 0|req: 19/83] 10.66.20.3 () {36 vars in 507 bytes} [Thu Mar  4 04:48:56 2021] POST /v2/imagefile/11/_multipart => generated 850 bytes in 12 msecs (HTTP/1.1 500) 4 headers in 142 bytes (1 switches on core 0)
@vsoch
Copy link
Member

vsoch commented Mar 4, 2021

That looks like a very old version - and I think I might recognize that bug from a long time ago (but can't remember the issue). Could you please try a newer version, 1.1.32 is the current? I believe that but was fixed.

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

No branches or pull requests

2 participants