Project

Profile

Help

Issue #9505

Err500 when trying to create Publication via API call

Added by rafzei 14 days ago. Updated about 17 hours ago.

Status:
NEW
Priority:
Normal
Assignee:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version - Debian:
Platform Release:
Target Release - Debian:
OS:
CentOS 7
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:

Description

Getting Internal Server Error 500 response when calling API.

Query: http post $BASE_ADDR/pulp/api/v3/publications/deb/apt/ repository="/pulp/api/v3/repositories/deb/apt//" simple="true" --verify false

Response:

HTTP/1.1 500 Internal Server Error
Access-Control-Expose-Headers: Correlation-ID
Connection: keep-alive
Content-Length: 145
Content-Type: text/html
Correlation-ID: b067f38ea4fc42ebaca8ef6a9a283460
Date: Wed, 13 Oct 2021 11:57:42 GMT
Referrer-Policy: same-origin
Server: nginx/1.20.1
Vary: Cookie
X-Content-Type-Options: nosniff
X-Frame-Options: DENY

<!doctype html>
<html lang="en">
<head>
  <title>Server Error (500)</title>
</head>
<body>
  <h1>Server Error (500)</h1><p></p>
</body>
</html>

Before, the Repository, Content and Content binding (using add_content_units) was done via API calls. pulpcore-api.log attached.

pulpcore-api.log (3.6 KB) pulpcore-api.log rafzei, 10/13/2021 02:23 PM

Related issues

Is duplicate of Debian Support - Issue #9349: Fix pulpcore 3.15 deprecationsMODIFIED<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

History

#1 Updated by quba42 14 days ago

I have not seen any similar bugs before, and I don't have any immediate ideas what this might be.

The following additional information might help:

  • The pulpcore version and pulp_deb version used. (http get $BASE_ADDR/pulp/api/v3/status/)
  • How the repo, the content in the repo, was created/added to the repo. (API calls)

I usually upload packages as follows (in case you want to compare with your method):

1.) Upload example package to pulp:

http --form post :/pulp/api/v3/content/deb/packages/ file@binutils_2.31.1-16_amd64.deb

2.) Add the uploaded package content to a pulp repo:

http post :/pulp/api/v3/repositories/deb/apt/<repo_id>/modify/ add_content_units:="[\"<pulp_hrf>\"]"

Note: You can find the `<pulp_hrf_of_the_package_you_uploaded>` using:

http get :/pulp/api/v3/content/deb/packages/

Alternatively you can find it by running `http get` on the task you spawned in step 1.

3.) Create publication (same thing you did, which caused the error in your case)

#2 Updated by rafzei 14 days ago

The steps I've performed (API calls) were the same you mentioned. One step missing is Repository creation but this is obvious. Please note, that the SSL connection is not trusted. Below details you asked for:

 "database_connection": {
        "connected": true
    },
    "online_content_apps": [
        {
            "last_heartbeat": "2021-10-13T12:42:46.515583Z",
            "name": "29028@pulp-vm"
        },
        {
            "last_heartbeat": "2021-10-13T12:42:47.343918Z",
            "name": "29020@pulp-vm"
        },
        {
            "last_heartbeat": "2021-10-13T12:42:47.369687Z",
            "name": "29013@pulp-vm"
        },
        {
            "last_heartbeat": "2021-10-13T12:42:47.394507Z",
            "name": "29018@pulp-vm"
        },
        {
            "last_heartbeat": "2021-10-13T12:42:47.429486Z",
            "name": "29012@pulp-vm"
        },
        {
            "last_heartbeat": "2021-10-13T12:42:47.481055Z",
            "name": "29015@pulp-vm"
        },
        {
            "last_heartbeat": "2021-10-13T12:42:47.483577Z",
            "name": "29017@pulp-vm"
        },
        {
            "last_heartbeat": "2021-10-13T12:42:47.501697Z",
            "name": "29016@pulp-vm"
        }
    ],
    "online_workers": [
        {
            "last_heartbeat": "2021-10-13T12:42:45.186694Z",
            "name": "29163@pulp-vm.net",
            "pulp_created": "2021-10-11T12:02:12.201004Z",
            "pulp_href": "/pulp/api/v3/workers/a4f4d76c-103c-499b-a22a-a5c19038f8ac/"
        },
        {
            "last_heartbeat": "2021-10-13T12:42:45.198349Z",
            "name": "29313@pulp-vm.net",
            "pulp_created": "2021-10-11T12:02:17.292276Z",
            "pulp_href": "/pulp/api/v3/workers/43b7a301-f5a0-45dd-81dd-bf2e7b23f6ba/"
        }
    ],
    "redis_connection": {
        "connected": true
    },
    "storage": {
        "free": 27733942272,
        "total": 31146369024,
        "used": 3412426752
    },
    "versions": [
        {
            "component": "core",
            "version": "3.16.0"
        },
        {
            "component": "rpm",
            "version": "3.15.0"
        },
        {
            "component": "file",
            "version": "1.10.0"
        },
        {
            "component": "deb",
            "version": "2.15.0"
        }
    ]
}

