Open praiskup opened 1 year ago
What's the podman version? where are you running it? https://pulpproject.org/pulp-in-one-container/#podman-on-centos-7
14:40:50 ~$ podman --version
podman version 4.3.1
14:40:53 ~$ rpm -q podman
podman-4.3.1-1.fc37.x86_64
Also note that I'm not quite sure I'm using the right image.
I tried to reproduce using the latest image from quay.io and I could not reproduce it.
quay.io/pulp/pulp latest 728f8846e816 2 weeks ago 2.18 GB
It seems like you have a permissions problem with the /etc/pulp/certs/ directory ... Here is what the permissions look like for me:
[dkliban@fedora ~]$ podman exec -it pulp bash
[root@25aedd4dc552 /]# ls -la /etc/pulp/
total 4
drwxr-xr-x. 1 root root 32 Jan 9 20:36 .
drwxr-xr-x. 1 root root 6 Dec 23 01:32 ..
drwxr-xr-x. 1 root root 248 Jan 9 20:36 certs
-rw-r--r--. 1 root root 162 Jan 9 20:35 settings.py
[root@25aedd4dc552 /]# ls -la /etc/pulp/certs/
total 24
drwxr-xr-x. 1 root root 248 Jan 9 20:36 .
drwxr-xr-x. 1 root root 32 Jan 9 20:36 ..
-rw-r-----. 1 root pulp 45 Jan 9 20:36 database_fields.symmetric.key
-rw-r--r--. 1 root pulp 1334 Jan 9 20:36 pulp_webserver.crt
-rw-r--r--. 1 root pulp 1175 Jan 9 20:36 pulp_webserver.csr
-rw-------. 1 root pulp 1675 Jan 9 20:36 pulp_webserver.key
-rw-------. 1 pulp pulp 227 Jan 9 20:36 token_private_key.pem
-rw-r--r--. 1 pulp pulp 178 Jan 9 20:36 token_public_key.pem
Can you share the output of the above commands for you?
Looks promising, thanks!
[root@21e381ccf81f /]# ls -la /etc/pulp/
total 12
drwx------. 3 root root 80 Jan 10 09:19 .
drwxr-xr-x. 72 root root 4096 Dec 23 01:32 ..
drwxr-xr-x. 2 root root 160 Jan 10 09:19 certs
-rw-------. 1 root root 165 Jan 10 09:18 settings.py
Indeed, I temporarily switched umask from 0077 to 0022, and recreated from scratch. That helped.
Could the permissions be fixed automatically? I can see some tasks like:
fix-attrs: warning: fix-attrs is deprecated, please fix volume permissions in your container manager instead
fix-attrs: warning: some fix files failed to apply
I'm actually in a user namespace; so the files in /etc/pulp in container are owned by "fake root"
(== my non-privileged praiskup
user). We should have the rights to fix the permissions bits.
Nevertheless, it eventually worked! Thank you.
For the sake of completeness, podman logs pulp
shows:
Calling /etc/init/postgres-prepare
2023-01-10 09:29:25.952 UTC [12591] LOG: redirecting log output to logging collector process
2023-01-10 09:29:25.952 UTC [12591] HINT: Future log output will appear in directory "log".
Traceback (most recent call last):
File "/usr/local/bin/pulpcore-manager", line 8, in <module>
sys.exit(manage())
File "/usr/local/lib/python3.8/site-packages/pulpcore/app/manage.py", line 11, in manage
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 363, in execute
settings.INSTALLED_APPS
File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__
self._setup(name)
File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 843, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/local/lib/python3.8/site-packages/pulpcore/app/settings.py", line 299, in <module>
from dynaconf import DjangoDynaconf, Validator # noqa
File "/usr/local/lib/python3.8/site-packages/dynaconf/__init__.py", line 3, in <module>
from dynaconf.base import LazySettings # noqa
File "/usr/local/lib/python3.8/site-packages/dynaconf/base.py", line 17, in <module>
from dynaconf.loaders import env_loader
File "/usr/local/lib/python3.8/site-packages/dynaconf/loaders/env_loader.py", line 8, in <module>
from dynaconf.vendor.dotenv import cli as dotenv_cli
File "/usr/local/lib/python3.8/site-packages/dynaconf/vendor/dotenv/cli.py", line 16, in <module>
@click.option('-f','--file',default=os.path.join(os.getcwd(),'.env'),type=click.Path(exists=_A),help='Location of the .env file, defaults to .env file in current working directory.')
FileNotFoundError: [Errno 2] No such file or directory
Traceback (most recent call last):
File "/usr/local/bin/pulpcore-manager", line 8, in <module>
sys.exit(manage())
File "/usr/local/lib/python3.8/site-packages/pulpcore/app/manage.py", line 11, in manage
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 363, in execute
settings.INSTALLED_APPS
File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__
self._setup(name)
File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 843, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/local/lib/python3.8/site-packages/pulpcore/app/settings.py", line 299, in <module>
from dynaconf import DjangoDynaconf, Validator # noqa
File "/usr/local/lib/python3.8/site-packages/dynaconf/__init__.py", line 3, in <module>
from dynaconf.base import LazySettings # noqa
File "/usr/local/lib/python3.8/site-packages/dynaconf/base.py", line 17, in <module>
from dynaconf.loaders import env_loader
File "/usr/local/lib/python3.8/site-packages/dynaconf/loaders/env_loader.py", line 8, in <module>
from dynaconf.vendor.dotenv import cli as dotenv_cli
File "/usr/local/lib/python3.8/site-packages/dynaconf/vendor/dotenv/cli.py", line 16, in <module>
@click.option('-f','--file',default=os.path.join(os.getcwd(),'.env'),type=click.Path(exists=_A),help='Location of the .env file, defaults to .env file in current working directory.')
FileNotFoundError: [Errno 2] No such file or directory
Database migrated!
ready
Traceback (most recent call last):
File "/usr/local/bin/pulpcore-manager", line 8, in <module>
sys.exit(manage())
File "/usr/local/lib/python3.8/site-packages/pulpcore/app/manage.py", line 11, in manage
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 363, in execute
settings.INSTALLED_APPS
File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__
self._setup(name)
File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 843, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/local/lib/python3.8/site-packages/pulpcore/app/settings.py", line 299, in <module>
from dynaconf import DjangoDynaconf, Validator # noqa
File "/usr/local/lib/python3.8/site-packages/dynaconf/__init__.py", line 3, in <module>
from dynaconf.base import LazySettings # noqa
File "/usr/local/lib/python3.8/site-packages/dynaconf/base.py", line 17, in <module>
from dynaconf.loaders import env_loader
File "/usr/local/lib/python3.8/site-packages/dynaconf/loaders/env_loader.py", line 8, in <module>
from dynaconf.vendor.dotenv import cli as dotenv_cli
File "/usr/local/lib/python3.8/site-packages/dynaconf/vendor/dotenv/cli.py", line 16, in <module>
@click.option('-f','--file',default=os.path.join(os.getcwd(),'.env'),type=click.Path(exists=_A),help='Location of the .env file, defaults to .env file in current working directory.')
FileNotFoundError: [Errno 2] No such file or directory
Database migrated!
ready
Database migrated!
ready
Also:
[2023-01-10 09:42:18 +0000] [12692] [ERROR] Exception in gunicorn worker
Traceback (most recent call last):
File "/usr/local/lib64/python3.8/site-packages/aiohttp/worker.py", line 57, in run
self.loop.run_until_complete(self._task)
File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/usr/local/lib64/python3.8/site-packages/aiohttp/worker.py", line 70, in _run
wsgi = await self.wsgi()
File "/usr/local/lib/python3.8/site-packages/pulpcore/content/__init__.py", line 65, in server
os.chdir(settings.WORKING_DIRECTORY)
FileNotFoundError: [Errno 2] No such file or directory: '/var/lib/pulp/tmp'
So, my opinion is that maybe sometimes it takes more time to initialize the entire pulp, hence the errors. Could you give it more time please ?
My suggestions :
curl localhost:8080/pulp/api/v3/status/
and then use the pulpcore-manager
.So, my opinion is that maybe sometimes it takes more time to initialize the entire pulp, hence the errors. Could you give it more time please ?
Ok, thanks for the info - if the tracebacks are expected, I think I am fine (just a small thing that the logs are very ugly and cause conviction that something is broken).
For the sake of completeness,
podman logs pulp
shows:Calling /etc/init/postgres-prepare 2023-01-10 09:29:25.952 UTC [12591] LOG: redirecting log output to logging collector process 2023-01-10 09:29:25.952 UTC [12591] HINT: Future log output will appear in directory "log". Traceback (most recent call last): File "/usr/local/bin/pulpcore-manager", line 8, in <module> sys.exit(manage()) File "/usr/local/lib/python3.8/site-packages/pulpcore/app/manage.py", line 11, in manage execute_from_command_line(sys.argv) File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line utility.execute() File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", line 363, in execute settings.INSTALLED_APPS File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__ self._setup(name) File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup self._wrapped = Settings(settings_module) File "/usr/local/lib/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__ mod = importlib.import_module(self.SETTINGS_MODULE) File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 843, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/usr/local/lib/python3.8/site-packages/pulpcore/app/settings.py", line 299, in <module> from dynaconf import DjangoDynaconf, Validator # noqa File "/usr/local/lib/python3.8/site-packages/dynaconf/__init__.py", line 3, in <module> from dynaconf.base import LazySettings # noqa File "/usr/local/lib/python3.8/site-packages/dynaconf/base.py", line 17, in <module> from dynaconf.loaders import env_loader File "/usr/local/lib/python3.8/site-packages/dynaconf/loaders/env_loader.py", line 8, in <module> from dynaconf.vendor.dotenv import cli as dotenv_cli File "/usr/local/lib/python3.8/site-packages/dynaconf/vendor/dotenv/cli.py", line 16, in <module> @click.option('-f','--file',default=os.path.join(os.getcwd(),'.env'),type=click.Path(exists=_A),help='Location of the .env file, defaults to .env file in current working directory.') FileNotFoundError: [Errno 2] No such file or directory
This error is related to a dynaconf
bug which already have a fix and is expected to be in the next dynaconf
release (3.1.12).
The same error is reported pulp/pulp-oci-images#404 and pulp/pulpcore#3310
@praiskup can you check if this is happening with the latest version of the pulp image? I'm not seeing them anymore.
Version
Seems like container: 8dc8e64d40a1f28ee03a5546882d49214592a2a50e40203d4b87f8346301f5dc
Describe the bug Pulp doesn't seem to start correctly according to https://pulpproject.org/pulp-in-one-container/
To Reproduce Follow the steps, the following fails:
Additional context
podman logs pulp
are 4.2MB, large to upload. The first traceback there is: