Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-12-08T16:59:02ZPulp
Planio RPM Support - Issue #9619 (CLOSED - DUPLICATE): OpenAPI schema for ModulemdDefault is incorrecthttps://pulp.plan.io/issues/96192021-12-08T16:59:02Zdkliban@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_rpm/2307":<a href="https://github.com/pulp/pulp_rpm/issues/2307" class="external">https://github.com/pulp/pulp_rpm/issues/2307</a></p>
<hr>
<p>The open api schema for ModulemdDefaults is incorrect. When trying to generate a client with openapi-generator-cli 5.3.0, the following exception is emitted:</p>
<pre><code>Exception in thread "main" java.lang.RuntimeException: Could not generate api file for 'ContentModulemdDefaults'
</code></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> RPM Support - Issue #9337 (CLOSED - DUPLICATE): Dependency solving does not pull all stream depen...https://pulp.plan.io/issues/93372021-09-02T15:00:08Zdalleydalley@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_rpm/2299":<a href="https://github.com/pulp/pulp_rpm/issues/2299" class="external">https://github.com/pulp/pulp_rpm/issues/2299</a></p> RPM Support - Issue #9336 (CLOSED - DUPLICATE): Assertion failure when performing depsolving-enab...https://pulp.plan.io/issues/93362021-09-02T14:57:42Zdalleydalley@redhat.comRPM Support - Issue #9331 (CLOSED - DUPLICATE): Dependency solver takes an extremely long time to...https://pulp.plan.io/issues/93312021-09-02T03:01:50Zdalleydalley@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_rpm/2298":<a href="https://github.com/pulp/pulp_rpm/issues/2298" class="external">https://github.com/pulp/pulp_rpm/issues/2298</a></p> RPM Support - Issue #9219 (CLOSED - DUPLICATE): Mirrored .treeinfo metadata needs to be rewritten...https://pulp.plan.io/issues/92192021-08-09T16:25:57Zdalleydalley@redhat.com
<p>When .treeinfo contains relative paths to a location outside of the repository, as is the case with CentOS 8, Pulp cannot serve those sub-repos precisely as they are. So it syncs all of them and publishes all of them into one repository with subdirectories for the sub-repos, and writes the locations of these sub-repos into the .treeinfo metadata.</p>
<p>In the mirrored metadata case, the .treeinfo file will be pointing to the wrong locations, so we need to rewrite the .treeinfo file just like we do during a standard publish.</p>
<p>As .treeinfo isn't checksummed or signed we aren't prevented from doing this.</p> RPM Support - Issue #9133 (CLOSED - NOTABUG): RPM repository sync errorhttps://pulp.plan.io/issues/91332021-07-23T07:56:53Zgvde
<p>I have been collecting all information on this problem here: <a href="https://community.theforeman.org/t/centos-8-4-baseos-sync-error" class="external">https://community.theforeman.org/t/centos-8-4-baseos-sync-error</a></p>
<p>In short: occasionally my sync of the CentOS 8 BaseOS repository from centos.org ends with errors:</p>
<pre><code>Error message: the server returns an error
HTTP status code: 400
Response headers: {"date"=>"Thu, 22 Jul 2021 20:36:46 GMT", "server"=>"gunicorn", "content-type"=>"application/json", "vary"=>"Accept,Cookie", "allow"=>"GET, POST, HEAD, OPTIONS", "x-frame-options"=>"SAMEORIGIN", "content-length"=>"67", "correlation-id"=>"ded10b33-c063-4471-9182-3b62facbd36b", "access-control-expose-headers"=>"Correlation-ID", "via"=>"1.1 foreman.example.com", "connection"=>"close"}
Response body: {"repository_version":["Invalid hyperlink - Incorrect URL match."]}Error message: the server returns an error
HTTP status code: 400
Response headers: {"date"=>"Thu, 22 Jul 2021 20:36:47 GMT", "server"=>"gunicorn", "content-type"=>"application/json", "vary"=>"Accept,Cookie", "allow"=>"GET, POST, HEAD, OPTIONS", "x-frame-options"=>"SAMEORIGIN", "content-length"=>"112", "correlation-id"=>"ded10b33-c063-4471-9182-3b62facbd36b", "access-control-expose-headers"=>"Correlation-ID", "via"=>"1.1 foreman.example.com", "connection"=>"close"}
Response body: ["URI /pulp/api/v3/publications/rpm/rpm/1ad1ad0e-c9c1-42ef-94f6-0b188c29f72d/ not found for repositoryversion."]
</code></pre>
<p>I can access the mentioned publication URI via API:</p>
<pre><code># curl -s --cert /etc/pki/katello/certs/pulp-client.crt --key /etc/pki/katello/private/pulp-client.key 'https://foreman.dkrz.de/pulp/api/v3/publications/rpm/rpm/1ad1ad0e-c9c1-42ef-94f6-0b188c29f72d/' | python -m json.tool
{
"gpgcheck": 0,
"metadata_checksum_type": "unknown",
"package_checksum_type": "unknown",
"pulp_created": "2021-07-22T20:36:04.962028Z",
"pulp_href": "/pulp/api/v3/publications/rpm/rpm/1ad1ad0e-c9c1-42ef-94f6-0b188c29f72d/",
"repo_gpgcheck": 1,
"repository": "/pulp/api/v3/repositories/rpm/rpm/3f9dc526-a51c-4a25-9547-95f82bedb3ee/",
"repository_version": "/pulp/api/v3/repositories/rpm/rpm/3f9dc526-a51c-4a25-9547-95f82bedb3ee/versions/4/",
"sqlite_metadata": true
}
</code></pre>
<p>However, the repository for that is not found:</p>
<pre><code># curl -s --cert /etc/pki/katello/certs/pulp-client.crt --key /etc/pki/katello/private/pulp-client.key 'https://foreman.dkrz.de/pulp/api/v3/repositories/rpm/rpm/3f9dc526-a51c-4a25-9547-95f82bedb3ee/' | python -m json.tool
{
"detail": "Not found."
}
</code></pre>
<p>Checking the pulpcore database I can find both:</p>
<pre><code>pulpcore=# select * from rpm_rpmpublication where publication_ptr_id = '1ad1ad0e-c9c1-42ef-94f6-0b188c29f72d';
publication_ptr_id | metadata_checksum_type | package_checksum_type | gpgcheck | repo_gpgcheck | sqlite_metadata
--------------------------------------+------------------------+-----------------------+----------+---------------+-----------------
1ad1ad0e-c9c1-42ef-94f6-0b188c29f72d | unknown | unknown | 0 | 1 | t
(1 row)
pulpcore=# select * from rpm_rpmrepository where repository_ptr_id = '3f9dc526-a51c-4a25-9547-95f82bedb3ee';
repository_ptr_id | sub_repo | metadata_signing_service_id | last_sync_remote_id | last_sync_repo_version | last_sync_revision
_number | original_checksum_types
| retain_package_versions | last_sync_repomd_checksum | autopublish | gpgcheck
| metadata_checksum_type | package_checksum_type | repo_gpgcheck | sqlite_metadata
--------------------------------------+----------+-----------------------------+--------------------------------------+------------------------+-------------------
--------+----------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------+-------------------------+------------------------------------------------------------------+-------------+----------
+------------------------+-----------------------+---------------+-----------------
3f9dc526-a51c-4a25-9547-95f82bedb3ee | t | | 69abed5c-b1e1-452a-b58b-f0cc23548924 | 4 | 8.4.2105
| {"group": "sha256", "other": "sha256", "modules": "sha256", "primary": "sha256", "group_xz": "sha256", "other_db": "sha256", "filelists": "sha256", "prim
ary_db": "sha256", "filelists_db": "sha256"} | 0 | c21c5d2410544fccf2dcc78ce0f472fd8ed9d8c3fc0de1a8f8061a72629a5c7e | f | 0
| sha256 | sha256 | 0 | f
(1 row)
</code></pre> RPM Support - Story #9131 (CLOSED - DUPLICATE): As an administrator, I'd like RPM repository sync...https://pulp.plan.io/issues/91312021-07-23T06:13:18Zwibbit
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_rpm/2286":<a href="https://github.com/pulp/pulp_rpm/issues/2286" class="external">https://github.com/pulp/pulp_rpm/issues/2286</a></p>
<hr>
<p>Currently, though Pulp3 supports mirror lists, it does not currently support re-trying against a different host in the mirror list in the event of a package sync failure.</p>
<p>While attempting to use mirror lists while syncing fedora34 updates, after ~15 attempts I was not able to get to version 1 of the repository, as each time it would try and it would get a new mirror, and there would be a failed package of some kind.</p>
<p>Anecdotally I see this a lot when running a dnf update/upgrade where packages will fail and DNF will happily go off and try a new mirror, without this logic, for larger repositories that may have a lot of change, I'm unsure of the value of supporting mirror lists.</p> RPM Support - Issue #9107 (CLOSED - CURRENTRELEASE): filelists and changelog metadata is not pars...https://pulp.plan.io/issues/91072021-07-17T22:47:54Zoptiz0r
<p>Versions:</p>
<ul>
<li>Foreman 2.5.2</li>
<li>Katello 4.1.1</li>
<li>pulp-rpm-3.13.3</li>
</ul>
<p>Upstream: <a href="http://lon.mirror.rackspace.com/almalinux/8/BaseOS/x86_64/os/repodata/" class="external">http://lon.mirror.rackspace.com/almalinux/8/BaseOS/x86_64/os/repodata/</a>.</p>
<p>I am seeing filelists not being parsed correctly for Alma Linux repositories. Within Katello UI, I have checked a random sample of packages from all of the Alma repositories I have sync'd (18 in total, x86_64, sources and debug-x86_64 for each of baseos, appstream, highavailability, powertools, extras and devel), and none of them list any files. For comparison, CentOS 8 Stream RPMS do list files.</p>
<p>The generated filelist served up by katello contains each of the packages in the repo but with no package contents. For example, the upstream baseos filelist is 2MB whereas the generated filelist for the katello-hosted repo is just 105KB and looks like the below:</p>
<pre><code class="xml syntaxhl" data-language="xml"><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="nt"><filelists</span> <span class="na">xmlns=</span><span class="s">"http://linux.duke.edu/metadata/filelists"</span> <span class="na">packages=</span><span class="s">"1985"</span><span class="nt">></span>
<span class="nt"><package</span> <span class="na">pkgid=</span><span class="s">"59c2172d6e423d8adc3248c1983146492471678afccdfae8ab0f66e18a1aaaa5"</span> <span class="na">name=</span><span class="s">"kernel-debug"</span> <span class="na">arch=</span><span class="s">"x86_64"</span><span class="nt">></span>
<span class="nt"><version</span> <span class="na">epoch=</span><span class="s">"0"</span> <span class="na">ver=</span><span class="s">"4.18.0"</span> <span class="na">rel=</span><span class="s">"305.el8"</span><span class="nt">/></span>
<span class="nt"></package></span>
<span class="nt"><package</span> <span class="na">pkgid=</span><span class="s">"c8120b541261d0ad425f369b1da5eef0aaad5883760ad0e149137027d102207c"</span> <span class="na">name=</span><span class="s">"avahi"</span> <span class="na">arch=</span><span class="s">"i686"</span><span class="nt">></span>
<span class="nt"><version</span> <span class="na">epoch=</span><span class="s">"0"</span> <span class="na">ver=</span><span class="s">"0.7"</span> <span class="na">rel=</span><span class="s">"20.el8"</span><span class="nt">/></span>
<span class="nt"></package></span>
</code></pre>
<p>This is breaking system installs which use the local mirrored content, because packages included in the kickstart base package set have dependencies specified using files, and these are all unsatisfied due to the empty filelists. I have triggered resyncs from upstream mirrors without any change in behaviour.</p>
<p>May be related to similar-looking issue <a class="issue tracker-1 status-11 priority-6 priority-default closed" title="Issue: Filelists and changlogs not always parsed properly (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/8955">#8955</a> ?</p> RPM Support - Issue #8985 (CLOSED - DUPLICATE): deadlock detected during pulp3 to pulp3 synchttps://pulp.plan.io/issues/89852021-06-29T17:50:51Zttereshcttereshc@redhat.com
<p>It happens during Pulp 3 to Pulp 3 sync.
Not clear how reproducible it is. Check the related BZ for repo list</p>
<p>Variations seen</p>
<pre><code>deadlock detected
DETAIL: Process 21456 waits for ShareLock on transaction 25847; blocked by process 21471.
Process 21471 waits for ShareLock on transaction 25727; blocked by process 21456.
HINT: See server log for query details.
CONTEXT: while inserting index tuple (0,2) in relation "rpm_repometadatafile_data_type_checksum_relat_c9d7364a_uniq"
</code></pre>
<pre><code>deadlock detected
DETAIL: Process 35582 waits for ShareLock on transaction 218181; blocked by process 35563.
Process 35563 waits for ShareLock on transaction 218140; blocked by process 35582.
HINT: See server log for query details.
CONTEXT: while inserting index tuple (32,1) in relation "rpm_package_pkgId_key"
</code></pre>
<p>Full traceback for one</p>
<pre><code>pulpcore-worker-2[5987]: pulp [75194b26-9465-42fe-97fc-23b4d0d33c7b]: rq.worker:ERROR: Traceback (most recent call last):
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-worker-2[5987]: return self.cursor.execute(sql, params)
pulpcore-worker-2[5987]: psycopg2.errors.DeadlockDetected: deadlock detected
pulpcore-worker-2[5987]: DETAIL: Process 8294 waits for ShareLock on transaction 4698; blocked by process 8300.
pulpcore-worker-2[5987]: Process 8300 waits for ShareLock on transaction 4629; blocked by process 8294.
pulpcore-worker-2[5987]: HINT: See server log for query details.
pulpcore-worker-2[5987]: CONTEXT: while inserting index tuple (0,2) in relation "rpm_repometadatafile_data_type_checksum_relat_c9d7364a_uniq"
pulpcore-worker-2[5987]: The above exception was the direct cause of the following exception:
pulpcore-worker-2[5987]: Traceback (most recent call last):
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/rq/worker.py", line 975, in perform_job
pulpcore-worker-2[5987]: rv = job.perform()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/rq/job.py", line 696, in perform
pulpcore-worker-2[5987]: self._result = self._execute()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/rq/job.py", line 719, in _execute
pulpcore-worker-2[5987]: return self.func(*self.args, **self.kwargs)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulp_rpm/app/tasks/synchronizing.py", line 269, in synchronize
pulpcore-worker-2[5987]: dv.create()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py", line 147, in create
pulpcore-worker-2[5987]: loop.run_until_complete(pipeline)
pulpcore-worker-2[5987]: File "/usr/lib64/python3.6/asyncio/base_events.py", line 484, in run_until_complete
pulpcore-worker-2[5987]: return future.result()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 225, in create_pipeline
pulpcore-worker-2[5987]: await asyncio.gather(*futures)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 43, in __call__
pulpcore-worker-2[5987]: await self.run()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/content_stages.py", line 95, in run
pulpcore-worker-2[5987]: d_content.content.save()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulpcore/app/models/base.py", line 149, in save
pulpcore-worker-2[5987]: return super().save(*args, **kwargs)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django_lifecycle/mixins.py", line 134, in save
pulpcore-worker-2[5987]: save(*args, **kwargs)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 744, in save
pulpcore-worker-2[5987]: force_update=force_update, update_fields=update_fields)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 782, in save_base
pulpcore-worker-2[5987]: force_update, using, update_fields,
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 873, in _save_table
pulpcore-worker-2[5987]: result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 911, in _do_insert
pulpcore-worker-2[5987]: using=using, raw=raw)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
pulpcore-worker-2[5987]: return getattr(self.get_queryset(), name)(*args, **kwargs)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
pulpcore-worker-2[5987]: return query.get_compiler(using=using).execute_sql(return_id)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1377, in execute_sql
pulpcore-worker-2[5987]: cursor.execute(sql, params)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
pulpcore-worker-2[5987]: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
pulpcore-worker-2[5987]: return executor(sql, params, many, context)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-worker-2[5987]: return self.cursor.execute(sql, params)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
pulpcore-worker-2[5987]: raise dj_exc_value.with_traceback(traceback) from exc_value
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-worker-2[5987]: return self.cursor.execute(sql, params)
pulpcore-worker-2[5987]: django.db.utils.OperationalError: deadlock detected
pulpcore-worker-2[5987]: DETAIL: Process 8294 waits for ShareLock on transaction 4698; blocked by process 8300.
pulpcore-worker-2[5987]: Process 8300 waits for ShareLock on transaction 4629; blocked by process 8294.
pulpcore-worker-2[5987]: HINT: See server log for query details.
pulpcore-worker-2[5987]: CONTEXT: while inserting index tuple (0,2) in relation "rpm_repometadatafile_data_type_checksum_relat_c9d7364a_uniq"
pulpcore-worker-2[5987]: Traceback (most recent call last):
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-worker-2[5987]: return self.cursor.execute(sql, params)
pulpcore-worker-2[5987]: psycopg2.errors.DeadlockDetected: deadlock detected
pulpcore-worker-2[5987]: DETAIL: Process 8294 waits for ShareLock on transaction 4698; blocked by process 8300.
pulpcore-worker-2[5987]: Process 8300 waits for ShareLock on transaction 4629; blocked by process 8294.
pulpcore-worker-2[5987]: HINT: See server log for query details.
pulpcore-worker-2[5987]: CONTEXT: while inserting index tuple (0,2) in relation "rpm_repometadatafile_data_type_checksum_relat_c9d7364a_uniq"
pulpcore-worker-2[5987]: The above exception was the direct cause of the following exception:
pulpcore-worker-2[5987]: Traceback (most recent call last):
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/rq/worker.py", line 975, in perform_job
pulpcore-worker-2[5987]: rv = job.perform()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/rq/job.py", line 696, in perform
pulpcore-worker-2[5987]: self._result = self._execute()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/rq/job.py", line 719, in _execute
pulpcore-worker-2[5987]: return self.func(*self.args, **self.kwargs)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulp_rpm/app/tasks/synchronizing.py", line 269, in synchronize
pulpcore-worker-2[5987]: dv.create()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py", line 147, in create
pulpcore-worker-2[5987]: loop.run_until_complete(pipeline)
pulpcore-worker-2[5987]: File "/usr/lib64/python3.6/asyncio/base_events.py", line 484, in run_until_complete
pulpcore-worker-2[5987]: return future.result()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 225, in create_pipeline
pulpcore-worker-2[5987]: await asyncio.gather(*futures)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 43, in __call__
pulpcore-worker-2[5987]: await self.run()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/content_stages.py", line 95, in run
pulpcore-worker-2[5987]: d_content.content.save()
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/pulpcore/app/models/base.py", line 149, in save
pulpcore-worker-2[5987]: return super().save(*args, **kwargs)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django_lifecycle/mixins.py", line 134, in save
pulpcore-worker-2[5987]: save(*args, **kwargs)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 744, in save
pulpcore-worker-2[5987]: force_update=force_update, update_fields=update_fields)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 782, in save_base
pulpcore-worker-2[5987]: force_update, using, update_fields,
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 873, in _save_table
pulpcore-worker-2[5987]: result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line 911, in _do_insert
pulpcore-worker-2[5987]: using=using, raw=raw)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
pulpcore-worker-2[5987]: return getattr(self.get_queryset(), name)(*args, **kwargs)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
pulpcore-worker-2[5987]: return query.get_compiler(using=using).execute_sql(return_id)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1377, in execute_sql
pulpcore-worker-2[5987]: cursor.execute(sql, params)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
pulpcore-worker-2[5987]: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
pulpcore-worker-2[5987]: return executor(sql, params, many, context)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-worker-2[5987]: return self.cursor.execute(sql, params)
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
pulpcore-worker-2[5987]: raise dj_exc_value.with_traceback(traceback) from exc_value
pulpcore-worker-2[5987]: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
pulpcore-worker-2[5987]: return self.cursor.execute(sql, params)
pulpcore-worker-2[5987]: django.db.utils.OperationalError: deadlock detected
pulpcore-worker-2[5987]: DETAIL: Process 8294 waits for ShareLock on transaction 4698; blocked by process 8300.
pulpcore-worker-2[5987]: Process 8300 waits for ShareLock on transaction 4629; blocked by process 8294.
pulpcore-worker-2[5987]: HINT: See server log for query details.
pulpcore-worker-2[5987]: CONTEXT: while inserting index tuple (0,2) in relation "rpm_repometadatafile_data_type_checksum_relat_c9d7364a_uniq"
</code></pre> RPM Support - Issue #8967 (CLOSED - DUPLICATE): "duplicate key value violates unique constraint" ...https://pulp.plan.io/issues/89672021-06-24T13:23:18Zwilful
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_rpm/2278":<a href="https://github.com/pulp/pulp_rpm/issues/2278" class="external">https://github.com/pulp/pulp_rpm/issues/2278</a></p>
<hr>
<p>The original issue is difficult to reproduce any longer, but there are similar issues which can be. see <a href="https://pulp.plan.io/issues/8967#note-16" class="external">https://pulp.plan.io/issues/8967#note-16</a></p>
<p>========================</p>
<p>Hi for all!</p>
<p>Me need added for pulp server two repositories:</p>
<p><a href="http://downloads.linux.hpe.com/SDR/repo/spp/redhat/7/x86_64/current/" class="external">http://downloads.linux.hpe.com/SDR/repo/spp/redhat/7/x86_64/current/</a></p>
<p><a href="http://downloads.linux.hpe.com/SDR/repo/mcp/CentOS/7/x86_64/current/" class="external">http://downloads.linux.hpe.com/SDR/repo/mcp/CentOS/7/x86_64/current/</a></p>
<p>But i can't do it, becouse:</p>
<pre><code class="text syntaxhl" data-language="text"> "description": "duplicate key value violates unique constraint \"rpm_package_pkgId_key\"\nDETAIL: Key (\"pkgId\")=(ebf96fb31b880280a25d07c596bde204df50d140) already exists.\
n"
</code></pre>
<p>How can I find out in which repository this package is?</p> RPM Support - Issue #7116 (CLOSED - CURRENTRELEASE): Modules in errata not exposed by pulp3https://pulp.plan.io/issues/71162020-07-09T15:43:42Zpaji@redhat.compaji@redhat.com
<ol>
<li>Sync the appstream repo</li>
<li>Get the errata reference associated to errata_id = RHBA-2019:1530 or any other modular errata</li>
<li>run (make sure to update the errata id)</li>
</ol>
<pre><code> curl https://`hostname`/pulp/api/v3/content/rpm/advisories/9ff192a4-906f-4efd-ba29-55222eead0d8/ --cert
/etc/pki/katello/certs/pulp-client.crt --key /etc/pki/katello/private/pulp-client.key | jq
</code></pre>
<ol start="4">
<li>Look for pkglist attribute</li>
</ol>
<p>Expected:
pkglist has both module references and package references.</p>
<p>Actual:
Notice that module entries are missing from the package list</p>
<p>Additional Info:</p>
<pre><code> RHBA-2019:1530 is an errata that has the following module in its package list
<update status="final" from="release-engineering@redhat.com" version="1" type="bugfix">
<id>RHBA-2019:1530</id>
......
<pkglist>
<collection short="rhel-8-for-x86_64-appstream-rpms__8_1_virt">
<name>rhel-8-for-x86_64-appstream-rpms__8_1_virt</name>
<module stream="rhel" version="8000020190529063309" arch="x86_64" name="virt" context="55190bc5" />
........
</update>
</code></pre>
<p>Yet pulp does not show me any module name in the custom json</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> 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>