Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-08-26T12:31:31ZPulp
Planio Debian Support - Issue #9299 (CLOSED - CURRENTRELEASE): Resolve Django 3 async issueshttps://pulp.plan.io/issues/92992021-08-26T12:31:31Zquba42
<p>Pulpcore 3.15 will be based on <code>Django~=3.2.6</code> which does not play nice with the current async implementation.</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> Debian Support - Issue #8671 (CLOSED - CURRENTRELEASE): Sync with Main Debian Repo fails on a tra...https://pulp.plan.io/issues/86712021-04-30T08:43:16Ztp-hlawatsch
<p>Hello everybody,</p>
<p>we plan to use pulp as our main tool for repos . We testing at the moment Debian mirroring
Our pulp testinstance is runing with the latest offical docker image</p>
<p>This is the configured remote repo</p>
<p>{
"name": "debian",
"url": "<a href="http://ftp.de.debian.org/debian/" class="external">http://ftp.de.debian.org/debian/</a>",
"ca_cert": null,
"client_cert": null,
"client_key": null,
"tls_validation": false,
"proxy_url": null,
"proxy_username": null,
"proxy_password": null,
"username": null,
"password": null,
"pulp_labels": {},
"download_concurrency": "10",
"policy": "immediate",
"total_timeout": null,
"connect_timeout": null,
"sock_connect_timeout": null,
"sock_read_timeout": null,
"rate_limit": null,
"distributions": "buster",
"components": "main",
"architectures": "amd64",
"sync_sources": false,
"sync_udebs": false,
"sync_installer": false,
"gpgkey": null,
"ignore_missing_package_indices": false
}</p>
<p>the sync run in to the following error</p>
<p>{
"pulp_href": "/pulp/api/v3/tasks/a7bd851b-f001-4f5f-89eb-0e0de529a556/",
"pulp_created": "2021-04-30T07:53:11.537345Z",
"state": "failed",
"name": "pulp_deb.app.tasks.synchronizing.synchronize",
"logging_cid": "00de2125667f4c7e8b8e01554c401eeb",
"started_at": "2021-04-30T07:53:11.648803Z",
"finished_at": "2021-04-30T07:53:19.135647Z",
"error": {
"traceback": " File "/usr/local/lib/python3.6/site-packages/rq/worker.py", line 1008, in perform_job\n rv = job.perform()\n File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 706, in perform\n self._result = self._execute()\n File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 729, in _execute\n result = self.func(*self.args, **self.kwargs)\n File "/usr/local/lib/python3.6/site-packages/pulp_deb/app/tasks/synchronizing.py", line 122, in synchronize\n DebDeclarativeVersion(first_stage, repository, mirror=mirror).create()\n File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py", line 149, in create\n loop.run_until_complete(pipeline)\n File "/usr/lib64/python3.6/asyncio/base_events.py", line 484, in run_until_complete\n return future.result()\n File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 225, in create_pipeline\n await asyncio.gather(*futures)\n File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 43, in <strong>call</strong>\n await self.run()\n File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/artifact_stages.py", line 266, in run\n RemoteArtifact.objects.bulk_get_or_create(self._needed_remote_artifacts(batch))\n File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/artifact_stages.py", line 324, in _needed_remote_artifacts\n msg.format(rp=content_artifact.relative_path, c=d_content.content)\n",
"description": "No declared artifact with relative path "dists/buster/main/i18n/Translation-ml.bz2" for content """
},</p>
<p>We do not see a misconfiguration on our side so I raised this issue here</p>
<p>Regards
Stephan Hlawatsch</p> Pulp - Issue #8625 (CLOSED - CURRENTRELEASE): Remote artifacts are not created for content which ...https://pulp.plan.io/issues/86252021-04-24T15:39:50Zttereshcttereshc@redhat.com
<p>This behavior was introduced with this commit.
<a href="https://github.com/pulp/pulpcore/commit/47e5cc2a69464caaefbb50f994de03d72fb780e4" class="external">https://github.com/pulp/pulpcore/commit/47e5cc2a69464caaefbb50f994de03d72fb780e4</a></p>
<p>It affects RPM sync (because RPM content can have various checksum types) and migration plugin. Probably pulp_deb as well.</p>
<p>To reproduce:</p>
<ul>
<li>trigger on_demand sync for a repo with sha1 checksum type for content, e.g. <a href="https://packagecloud.io/timescale/timescaledb/el/7/x86_64/" class="external">https://packagecloud.io/timescale/timescaledb/el/7/x86_64/</a>
</li>
<li>observe only one remote artifact in the db</li>
</ul>
<pre><code>pulp=> select url from core_remoteartifact;
url
----------------------------------------------------------------------------------------------------
https://packagecloud.io/timescale/timescaledb/el/7/x86_64/timescaledb-tools-0.8.1-0.el7.x86_64.rpm
(1 row)
</code></pre>
<p>If you try to fetch any content other than the one for which you have a remote artifact, you'll get 404.</p> Pulp - Issue #7845 (CLOSED - CURRENTRELEASE): The view_set parameter on AccessPolicy is not names...https://pulp.plan.io/issues/78452020-11-17T16:28:08Zmdellweg
<p>We need to use another deterninant here because e.g. PackageViewSet will appear in multiple plugins.</p>
<pre><code>In: ContainerDistributionViewSet.view_name()
Out: 'distributions-container/container'
</code></pre>
<p>would do the job.</p>
<p>If no plugin is using AccessPolicy by now, we can just switch the lookup here.
Otherwise we'd need to be very careful with deprecating it, because a failed lookup will result in "500" errors.</p> Pulp - Issue #7667 (CLOSED - CURRENTRELEASE): pulp_installer should use the new libexec SELinux w...https://pulp.plan.io/issues/76672020-10-07T15:45:56Zmdepaulo@redhat.com
<p>Soon the katello/foreman RPM packages will use these paths, for SELinux transitioning:
/usr/libexec/pulpcore/{rq,gunicorn}
rather than:
/usr/bin/{rq,gunicorn}</p>
<p>The installer needs to be updated for this, when installing from RPM packages.</p> 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 #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 #4269 (CLOSED - COMPLETE): Recursive and conservative recursive copyhttps://pulp.plan.io/issues/42692018-12-14T17:36:04Zmilan
<a name="Description"></a>
<h2 >Description<a href="#Description" class="wiki-anchor">¶</a></h2>
<p>With the <a href="https://github.com/pulp/pulp_rpm/pull/1226" class="external">fix</a> for the Issue <a class="issue tracker-1 status-11 priority-6 priority-default closed" title="Issue: Regression Pulp 2.17.1: recursive copy of RPMs does not copy partially resolvable dependencies (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/4152">#4152</a>, the default behaviour of recursive copy changes back to the state before 2.17, rendering the test case <a href="https://github.com/PulpQE/Pulp-2-Tests/blob/c9277928c2788bced8d0ae3f630a46b6162fc4c9/pulp_2_tests/tests/rpm/api_v2/test_rich_weak_dependencies.py#L183" class="external">CopyRecursiveUnitsTestCase</a> broken.<br>
The behaviour specified in the <a href="https://github.com/PulpQE/pulp-smash/issues/1090" class="external">pulp smash issue 1090</a>, as requested in the Issue <a class="issue tracker-3 status-11 priority-6 priority-default closed" title="Story: Support more conservative dependency solving (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/2478">#2478</a>, is now optional and can be triggered by providing the <code>"recursive_conservative": true</code> config override instead of the default <code>"recursive": true</code>.<br>
With that setting, the test case <a href="https://github.com/PulpQE/Pulp-2-Tests/blob/c9277928c2788bced8d0ae3f630a46b6162fc4c9/pulp_2_tests/tests/rpm/api_v2/test_rich_weak_dependencies.py#L183" class="external">CopyRecursiveUnitsTestCase</a> should agin pass as is.</p>
<a name="Proposed-solution"></a>
<h2 >Proposed solution<a href="#Proposed-solution" class="wiki-anchor">¶</a></h2>
<p>Split the test case <a href="https://github.com/PulpQE/Pulp-2-Tests/blob/c9277928c2788bced8d0ae3f630a46b6162fc4c9/pulp_2_tests/tests/rpm/api_v2/test_rich_weak_dependencies.py#L183" class="external">CopyRecursiveUnitsTestCase</a> such that it asserts:</p>
<ul>
<li>a failure in the terms described in <a href="https://github.com/PulpQE/pulp-smash/issues/1090" class="external">pulp smash issue 1090</a> with the default <code>"recursive": true</code> config override setting</li>
<li>a success once the non-default <code>"recursive_conservative": true</code> config override setting is provided</li>
</ul> 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 - 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> Pulp - Task #1941 (CLOSED - CURRENTRELEASE): Strict/nitpicky sphinx settings break our rpm buildshttps://pulp.plan.io/issues/19412016-05-23T22:40:42Zsemyerssean.myers@redhat.com
<p>This is a post-mortem report of the task of diagnosing and fixing broken builds.</p>
<hr>
<p>In <a class="issue tracker-2 status-11 priority-6 priority-default closed" title="Task: Consolidate platform and plugin docs into a static site. (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/950">#950</a>, we turned on strict docs builds, but this ended up breaking our builds.</p>
<p>The problem was that there's no internet access inside the mock buildroot, so when sphinx went to download the intersphinx inventory files it would fail. Normally this triggers a warning, but enabling strict mode promotes all build warnings to errors. It's worth pointing out that the intersphinx downloads have always been failing during RPM build, the only thing new was our strictness.</p>
<p>Strict building is good; at the moment work is ongoing in <a class="issue tracker-2 status-11 priority-6 priority-default closed" title="Task: Consolidate platform and plugin docs into a static site. (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/950">#950</a> to modify our docs build process to hopefully (among many other goals) allow us to once again do strict builds with sphinx without breaking the build.</p>