Skyline-apiserver is broken on python3.11

Bug #2047145 reported by Michal Arbet
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
skyline apiserver
Fix Released
Undecided
Michal Arbet

Bug Description

Hi,

Skyline-apiserver is broken on debian bookworm where is python3.11, log below :

[2023-12-21 10:31:38 +0000].010 21 INFO [-] Worker exiting (pid: 21)
[2023-12-21 10:31:38 +0000].040 23 INFO [-] Booting worker with pid: 23
[2023-12-21 10:31:38 +0000].057 7 WARNING [-] Worker with pid 21 was terminated due to signal 15
[2023-12-21 10:31:38 +0000].057 7 WARNING [-] Worker with pid 22 was terminated due to signal 15
[2023-12-21 10:31:38 +0000].058 7 WARNING [-] Worker with pid 23 was terminated due to signal 15
[2023-12-21 10:31:38 +0000].155 7 INFO [-] Shutting down: Master
[2023-12-21 10:31:38 +0000].155 7 INFO [-] Reason: Worker failed to boot.
[2023-12-21 10:31:50 +0000].755 7 INFO [-] Starting gunicorn 20.1.0
[2023-12-21 10:31:50 +0000].756 7 INFO [-] Listening at: http://192.168.205.10:9998 (7)
[2023-12-21 10:31:50 +0000].757 7 INFO [-] Using worker: uvicorn.workers.UvicornWorker
[2023-12-21 10:31:50 +0000].761 20 INFO [-] Booting worker with pid: 20
[2023-12-21 10:31:50 +0000].850 21 INFO [-] Booting worker with pid: 21
[2023-12-21 10:31:50 +0000].859 20 ERROR [-] Exception in worker process
Traceback (most recent call last):
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
    worker.init_process()
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/uvicorn/workers.py", line 66, in init_process
    super(UvicornWorker, self).init_process()
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
                ^^^^^^^^^^^^^^^
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
                    ^^^^^^^^^^^
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
           ^^^^^^^^^^^^^^^^^^^
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/gunicorn/util.py", line 359, in import_app
    mod = importlib.import_module(module)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/skyline_apiserver/main.py", line 19, in <module>
    from fastapi import FastAPI
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/fastapi/__init__.py", line 7, in <module>
    from .applications import FastAPI
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/fastapi/applications.py", line 3, in <module>
    from fastapi import routing
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/fastapi/routing.py", line 8, in <module>
    from fastapi.dependencies.models import Dependant
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/fastapi/dependencies/models.py", line 3, in <module>
    from fastapi.security.base import SecurityBase
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/fastapi/security/__init__.py", line 1, in <module>
    from .api_key import APIKeyCookie, APIKeyHeader, APIKeyQuery
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/fastapi/security/api_key.py", line 3, in <module>
    from fastapi.openapi.models import APIKey, APIKeyIn
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/fastapi/openapi/models.py", line 93, in <module>
    class SchemaBase(BaseModel):
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/pydantic/main.py", line 369, in __new__
    cls.__signature__ = ClassAttribute('__signature__', generate_model_signature(cls.__init__, fields, config))
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/lib/kolla/venv/lib/python3.11/site-packages/pydantic/utils.py", line 231, in generate_model_signature
    merged_params[param_name] = Parameter(
                                ^^^^^^^^^^
  File "/usr/lib/python3.11/inspect.py", line 2722, in __init__
    raise ValueError('{!r} is not a valid parameter name'.format(name))
ValueError: 'not' is not a valid parameter name

This is caused by old library pydantic where python3.11 is not supported, first pydantic version where python3.11 is supported is 1.10.0

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to skyline-apiserver (master)
Changed in skyline-apiserver:
status: New → In Progress
Changed in skyline-apiserver:
assignee: nobody → Michal Arbet (michalarbet)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to skyline-apiserver (master)

Reviewed: https://review.opendev.org/c/openstack/skyline-apiserver/+/904203
Committed: https://opendev.org/openstack/skyline-apiserver/commit/eea81cef1ec0c70315a11a9a236cf86e554459dd
Submitter: "Zuul (22348)"
Branch: master

commit eea81cef1ec0c70315a11a9a236cf86e554459dd
Author: Michal Arbet <email address hidden>
Date: Thu Dec 21 13:30:10 2023 +0100

    Fix skyline-apiserver on python3.11

    Bump pydantic version which fixes skyline-apiserver
    when running under python3.11.

    Closes-Bug: #2047145
    Change-Id: Idb1897f64ffaf0cd0fbee4f7f198935386a5f599

Changed in skyline-apiserver:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.