Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-10-18T10:26:00ZPulp
Planio Pulp - Issue #9515 (CLOSED - CURRENTRELEASE): content app doesn't survive PostgreSQL disconnect i...https://pulp.plan.io/issues/95152021-10-18T10:26:00Zevgenievgeni+pulp@redhat.com
<p>Ohai,</p>
<p>on pulpcore 3.14 (I didn't try newer yet), when the DB connection between pulpcore-content and PostgreSQL dies (e.g. because PostgreSQL was restarted), the content app seems not to notice this, and serves 500 errors:</p>
<pre>
pulpcore-content[659]: pulp [None]: asyncio:ERROR: Task exception was never retrieved
pulpcore-content[659]: future: exception=OperationalError('terminating connection due to administrator command\nserver closed the connection unexpectedly\n\tThis probably means the server terminated abnormally\n\tbefore or while processing the request.\n',)>
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: psycopg2.errors.AdminShutdown: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: The above exception was the direct cause of the following exception:
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/__init__.py", line 45, in _heartbeat
pulpcore-content[659]: content_app_status, created = await loop.run_in_executor(None, get_status_blocking)
pulpcore-content[659]: File "/usr/lib64/python3.6/concurrent/futures/thread.py", line 56, in run
pulpcore-content[659]: result = self.fn(*self.args, **self.kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/__init__.py", line 42, in get_status_blocking
pulpcore-content[659]: return ContentAppStatus.objects.get_or_create(name=name)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
pulpcore-content[659]: return getattr(self.get_queryset(), name)(*args, **kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 538, in get_or_create
pulpcore-content[659]: return self.get(**kwargs), False
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 402, in get
pulpcore-content[659]: num = len(clone)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 256, in __len__
pulpcore-content[659]: self._fetch_all()
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1242, in _fetch_all
pulpcore-content[659]: self._result_cache = list(self._iterable_class(self))
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 55, in __iter__
pulpcore-content[659]: results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1142, in execute_sql
pulpcore-content[659]: cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
pulpcore-content[659]: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
pulpcore-content[659]: return executor(sql, params, many, context)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
pulpcore-content[659]: raise dj_exc_value.with_traceback(traceback) from exc_value
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: django.db.utils.OperationalError: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: pulp [None]: asyncio:ERROR: Task exception was never retrieved
pulpcore-content[659]: future: exception=OperationalError('terminating connection due to administrator command\nserver closed the connection unexpectedly\n\tThis probably means the server terminated abnormally\n\tbefore or while processing the request.\n',)>
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: psycopg2.errors.AdminShutdown: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: The above exception was the direct cause of the following exception:
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/__init__.py", line 45, in _heartbeat
pulpcore-content[659]: content_app_status, created = await loop.run_in_executor(None, get_status_blocking)
pulpcore-content[659]: File "/usr/lib64/python3.6/concurrent/futures/thread.py", line 56, in run
pulpcore-content[659]: result = self.fn(*self.args, **self.kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/__init__.py", line 42, in get_status_blocking
pulpcore-content[659]: return ContentAppStatus.objects.get_or_create(name=name)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
pulpcore-content[659]: return getattr(self.get_queryset(), name)(*args, **kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 538, in get_or_create
pulpcore-content[659]: return self.get(**kwargs), False
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 402, in get
pulpcore-content[659]: num = len(clone)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 256, in __len__
pulpcore-content[659]: self._fetch_all()
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1242, in _fetch_all
pulpcore-content[659]: self._result_cache = list(self._iterable_class(self))
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 55, in __iter__
pulpcore-content[659]: results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1142, in execute_sql
pulpcore-content[659]: cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
pulpcore-content[659]: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
pulpcore-content[659]: return executor(sql, params, many, context)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
pulpcore-content[659]: raise dj_exc_value.with_traceback(traceback) from exc_value
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: django.db.utils.OperationalError: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: pulp [None]: asyncio:ERROR: Task exception was never retrieved
pulpcore-content[659]: future: exception=OperationalError('terminating connection due to administrator command\nserver closed the connection unexpectedly\n\tThis probably means the server terminated abnormally\n\tbefore or while processing the request.\n',)>
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: psycopg2.errors.AdminShutdown: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: The above exception was the direct cause of the following exception:
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/__init__.py", line 45, in _heartbeat
pulpcore-content[659]: content_app_status, created = await loop.run_in_executor(None, get_status_blocking)
pulpcore-content[659]: File "/usr/lib64/python3.6/concurrent/futures/thread.py", line 56, in run
pulpcore-content[659]: result = self.fn(*self.args, **self.kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/__init__.py", line 42, in get_status_blocking
pulpcore-content[659]: return ContentAppStatus.objects.get_or_create(name=name)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
pulpcore-content[659]: return getattr(self.get_queryset(), name)(*args, **kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 538, in get_or_create
pulpcore-content[659]: return self.get(**kwargs), False
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 402, in get
pulpcore-content[659]: num = len(clone)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 256, in __len__
pulpcore-content[659]: self._fetch_all()
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1242, in _fetch_all
pulpcore-content[659]: self._result_cache = list(self._iterable_class(self))
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 55, in __iter__
pulpcore-content[659]: results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1142, in execute_sql
pulpcore-content[659]: cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
pulpcore-content[659]: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
pulpcore-content[659]: return executor(sql, params, many, context)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
pulpcore-content[659]: raise dj_exc_value.with_traceback(traceback) from exc_value
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: django.db.utils.OperationalError: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: pulp [None]: asyncio:ERROR: Task exception was never retrieved
pulpcore-content[659]: future: exception=OperationalError('terminating connection due to administrator command\nserver closed the connection unexpectedly\n\tThis probably means the server terminated abnormally\n\tbefore or while processing the request.\n',)>
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: psycopg2.errors.AdminShutdown: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: The above exception was the direct cause of the following exception:
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/__init__.py", line 45, in _heartbeat
pulpcore-content[659]: content_app_status, created = await loop.run_in_executor(None, get_status_blocking)
pulpcore-content[659]: File "/usr/lib64/python3.6/concurrent/futures/thread.py", line 56, in run
pulpcore-content[659]: result = self.fn(*self.args, **self.kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/__init__.py", line 42, in get_status_blocking
pulpcore-content[659]: return ContentAppStatus.objects.get_or_create(name=name)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
pulpcore-content[659]: return getattr(self.get_queryset(), name)(*args, **kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 538, in get_or_create
pulpcore-content[659]: return self.get(**kwargs), False
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 402, in get
pulpcore-content[659]: num = len(clone)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 256, in __len__
pulpcore-content[659]: self._fetch_all()
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1242, in _fetch_all
pulpcore-content[659]: self._result_cache = list(self._iterable_class(self))
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 55, in __iter__
pulpcore-content[659]: results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1142, in execute_sql
pulpcore-content[659]: cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
pulpcore-content[659]: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
pulpcore-content[659]: return executor(sql, params, many, context)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
pulpcore-content[659]: raise dj_exc_value.with_traceback(traceback) from exc_value
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: django.db.utils.OperationalError: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: pulp [None]: asyncio:ERROR: Task exception was never retrieved
pulpcore-content[659]: future: exception=OperationalError('terminating connection due to administrator command\nserver closed the connection unexpectedly\n\tThis probably means the server terminated abnormally\n\tbefore or while processing the request.\n',)>
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: psycopg2.errors.AdminShutdown: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: The above exception was the direct cause of the following exception:
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/__init__.py", line 45, in _heartbeat
pulpcore-content[659]: content_app_status, created = await loop.run_in_executor(None, get_status_blocking)
pulpcore-content[659]: File "/usr/lib64/python3.6/concurrent/futures/thread.py", line 56, in run
pulpcore-content[659]: result = self.fn(*self.args, **self.kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/__init__.py", line 42, in get_status_blocking
pulpcore-content[659]: return ContentAppStatus.objects.get_or_create(name=name)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
pulpcore-content[659]: return getattr(self.get_queryset(), name)(*args, **kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 538, in get_or_create
pulpcore-content[659]: return self.get(**kwargs), False
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 402, in get
pulpcore-content[659]: num = len(clone)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 256, in __len__
pulpcore-content[659]: self._fetch_all()
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1242, in _fetch_all
pulpcore-content[659]: self._result_cache = list(self._iterable_class(self))
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 55, in __iter__
pulpcore-content[659]: results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1142, in execute_sql
pulpcore-content[659]: cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
pulpcore-content[659]: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
pulpcore-content[659]: return executor(sql, params, many, context)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
pulpcore-content[659]: raise dj_exc_value.with_traceback(traceback) from exc_value
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: django.db.utils.OperationalError: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: [2021-10-18 10:18:25 +0000] [1138] [ERROR] Error handling request
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: psycopg2.errors.AdminShutdown: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: The above exception was the direct cause of the following exception:
pulpcore-content[659]: Traceback (most recent call last):
pulpcore-content[659]: File "/usr/lib64/python3.6/site-packages/aiohttp/web_protocol.py", line 422, in _handle_request
pulpcore-content[659]: resp = await self._request_handler(request)
pulpcore-content[659]: File "/usr/lib64/python3.6/site-packages/aiohttp/web_app.py", line 499, in _handle
pulpcore-content[659]: resp = await handler(request)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/handler.py", line 142, in list_distributions
pulpcore-content[659]: base_paths = await loop.run_in_executor(None, get_base_paths_blocking)
pulpcore-content[659]: File "/usr/lib64/python3.6/concurrent/futures/thread.py", line 56, in run
pulpcore-content[659]: result = self.fn(*self.args, **self.kwargs)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/pulpcore/content/handler.py", line 135, in get_base_paths_blocking
pulpcore-content[659]: base_paths = list(Distribution.objects.values_list("base_path", flat=True))
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 274, in __iter__
pulpcore-content[659]: self._fetch_all()
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1242, in _fetch_all
pulpcore-content[659]: self._result_cache = list(self._iterable_class(self))
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 182, in __iter__
pulpcore-content[659]: for row in compiler.results_iter(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size):
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1094, in results_iter
pulpcore-content[659]: results = self.execute_sql(MULTI, chunked_fetch=chunked_fetch, chunk_size=chunk_size)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1142, in execute_sql
pulpcore-content[659]: cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
pulpcore-content[659]: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
pulpcore-content[659]: return executor(sql, params, many, context)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
pulpcore-content[659]: raise dj_exc_value.with_traceback(traceback) from exc_value
pulpcore-content[659]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-content[659]: return self.cursor.execute(sql, params)
pulpcore-content[659]: django.db.utils.OperationalError: terminating connection due to administrator command
pulpcore-content[659]: server closed the connection unexpectedly
pulpcore-content[659]: This probably means the server terminated abnormally
pulpcore-content[659]: before or while processing the request.
pulpcore-content[659]: [18/Oct/2021:10:18:25 +0000] "GET /pulp/content/ HTTP/1.1" 500 244 "-" "curl/7.29.0"
</pre> RPM Support - Issue #9387 (CLOSED - CURRENTRELEASE): Depsolving computes repoclosure once per-rpm...https://pulp.plan.io/issues/93872021-09-13T15:42:24Zggainey
<p>Unlike Pulp2, Pulp3 on-copy depsolving is computing repoclosure on the destination repo once <strong>per RPM copied</strong> . It only takes 1s to compute - but when copying 10K rpms, that adds up, in both CPU and memory.</p> Pulp - Issue #9146 (CLOSED - CURRENTRELEASE): sync of file:// repos tries to move files from /var...https://pulp.plan.io/issues/91462021-07-26T18:47:01Zjsherril@redhat.comjsherril@redhat.com
<p>When syncing file:// repos it appears that pulp is trying to move files from that directory. In our case we copy files that are world readable, but not writable by the pulp user and see a permission error:</p>
<pre><code>Jul 26 18:27:11 devel2 pulpcore-worker-1: pulp [994770242e2842ecade44f158e7de8d0]: pulpcore.tasking.pulpcore_worker:INFO: Task 4c40418c-8a76-4a83-a6ee-4d2b5326c9d4 failed ([Errno 13] Pe
rmission denied: '/var/lib/pulp/sync_imports/test_repos/zoo/kangaroo-0.2-1.noarch.rpm')
Jul 26 18:27:11 devel2 pulpcore-worker-1: pulp [994770242e2842ecade44f158e7de8d0]: pulpcore.tasking.pulpcore_worker:INFO: File "/usr/lib/python3.6/site-packages/pulpcore/tasking/pulpc
ore_worker.py", line 272, in _perform_task
Jul 26 18:27:11 devel2 pulpcore-worker-1: result = func(*args, **kwargs)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/pulp_rpm/app/tasks/synchronizing.py", line 427, in synchronize
Jul 26 18:27:11 devel2 pulpcore-worker-1: version = dv.create()
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py", line 151, in create
Jul 26 18:27:11 devel2 pulpcore-worker-1: loop.run_until_complete(pipeline)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib64/python3.6/asyncio/base_events.py", line 484, in run_until_complete
Jul 26 18:27:11 devel2 pulpcore-worker-1: return future.result()
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 225, in create_pipeline
Jul 26 18:27:11 devel2 pulpcore-worker-1: await asyncio.gather(*futures)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 43, in __call__
Jul 26 18:27:11 devel2 pulpcore-worker-1: await self.run()
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/artifact_stages.py", line 248, in run
Jul 26 18:27:11 devel2 pulpcore-worker-1: d_artifact.artifact for d_artifact in da_to_save
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/pulpcore/app/models/content.py", line 82, in bulk_get_or_create
Jul 26 18:27:11 devel2 pulpcore-worker-1: return super().bulk_create(objs, batch_size=batch_size)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
Jul 26 18:27:11 devel2 pulpcore-worker-1: return getattr(self.get_queryset(), name)(*args, **kwargs)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 468, in bulk_create
Jul 26 18:27:11 devel2 pulpcore-worker-1: self._batched_insert(objs_with_pk, fields, batch_size, ignore_conflicts=ignore_conflicts)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1204, in _batched_insert
Jul 26 18:27:11 devel2 pulpcore-worker-1: ignore_conflicts=ignore_conflicts,
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
Jul 26 18:27:11 devel2 pulpcore-worker-1: return query.get_compiler(using=using).execute_sql(return_id)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1376, in execute_sql
Jul 26 18:27:11 devel2 pulpcore-worker-1: for sql, params in self.as_sql():
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django_readonly_field/compiler.py", line 31, in as_sql
Jul 26 18:27:11 devel2 pulpcore-worker-1: return super(ReadonlySQLCompilerMixin, self).as_sql()
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1320, in as_sql
Jul 26 18:27:11 devel2 pulpcore-worker-1: for obj in self.query.objs
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1320, in <listcomp>
Jul 26 18:27:11 devel2 pulpcore-worker-1: for obj in self.query.objs
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1319, in <listcomp>
Jul 26 18:27:11 devel2 pulpcore-worker-1: [self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields]
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1270, in pre_save_val
Jul 26 18:27:11 devel2 pulpcore-worker-1: return field.pre_save(obj, add=True)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/pulpcore/app/models/fields.py", line 68, in pre_save
Jul 26 18:27:11 devel2 pulpcore-worker-1: return super().pre_save(model_instance, add)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/fields/files.py", line 289, in pre_save
Jul 26 18:27:11 devel2 pulpcore-worker-1: file.save(file.name, file.file, save=False)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/db/models/fields/files.py", line 88, in save
Jul 26 18:27:11 devel2 pulpcore-worker-1: self.name = self.storage.save(name, content, max_length=self.field.max_length)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/core/files/storage.py", line 54, in save
Jul 26 18:27:11 devel2 pulpcore-worker-1: return self._save(name, content)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/pulpcore/app/models/storage.py", line 68, in _save
Jul 26 18:27:11 devel2 pulpcore-worker-1: file_move_safe(content.temporary_file_path(), full_path)
Jul 26 18:27:11 devel2 pulpcore-worker-1: File "/usr/lib/python3.6/site-packages/django/core/files/move.py", line 80, in file_move_safe
Jul 26 18:27:11 devel2 pulpcore-worker-1: os.remove(old_file_name)
</code></pre>
<p>These repos are in /var/lib/pulp/sync_imports/ (and settings.py is configured properly).</p> Migration Plugin - Issue #8166 (CLOSED - CURRENTRELEASE): Migration fails with ForeignKeyViolati...https://pulp.plan.io/issues/81662021-01-27T15:44:40Zjsherril@redhat.comjsherril@redhat.com
<p>On a user database, the following was observed:</p>
<pre><code>pulp: rq.worker:ERROR: Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/django/db/backends/base/base.py", line 240, in _commit
return self.connection.commit()
psycopg2.errors.ForeignKeyViolation: insert or update on table "pulp_2to3_migration_pulp2erratum" violates foreign key constraint "pulp_2to3_migration__pulp2content_id_157e4b7e_fk_pulp_2to3"
DETAIL: Key (pulp2content_id)=(92d6bb6c-531c-43c7-82d8-dc51d752d00e) is not present in table "pulp_2to3_migration_pulp2content".
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/rq/worker.py", line 936, in perform_job
rv = job.perform()
File "/usr/lib/python3.6/site-packages/rq/job.py", line 684, in perform
self._result = self._execute()
File "/usr/lib/python3.6/site-packages/rq/job.py", line 690, in _execute
return self.func(*self.args, **self.kwargs)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/tasks/migrate.py", line 137, in migrate_from_pulp2
pre_migrate_all_content(plan)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/pre_migration.py", line 68, in pre_migrate_all_content
pre_migrate_content_type(content_model, mutable_type, lazy_type, premigrate_hook)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/pre_migration.py", line 272, in pre_migrate_content_type
content_model.pulp_2to3_detail.pre_migrate_content_detail(pulp2content_batch)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/plugin/rpm/pulp_2to3_models.py", line 370, in pre_migrate_content_detail
batch_size=DEFAULT_BATCH_SIZE)
File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 480, in bulk_create
obj_without_pk._state.db = self.db
File "/usr/lib/python3.6/site-packages/django/db/transaction.py", line 240, in __exit__
connection.commit()
File "/usr/lib/python3.6/site-packages/django/db/backends/base/base.py", line 262, in commit
self._commit()
File "/usr/lib/python3.6/site-packages/django/db/backends/base/base.py", line 240, in _commit
return self.connection.commit()
File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/lib/python3.6/site-packages/django/db/backends/base/base.py", line 240, in _commit
return self.connection.commit()
django.db.utils.IntegrityError: insert or update on table "pulp_2to3_migration_pulp2erratum" violates foreign key constraint "pulp_2to3_migration__pulp2content_id_157e4b7e_fk_pulp_2to3"
DETAIL: Key (pulp2content_id)=(92d6bb6c-531c-43c7-82d8-dc51d752d00e) is not present in table "pulp_2to3_migration_pulp2content".
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/django/db/backends/base/base.py", line 240, in _commit
return self.connection.commit()
psycopg2.errors.ForeignKeyViolation: insert or update on table "pulp_2to3_migration_pulp2erratum" violates foreign key constraint "pulp_2to3_migration__pulp2content_id_157e4b7e_fk_pulp_2to3"
DETAIL: Key (pulp2content_id)=(92d6bb6c-531c-43c7-82d8-dc51d752d00e) is not present in table "pulp_2to3_migration_pulp2content".
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/rq/worker.py", line 936, in perform_job
rv = job.perform()
File "/usr/lib/python3.6/site-packages/rq/job.py", line 684, in perform
self._result = self._execute()
File "/usr/lib/python3.6/site-packages/rq/job.py", line 690, in _execute
return self.func(*self.args, **self.kwargs)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/tasks/migrate.py", line 137, in migrate_from_pulp2
pre_migrate_all_content(plan)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/pre_migration.py", line 68, in pre_migrate_all_content
pre_migrate_content_type(content_model, mutable_type, lazy_type, premigrate_hook)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/pre_migration.py", line 272, in pre_migrate_content_type
content_model.pulp_2to3_detail.pre_migrate_content_detail(pulp2content_batch)
File "/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/plugin/rpm/pulp_2to3_models.py", line 370, in pre_migrate_content_detail
batch_size=DEFAULT_BATCH_SIZE)
File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 480, in bulk_create
obj_without_pk._state.db = self.db
File "/usr/lib/python3.6/site-packages/django/db/transaction.py", line 240, in __exit__
connection.commit()
File "/usr/lib/python3.6/site-packages/django/db/backends/base/base.py", line 262, in commit
self._commit()
File "/usr/lib/python3.6/site-packages/django/db/backends/base/base.py", line 240, in _commit
return self.connection.commit()
File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/lib/python3.6/site-packages/django/db/backends/base/base.py", line 240, in _commit
return self.connection.commit()
django.db.utils.IntegrityError: insert or update on table "pulp_2to3_migration_pulp2erratum" violates foreign key constraint "pulp_2to3_migration__pulp2content_id_157e4b7e_fk_pulp_2to3"
DETAIL: Key (pulp2content_id)=(92d6bb6c-531c-43c7-82d8-dc51d752d00e) is not present in table "pulp_2to3_migration_pulp2content".
</code></pre> Pulp - Issue #7676 (CLOSED - CURRENTRELEASE): django-cleanup can silently delete files being used...https://pulp.plan.io/issues/76762020-10-08T14:15:28Zdalleydalley@redhat.com
<pre><code>Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: pulp: pulp_rpm.app.tasks.publishing:INFO: Publishing: repository=centos8-baseos, version=1
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: pulp: rq.worker:ERROR: Traceback (most recent call last):
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py", line 936, in perform_job
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: rv = job.perform()
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 684, in perform
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: self._result = self._execute()
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 690, in _execute
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: return self.func(*self.args, **self.kwargs)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/tasks/migrate.py", line 142, in migrate_from_pulp2
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: create_repoversions_publications_distributions(plan)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/migration.py", line 323, in create_repoversions_publications_distributions
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: task_func(*task_args)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/migration.py", line 270, in complex_repo_migration
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: migrated_repo.pulp3_repository_version
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/migration.py", line 391, in migrate_repo_distributor
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: pulp2dist, repo_version)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/plugin/rpm/repository.py", line 74, in migrate_to_pulp3
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: publish(repo_version.pk, checksum_types=checksum_types)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp_rpm/pulp_rpm/app/tasks/publishing.py", line 283, in publish
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: publication_data.populate()
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp_rpm/pulp_rpm/app/tasks/publishing.py", line 224, in populate
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: self.handle_sub_repos(distribution_tree)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp_rpm/pulp_rpm/app/tasks/publishing.py", line 165, in handle_sub_repos
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: artifact_file = storage.open(original_treeinfo_content_artifact.artifact.file.name)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/files/storage.py", line 36, in open
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: return self._open(name, mode)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/files/storage.py", line 224, in _open
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: return File(open(self.path(name), mode))
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: FileNotFoundError: [Errno 2] No such file or directory: '/var/lib/pulp/artifact/48/66eceaf78ffabb1d25774932085c6653f9f654411d7669db7b91e2ef0fd2a3'
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: Traceback (most recent call last):
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py", line 936, in perform_job
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: rv = job.perform()
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 684, in perform
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: self._result = self._execute()
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 690, in _execute
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: return self.func(*self.args, **self.kwargs)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/tasks/migrate.py", line 142, in migrate_from_pulp2
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: create_repoversions_publications_distributions(plan)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/migration.py", line 323, in create_repoversions_publications_distributions
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: task_func(*task_args)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/migration.py", line 270, in complex_repo_migration
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: migrated_repo.pulp3_repository_version
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/migration.py", line 391, in migrate_repo_distributor
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: pulp2dist, repo_version)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp-2to3-migration/pulp_2to3_migration/app/plugin/rpm/repository.py", line 74, in migrate_to_pulp3
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: publish(repo_version.pk, checksum_types=checksum_types)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp_rpm/pulp_rpm/app/tasks/publishing.py", line 283, in publish
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: publication_data.populate()
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp_rpm/pulp_rpm/app/tasks/publishing.py", line 224, in populate
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: self.handle_sub_repos(distribution_tree)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/home/vagrant/devel/pulp_rpm/pulp_rpm/app/tasks/publishing.py", line 165, in handle_sub_repos
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: artifact_file = storage.open(original_treeinfo_content_artifact.artifact.file.name)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/files/storage.py", line 36, in open
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: return self._open(name, mode)
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/files/storage.py", line 224, in _open
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: return File(open(self.path(name), mode))
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: FileNotFoundError: [Errno 2] No such file or directory: '/var/lib/pulp/artifact/48/66eceaf78ffabb1d25774932085c6653f9f654411d7669db7b91e2ef0fd2a3'
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: pulp: rq.worker:INFO: 26855@pulp2-nightly-pulp3-source-centos7.localhost.example.com: c009a655-bb3e-4665-9b2e-b3100b82b060
Oct 08 13:30:37 pulp2-nightly-pulp3-source-centos7.localhost.example.com rq[26855]: pulp: rq.worker:INFO: 26855@pulp2-nightly-pulp3-source-centos7.localhost.example.com: Job OK (c009a655-bb3e-4665-9b2e-b3100b82b060)
</code></pre> CertGuard - Issue #7182 (CLOSED - CURRENTRELEASE): The docs aren't buildinghttps://pulp.plan.io/issues/71822020-07-21T20:25:23Zbmbouterbmbouter@redhat.com
<a name="The-docs-site-on-RTD-is-no-longer-building"></a>
<h2 >The docs site on RTD is no longer building<a href="#The-docs-site-on-RTD-is-no-longer-building" class="wiki-anchor">¶</a></h2>
<p>You can see the 1.0.0 and 1.0.1 changelogs are not present: <a href="https://pulp-certguard.readthedocs.io/en/latest/changes.html" class="external">https://pulp-certguard.readthedocs.io/en/latest/changes.html</a></p>
<p>The last successful build was Completed June 30, 2020. 6:54 p.m from (6d951eb3203a19f627d1f3e0e729f8c3a3107c0b)</p>
<p>The RTD builder fails with:</p>
<pre><code>DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting PyOpenSSL
Downloading pyOpenSSL-19.1.0-py2.py3-none-any.whl (53 kB)
ERROR: Could not find a version that satisfies the requirement pulpcore<3.6,>=3.3 (from -r requirements.txt (line 2)) (from versions: 3.0.0a1.dev3, 3.0.0a1.dev4, 3.0.0a1.dev5, 3.0.0a1, 3.0.0a2, 3.0.0a3, 3.0.0a4, 3.0.0a5, 3.0.0a6, 3.0.0a7, 3.0.0a8, 3.0.0a9, 3.0.0a10, 3.0.0a11, 3.0.0a12, 3.0.0a13, 3.0.0a14, 3.0.0a15, 3.0.0a16, 3.0.0a17, 3.0.0a18, 3.0.0a19, 3.0.0a20, 3.0.0a21, 3.0.0a22, 3.0.0a23, 3.0.0a24, 3.0.0a25, 3.0.0a26, 3.0.0a27, 3.0.0a28, 3.0.0a29, 3.0.0b1, 3.0.0b2, 3.0.0b3, 3.0.0b4, 3.0.0b5, 3.0.0b6, 3.0.0b7)
ERROR: No matching distribution found for pulpcore<3.6,>=3.3 (from -r requirements.txt (line 2))
</code></pre> Ansible Plugin - Issue #5572 (CLOSED - CURRENTRELEASE): pulp_ansible/app/tasks/collections.py:imp...https://pulp.plan.io/issues/55722019-10-15T17:33:25Zalikins
<pre><code>pulp-worker_1 | django.core.exceptions.FieldError: Cannot resolve keyword '_id' into field. Choices are: _artifacts, authors, collection, collection_id, content_ptr, content_ptr_id, contentartifact, contents, dependencies, description, docs_blob, documentation, homepage, is_certified, is_highest, issues, license, name, namespace, pulp_created, pulp_id, pulp_last_updated, pulp_type, repositories, repository, search_vector, tags, version, version_memberships
pulp-worker_1 | Traceback (most recent call last):
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/rq/worker.py", line 822, in perform_job
pulp-worker_1 | rv = job.perform()
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/rq/job.py", line 605, in perform
pulp-worker_1 | self._result = self._execute()
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/rq/job.py", line 611, in _execute
pulp-worker_1 | return self.func(*self.args, **self.kwargs)
pulp-worker_1 | File "/code/pulp-ansible/pulp_ansible/app/tasks/collections.py", line 183, in import_collection
pulp-worker_1 | content_q = CollectionVersion.objects.filter(_id=collection_version.pk)
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
pulp-worker_1 | return getattr(self.get_queryset(), name)(*args, **kwargs)
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/django/db/models/query.py", line 892, in filter
pulp-worker_1 | return self._filter_or_exclude(False, *args, **kwargs)
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/django/db/models/query.py", line 910, in _filter_or_exclude
pulp-worker_1 | clone.query.add_q(Q(*args, **kwargs))
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/django/db/models/sql/query.py", line 1290, in add_q
pulp-worker_1 | clause, _ = self._add_q(q_object, self.used_aliases)
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/django/db/models/sql/query.py", line 1318, in _add_q
pulp-worker_1 | split_subq=split_subq, simple_col=simple_col,
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/django/db/models/sql/query.py", line 1190, in build_filter
pulp-worker_1 | lookups, parts, reffed_expression = self.solve_lookup_type(arg)
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/django/db/models/sql/query.py", line 1049, in solve_lookup_type
pulp-worker_1 | _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
pulp-worker_1 | File "/venv/lib64/python3.6/site-packages/django/db/models/sql/query.py", line 1420, in names_to_path
pulp-worker_1 | "Choices are: %s" % (name, ", ".join(available)))
pulp-worker_1 | django.core.exceptions.FieldError: Cannot resolve keyword '_id' into field. Choices are: _artifacts, authors, collection, collection_id, content_ptr, content_ptr_id, contentartifact, contents, dependencies, description, docs_blob, documentation, homepage, is_certified, is_highest, issues, license, name, namespace, pulp_created, pulp_id, pulp_last_updated, pulp_type, repositories, repository, search_vector, tags, version, version_memberships
</code></pre> Pulp - Test #4359 (CLOSED - COMPLETE): 2.18.1 Testinghttps://pulp.plan.io/issues/43592019-01-29T16:02:43Zbherring
<a name="Notes"></a>
<h2 >Notes<a href="#Notes" class="wiki-anchor">¶</a></h2>
<p>Testing Coverage for 2.18.1 will consist of the following</p>
<ul>
<li>Migration/Upgrade Testing
<ul>
<li>2.17.0 --> 2.18.1
<ul>
<li>FIPS</li>
<li>Non-FIPS</li>
</ul>
</li>
</ul>
</li>
<li>2.18.1 Functional Testing Suite
<ul>
<li>FIPS</li>
<li>Non-FIPS</li>
</ul>
</li>
</ul> Pulp - Test #4357 (CLOSED - COMPLETE): Pulp 2.19 master pulled epel django instead of pulp 2 djangohttps://pulp.plan.io/issues/43572019-01-29T12:41:38Zbherring
<a name="Problem"></a>
<h2 >Problem<a href="#Problem" class="wiki-anchor">¶</a></h2>
<p>When running nightly rhel76-fips testing, there were 500 errors [0] on jenkins tests since 1/23 and issues in journalctl with django [1].</p>
<p>After talking with asmacdo and daviddavis, it appears this may be a django being pulled from EPEL and not from our Pulp 2 repos on build [2][3]</p>
<a name="Testing"></a>
<h2 >Testing<a href="#Testing" class="wiki-anchor">¶</a></h2>
<p>It was determined this was the result of EPEL django precedence over the pulp.repo version that was built. This issue has been seen before.</p>
<p>Forced installation of the <strong>python2-django-1.11.17-1</strong> from the fedorapeople repo [3] and restart of services (or with a hammer of <strong>shutdown now -r</strong>) resulted in a functioning pulp install.</p>
<pre><code>[root@rhel76-fips ~]# journalctl -f
-- Logs begin at Mon 2019-01-28 12:33:13 EST. --
Jan 28 12:34:38 rhel76-fips pulp[5046]: kombu.transport.qpid:INFO: Connected to qpid with SASL mechanism ANONYMOUS
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) Internal Server Error: /pulp/api/v2/status/
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) Traceback (most recent call last):
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 131, in get_response
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) response = middleware_method(request, response)
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) File "/usr/lib/python2.7/site-packages/django/middleware/http.py", line 23, in process_response
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) set_response_etag(response)
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) File "/usr/lib/python2.7/site-packages/django/utils/cache.py", line 109, in set_response_etag
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) response['ETag'] = quote_etag(hashlib.md5(response.content).hexdigest())
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) ValueError: error:060800A3:digital envelope routines:EVP_DigestInit_ex:disabled for fips
</code></pre>
<a name="Actions"></a>
<h2 >Actions<a href="#Actions" class="wiki-anchor">¶</a></h2>
<p>Pulp-dev determined this issue as a low priority issue where documentation exercise may happen as a result of this issue.</p>
<p>For QE, this is a critical breakage of CI as the ansible install fails on FIPS installation and puts the box into a non-testable state. QE will be opening a related Urgent test tracker to fix the issue in the pulp-ci installer to fix mission critical work.</p>
<a name="References"></a>
<h2 >References<a href="#References" class="wiki-anchor">¶</a></h2>
<p>[0] - <a href="https://paste.fedoraproject.org/paste/bPRtYPa4ZCLShrZ7VUMqMQ" class="external">https://paste.fedoraproject.org/paste/bPRtYPa4ZCLShrZ7VUMqMQ</a><br>
[1] - <a href="https://pulp-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/Pulp%202%20-%20Master/job/pulp-2-master-dev-rhel7-fips/228/" class="external">https://pulp-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/Pulp%202%20-%20Master/job/pulp-2-master-dev-rhel7-fips/228/</a><br>
[2] - <a href="https://paste.fedoraproject.org/paste/6eHTS1Uc3NkC0hohvKe-TA" class="external">https://paste.fedoraproject.org/paste/6eHTS1Uc3NkC0hohvKe-TA</a> [from the affected 2.19a1-nightly box under test<br>
[3] - 2.11.17-1 <a href="https://repos.fedorapeople.org/repos/pulp/pulp/v2/testing/automation/2.19/stage/7Server/x86_64/" class="external">https://repos.fedorapeople.org/repos/pulp/pulp/v2/testing/automation/2.19/stage/7Server/x86_64/</a><br>
[4] - <a href="https://wiki.centos.org/PackageManagement/Yum/Priorities" class="external">https://wiki.centos.org/PackageManagement/Yum/Priorities</a></p> RPM Support - Test #4351 (CLOSED - COMPLETE): modules.yaml reference in repomd.xml does not use s...https://pulp.plan.io/issues/43512019-01-24T14:13:07Zbherring
<p>A report from upstream katello (<a href="https://projects.theforeman.org/issues/25529" class="external">https://projects.theforeman.org/issues/25529</a>) indicates that pulp generates a repomd.xml file that claims to use the checksum type that has been set on the publisher, but in fact is not using that:</p>
<p>In this example it purports to have used a sha1 checksum, but in fact its actually a sha256 checksum:</p>
<pre><code> <data type="modules">
<location href="repodata/824ffe238f202a0612ecbb2b0c0459dc289a7ef47adb1f26406453d41f476449-modules.yaml.gz"/>
<timestamp>1542811864</timestamp>
<size>33</size>
<checksum type="sha1">824ffe238f202a0612ecbb2b0c0459dc289a7ef47adb1f26406453d41f476449</checksum>
<open-size>0</open-size>
<open-checksum type="sha1">da39a3ee5e6b4b0d3255bfef95601890afd80709</open-checksum>
</data>
</code></pre>
<p>To reproduce:</p>
<p>1. create and sync a yum repository<br>
2. set a checksum type of sha1<br>
3. publish the repository</p> RPM Support - Test #4350 (CLOSED - COMPLETE): modules.yaml file is generated on repository with n...https://pulp.plan.io/issues/43502019-01-24T14:12:25Zbherring
<p>It seems that syncing and publishing a repository without any modularity info, still results in a modules.yaml being generated.</p>
<p>See: <a href="https://projects.theforeman.org/issues/25529" class="external">https://projects.theforeman.org/issues/25529</a> for more information</p> Pulp - Test #4258 (CLOSED - COMPLETE): Publishing incorrect branch head.https://pulp.plan.io/issues/42582018-12-11T13:33:31Zbherring
<a name="Notes"></a>
<h2 >Notes<a href="#Notes" class="wiki-anchor">¶</a></h2>
<ul>
<li>ostree smash test? ping jeff</li>
</ul> Pulp - Story #3778 (CLOSED - CURRENTRELEASE): [Epic] As a user, I can run Pulp 3 in a FIPS-enable...https://pulp.plan.io/issues/37782018-06-21T16:13:49ZdaviddavisPulp - Issue #2586 (CLOSED - NOTABUG): Pulp workers/beat/resource_manager go missinghttps://pulp.plan.io/issues/25862017-02-13T20:52:22Zehelms@redhat.comehelms@redhat.com
<p>Running on Pulp 2.10.3, I see the following error messages running this setup:</p>
<p>clone <a href="https://github.com/Katello/forklift" class="external">https://github.com/Katello/forklift</a><br>
vagrant up centos7-katello-nightly</p>
<p>If you do not see the error messages initially:</p>
<pre><code>vagrant ssh centos7-katello-nightly
cd /
/vagrant/forklift/bats/bootstrap_vagrant.sh
cd /vagrant/forklift/bats
bats fb-install-katello.bats fb-content-katello.bats
</code></pre>
<pre><code>Feb 13 20:45:22 centos7 pulp: pulp.server.async.scheduler:ERROR: There are 0 pulp_resource_manager processes running. Pulp will not operate correctly without at least one pulp_resource_mananger process running.
Feb 13 20:46:22 centos7 pulp: pulp.server.async.scheduler:ERROR: There are 0 pulp_resource_manager processes running. Pulp will not operate correctly without at least one pulp_resource_mananger process running.
Feb 13 20:47:22 centos7 pulp: pulp.server.async.scheduler:ERROR: There are 0 pulp_resource_manager processes running. Pulp will not operate correctly without at least one pulp_resource_mananger process running.
Feb 13 20:48:22 centos7 pulp: pulp.server.async.scheduler:ERROR: There are 0 pulp_resource_manager processes running. Pulp will not operate correctly without at least one pulp_resource_mananger process running.
Feb 13 20:49:22 centos7 pulp: pulp.server.async.scheduler:ERROR: There are 0 pulp_resource_manager processes running. Pulp will not operate correctly without at least one pulp_resource_mananger process running.
Feb 13 20:50:22 centos7 pulp: pulp.server.async.scheduler:ERROR: There are 0 pulp_resource_manager processes running. Pulp will not operate correctly without at least one pulp_resource_mananger process running.
</code></pre> Pulp - Issue #2379 (CLOSED - WORKSFORME): repomd.xml points to wrong updateinfo.xml.gz filehttps://pulp.plan.io/issues/23792016-11-01T13:59:56Zbmbouterbmbouter@redhat.com
<p>As Issue <a class="issue tracker-1 status-11 priority-6 priority-default closed" title="Issue: Additional updateinfo.xml after second publish (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/2096">#2096</a> identifies, each incremental publish leaves a copy of updateinfo.xml.gz in the repodata folder. The repomd.xml file sometimes links to the wrong updateinof.xml.gz file. If that incremental publish brings in additional errata then those errata will not be published.</p>