#3 Updated by quba42 14 days ago

Those are the latest release versions. I will need to see if I can reproduce the same issue. I believe I have all the information I need to do that. With any luck I will get around to it tomorrow.

#4 Updated by rafzei 12 days ago

Hello, any findings?

quba42 wrote:

Those are the latest release versions. I will need to see if I can reproduce the same issue. I believe I have all the information I need to do that. With any luck I will get around to it tomorrow.

#5 Updated by arogarth 8 days ago

Same here ...

Follwing the description from https://docs.pulpproject.org/pulp_deb/workflows/publish.html


Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: pulp [e1c61e33871648ad8ed2483afe33ca73]: django.request:ERROR: Internal Server Error: /pulp/api/v3/publications/deb/apt/
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: Traceback (most recent call last):
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: response = get_response(request)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: response = wrapped_callback(request, *callback_args, **callback_kwargs)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: return view_func(*args, **kwargs)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/rest_framework/viewsets.py", line 125, in view
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: return self.dispatch(request, *args, **kwargs)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/rest_framework/views.py", line 509, in dispatch
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: response = self.handle_exception(exc)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/rest_framework/views.py", line 469, in handle_exception
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: self.raise_uncaught_exception(exc)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: raise exc
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/rest_framework/views.py", line 506, in dispatch
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: response = handler(request, *args, **kwargs)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/pulp_deb/app/viewsets/publication.py", line 88, in create
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: result = dispatch(
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/pulpcore/tasking/tasks.py", line 78, in dispatch
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: args_as_json = json.dumps(args, cls=UUIDEncoder)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/opt/rh/rh-python38/root/usr/lib64/python3.8/json/__init__.py", line 234, in dumps
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: return cls(
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/opt/rh/rh-python38/root/usr/lib64/python3.8/json/encoder.py", line 199, in encode
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: chunks = self.iterencode(o, _one_shot=True)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/opt/rh/rh-python38/root/usr/lib64/python3.8/json/encoder.py", line 257, in iterencode
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: return _iterencode(o, 0)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/usr/local/lib/pulp/lib64/python3.8/site-packages/pulpcore/tasking/tasks.py", line 24, in default
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: return super().default(obj)
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: File "/opt/rh/rh-python38/root/usr/lib64/python3.8/json/encoder.py", line 179, in default
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: raise TypeError(f'Object of type {o.__class__.__name__} '
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: TypeError: Object of type AptRepository is not JSON serializable
Oct 19 11:08:20 cf1-pulp01.vagrant.infra.de.local.net gunicorn: pulp [e1c61e33871648ad8ed2483afe33ca73]: 127.0.0.1 - admin [19/Oct/2021:09:08:20 +0000] "POST /pulp/api/v3/publications/deb/apt/ HTTP/1.0" 500 145 "-" "HTTPie/1.0.3"

#6 Updated by arogarth 8 days ago

#7 Updated by quba42 8 days ago

If it is fixed on the main branch, I should just go ahead and perform a release. There are only two real changes between the last release and main, but one of them fixes some pulpcore deprecations. Maybe those deprecations were removed sooner than I anticipated. Not sure when I will find the time, to test this, and then perform a release...

#8 Updated by arogarth 5 days ago

Update - Same happens to pulp_deb/app/viewsets/repository.py - on sync to remote repo...

#9 Updated by quba42 about 18 hours ago

I was able to reproduce this issue on the 2.15 branch, but failed to do so on the main branch, so something must have fixed it already... I will do one more test to see if I can find the exact commit that fixes it.

#10 Updated by quba42 about 18 hours ago

  • Is duplicate of Issue #9349: Fix pulpcore 3.15 deprecations added

#11 Updated by quba42 about 17 hours ago

Looks like I just messed up the deprecation policy, and failed to add the deprecation fixes to the pulp_deb 2.15 release... Ups...

Please register to edit this issue

Also available in: Atom PDF