Skip to content
This repository has been archived by the owner on Jan 30, 2024. It is now read-only.

pulpcore api service not starting #1491

Closed
pete-scrutton opened this issue Nov 10, 2023 · 1 comment
Closed

pulpcore api service not starting #1491

pete-scrutton opened this issue Nov 10, 2023 · 1 comment

Comments

@pete-scrutton
Copy link

using python3.9 or python3.11 on orcalce linux 9 and the following modules:
pip list | grep pulp
pulp-cli 0.21.4
pulp-glue 0.21.4
pulp-rpm 3.24.0
pulpcore 3.40.4

using systemd to start service, and I get the following issue:
Nov 10 13:13:16 node systemd[1]: pulpcore-api.service: Scheduled restart job, restart counter is at 5.
Nov 10 13:13:16 node systemd[1]: Stopped Pulp WSGI Server.
Nov 10 13:13:16 node systemd[1]: Starting Pulp WSGI Server...
Nov 10 13:13:16 node gunicorn[3888]: [2023-11-10 13:13:16 +0000] [3888] [INFO] Starting gunicorn 21.2.0
Nov 10 13:13:16 node gunicorn[3888]: [2023-11-10 13:13:16 +0000] [3888] [INFO] Listening at: http://127.0.0.1:24817 (3888)
Nov 10 13:13:16 node gunicorn[3888]: [2023-11-10 13:13:16 +0000] [3888] [INFO] Using worker: sync
Nov 10 13:13:16 node systemd[1]: Started Pulp WSGI Server.
Nov 10 13:13:16 node gunicorn[3889]: [2023-11-10 13:13:16 +0000] [3889] [INFO] Booting worker with pid: 3889
Nov 10 13:13:17 node gunicorn[3889]: [2023-11-10 13:13:17 +0000] [3889] [ERROR] Exception in worker process
Nov 10 13:13:17 node gunicorn[3889]: Traceback (most recent call last):
Nov 10 13:13:17 node gunicorn[3889]: File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker
Nov 10 13:13:17 node gunicorn[3889]: worker.init_process()
Nov 10 13:13:17 node gunicorn[3889]: File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
Nov 10 13:13:17 node gunicorn[3889]: self.load_wsgi()
Nov 10 13:13:17 node gunicorn[3889]: File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
Nov 10 13:13:17 node gunicorn[3889]: self.wsgi = self.app.wsgi()
Nov 10 13:13:17 node gunicorn[3889]: File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
Nov 10 13:13:17 node gunicorn[3889]: self.callable = self.load()
Nov 10 13:13:17 node gunicorn[3889]: File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
Nov 10 13:13:17 node gunicorn[3889]: return self.load_wsgiapp()
Nov 10 13:13:17 node gunicorn[3889]: File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
Nov 10 13:13:17 node gunicorn[3889]: return util.import_app(self.app_uri)
Nov 10 13:13:17 node gunicorn[3889]: File "/usr/local/lib/python3.9/site-packages/gunicorn/util.py", line 371, in import_app
Nov 10 13:13:17 node gunicorn[3889]: mod = importlib.import_module(module)
Nov 10 13:13:17 node gunicorn[3889]: File "/usr/lib64/python3.9/importlib/init.py", line 127, in import_module
Nov 10 13:13:17 node gunicorn[3889]: return _bootstrap._gcd_import(name[level:], package, level)
Nov 10 13:13:17 node gunicorn[3889]: File "", line 1030, in _gcd_import
Nov 10 13:13:17 node gunicorn[3889]: File "", line 1007, in _find_and_load
Nov 10 13:13:17 node gunicorn[3889]: File "", line 986, in _find_and_load_unlocked
Nov 10 13:13:17 node gunicorn[3889]: File "", line 680, in _load_unlocked
Nov 10 13:13:17 node gunicorn[3889]: File "", line 850, in exec_module
Nov 10 13:13:17 node gunicorn[3889]: File "", line 228, in _call_with_frames_removed
Nov 10 13:13:17 node gunicorn[3889]: File "/usr/local/lib/python3.9/site-packages/pulpcore/app/wsgi.py", line 17, in
Nov 10 13:13:17 node gunicorn[3889]: raise RuntimeError("This app must be executed using pulpcore-api entrypoint.")
Nov 10 13:13:17 node gunicorn[3889]: RuntimeError: This app must be executed using pulpcore-api entrypoint.
Nov 10 13:13:17 node gunicorn[3889]: [2023-11-10 13:13:17 +0000] [3889] [INFO] Worker exiting (pid: 3889)
Nov 10 13:13:17 node gunicorn[3888]: [2023-11-10 13:13:17 +0000] [3888] [ERROR] Worker (pid:3889) exited with code 3
Nov 10 13:13:17 node gunicorn[3888]: [2023-11-10 13:13:17 +0000] [3888] [ERROR] Shutting down: Master
Nov 10 13:13:17 node gunicorn[3888]: [2023-11-10 13:13:17 +0000] [3888] [ERROR] Reason: Worker failed to boot.
Nov 10 13:13:17 node systemd[1]: pulpcore-api.service: Main process exited, code=exited, status=3/NOTIMPLEMENTED
Nov 10 13:13:17 node systemd[1]: pulpcore-api.service: Failed with result 'exit-code'.
Nov 10 13:13:20 node systemd[1]: Stopped Pulp WSGI Server.
Nov 10 13:17:28 node systemd[1]: Starting Cleanup of Temporary Directories...
Nov 10 13:17:28 node systemd[1]: systemd-tmpfiles-clean.service: Deactivated successfully.
Nov 10 13:17:28 node systemd[1]: Finished Cleanup of Temporary Directories.

systemd file is :
[root@node system]cat pulpcore-api.service
[Unit]
Description=Pulp WSGI Server
After=network-online.target
Wants=network-online.target

When systemd stops or restarts the meta pulpcore.service, the action is propagated to this service

PartOf=pulpcore.service

Start this service after the pulpcore.service starts

After=pulpcore.service

[Service]
Type=notify
EnvironmentFile=-/etc/default/pulpcore
EnvironmentFile=-/etc/default/pulpcore-api
Environment="DJANGO_SETTINGS_MODULE=pulpcore.app.settings"

Environment="PULP_SETTINGS={{ pulp_settings_file }}"

Environment="PULP_SETTINGS=/etc/pulp/settings.py"

Environment="PATH={{ pulp_install_dir }}/bin:{{ default_bin_path }}"

Environment="PATH=/usr/local/pulp/bin:$PATH"

{% if pulp_ld_library_path is defined and pulp_ld_library_path != '' %}

Environment="LD_LIBRARY_PATH={{ pulp_ld_library_path }}"

{% endif %}

User={{ pulp_user }}

Group={{ pulp_group }}

User=pulp
Group=pulp
PIDFile=/run/pulpcore-api.pid
WorkingDirectory=/var/run/pulpcore-api/
RuntimeDirectory=pulpcore-api
LimitNOFILE=524288

timeout is needed Pulp to service its 1st request on extremely slow

machines, such as qemu-emulated 2-core machines

ExecStart=/usr/local/bin/gunicorn pulpcore.app.wsgi:application
--name pulp-api
--bind '127.0.0.1:24817'
--workers 1
--timeout 30

ExecStart={{ __pulp_daemons_dir }}/gunicorn pulpcore.app.wsgi:application \

--name pulp-api \

--bind '{{ pulp_api_bind }}' \

--workers {{ pulp_api_workers }} \

--timeout {{ pulp_service_timeout }}

This provides reconnect support for PostgreSQL and Redis. Without reconnect support, if either

is not available at startup or becomes disconnected, this process will die and not respawn.

Restart=always
RestartSec=3

Enables tracking of process resource consumption at a unit & cgroup level.

CPUAccounting=yes
MemoryAccounting=yes

This directive is set to an absolute path in other Pulp units. Using an

absolute path is an abuse of the directive, as it should be a relative path,

not an absolute path. PIDFile is now used to ensure that PID files are laid

out in a standard way. If this directive had any other effects, it is better

to use the correct directive than to uncomment this.

WorkingDirectory=/var/run/pulpcore-api/

[Install]
WantedBy=multi-user.target
[root@node]

and also
[root@node system]# django-admin runserver 24817
pulp [None]: django.utils.autoreload:INFO: Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
Exception in thread django-main-thread:
Traceback (most recent call last):
File "/usr/lib64/python3.9/threading.py", line 980, in _bootstrap_inner
self.run()
File "/usr/lib64/python3.9/threading.py", line 917, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.9/site-packages/django/utils/autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 139, in inner_run
handler = self.get_handler(*args, **options)
File "/usr/local/lib/python3.9/site-packages/django/contrib/staticfiles/management/commands/runserver.py", line 31, in get_handler
handler = super().get_handler(*args, **options)
File "/usr/local/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 78, in get_handler
return get_internal_wsgi_application()
File "/usr/local/lib/python3.9/site-packages/django/core/servers/basehttp.py", line 48, in get_internal_wsgi_application
return import_string(app_path)
File "/usr/local/lib/python3.9/site-packages/django/utils/module_loading.py", line 30, in import_string
return cached_import(module_path, class_name)
File "/usr/local/lib/python3.9/site-packages/django/utils/module_loading.py", line 15, in cached_import
module = import_module(module_path)
File "/usr/lib64/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/usr/local/lib/python3.9/site-packages/pulpcore/app/wsgi.py", line 17, in
raise RuntimeError("This app must be executed using pulpcore-api entrypoint.")
RuntimeError: This app must be executed using pulpcore-api entrypoint.
^C[root@node system]

Thus I'm unable to run the api part of the system.

Advice please ...

@pete-scrutton
Copy link
Author

moved to correct area

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
No open projects
Archived in project
Development

No branches or pull requests

1 participant