Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-09-13T15:42:24ZPulp
Planio 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 - Refactor #9309 (CLOSED - DUPLICATE): Add support for new memory-efficient createrep...https://pulp.plan.io/issues/93092021-08-30T03:50:56Zdalleydalley@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_rpm/2296":<a href="https://github.com/pulp/pulp_rpm/issues/2296" class="external">https://github.com/pulp/pulp_rpm/issues/2296</a></p> RPM Support - Issue #9303 (CLOSED - CURRENTRELEASE): "xml:base" / "location_base" feature of RPM ...https://pulp.plan.io/issues/93032021-08-27T07:59:20Zsjansen
<p>Environment:
Katello 4.1.2 with pulp 3.14</p>
<p>python3-pulp-rpm-3.14.0-1.el8.noarch</p>
<p>python3-pulpcore-3.14.3-1.el8.noarch</p>
<p>katello-4.1.2.1-1.el8.noarch</p>
<p><strong>How to reproduce:</strong></p>
<ol>
<li>
<p>Setup a repo. In this example i use harbottle as this repo as it contains an url in the location field in its metadata
<a href="https://harbottle.gitlab.io/harbottle-main/8/x86_64/repodata/repomd.xml" class="external">https://harbottle.gitlab.io/harbottle-main/8/x86_64/repodata/repomd.xml</a></p>
</li>
<li>
<p>Set Katello to "Mirror on Sync" and sync it</p>
</li>
<li>
<p>Run dnf update on client and get error as client tries to contact location urls outside of katello/pulp as metadata location field containts externel urls outside of pulp/katello</p>
</li>
</ol>
<p>Snipped from <a href="https://harbottle.gitlab.io/harbottle-main/8/x86_64/repodata/repomd.xml" class="external">https://harbottle.gitlab.io/harbottle-main/8/x86_64/repodata/repomd.xml</a></p>
<pre><code class="xml syntaxhl" data-language="xml"><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="nt"><repomd</span> <span class="na">xmlns=</span><span class="s">"http://linux.duke.edu/metadata/repo"</span> <span class="na">xmlns:rpm=</span><span class="s">"http://linux.duke.edu/metadata/rpm"</span><span class="nt">></span>
<span class="nt"><revision></span>1630020577<span class="nt"></revision></span>
<span class="nt"><data</span> <span class="na">type=</span><span class="s">"filelists"</span><span class="nt">></span>
<span class="nt"><checksum</span> <span class="na">type=</span><span class="s">"sha256"</span><span class="nt">></span>3acdbeee57c134225a95486260218f5234e81a4e6276f54697722c6dfd30d44f<span class="nt"></checksum></span>
<span class="nt"><open-checksum</span> <span class="na">type=</span><span class="s">"sha256"</span><span class="nt">></span>e914f59b5bd1cea374b3f82d68ab39b9a206d8ba46334cec5bdc049ed422d238<span class="nt"></open-checksum></span>
<span class="nt"><location</span> <span class="na">xml:base=</span><span class="s">"https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/"</span> <span class="na">href=</span><span class="s">"repodata/3acdbeee57c134225a95486260218f5234e81a4e6276f54697722c6dfd30d44f-filelists.xml.gz"</span><span class="nt">/></span>
<span class="nt"><timestamp></span>1630020612<span class="nt"></timestamp></span>
<span class="nt"><size></span>200705<span class="nt"></size></span>
<span class="nt"><open-size></span>2887999<span class="nt"></open-size></span>
<span class="nt"></data></span>
<span class="nt"><data</span> <span class="na">type=</span><span class="s">"primary"</span><span class="nt">></span>
<span class="nt"><checksum</span> <span class="na">type=</span><span class="s">"sha256"</span><span class="nt">></span>388d9a1825cc25552147bc4445a4b696aff1f3c880ea04f7c870d7ee789716f8<span class="nt"></checksum></span>
<span class="nt"><open-checksum</span> <span class="na">type=</span><span class="s">"sha256"</span><span class="nt">></span>0522722ebad405d7c5e008592f343d75c35298fdb2c4d1af890ed3d44ce8eddd<span class="nt"></open-checksum></span>
<span class="nt"><location</span> <span class="na">xml:base=</span><span class="s">"https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/"</span> <span class="na">href=</span><span class="s">"repodata/388d9a1825cc25552147bc4445a4b696aff1f3c880ea04f7c870d7ee789716f8-primary.xml.gz"</span><span class="nt">/></span>
<span class="nt"><timestamp></span>1630020612<span class="nt"></timestamp></span>
<span class="nt"><size></span>36580<span class="nt"></size></span>
<span class="nt"><open-size></span>318118<span class="nt"></open-size></span>
<span class="nt"></data></span>~~~
**DNF Update:**
</code></pre>
<p>...
el8_harbottle 0.0 B/s | 0 B 00:00
Errors during downloading metadata for repository 'MyOrg_harbottle_el8_harbottle':</p>
<ul>
<li>Curl error (60): Peer certificate cannot be authenticated with given CA certificates for <a href="https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/repodata/26425ae792fe92b77201ca2a024a13b2e158a681548d78a4916ed394b6f7a34c-filelists.xml.gz" class="external">https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/repodata/26425ae792fe92b77201ca2a024a13b2e158a681548d78a4916ed394b6f7a34c-filelists.xml.gz</a> [SSL certificate problem: unable to get local issuer certificate]</li>
<li>Curl error (60): Peer certificate cannot be authenticated with given CA certificates for <a href="https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/repodata/cc45e1ec5af5a2f201c80dc7dc24284d50a09cb0c3f1542d239595ca3b86c0b6-primary.xml.gz" class="external">https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/repodata/cc45e1ec5af5a2f201c80dc7dc24284d50a09cb0c3f1542d239595ca3b86c0b6-primary.xml.gz</a> [SSL certificate problem: unable to get local issuer certificate]
Error: Failed to download metadata for repo 'MyOrg_harbottle_el8_harbottle': Yum repo downloading error: Downloading error(s): repodata/26425ae792fe92b77201ca2a024a13b2e158a681548d78a4916ed394b6f7a34c-filelists.xml.gz - Download failed: Curl error (60): Peer certificate cannot be authenticated with given CA certificates for <a href="https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/repodata/26425ae792fe92b77201ca2a024a13b2e158a681548d78a4916ed394b6f7a34c-filelists.xml.gz" class="external">https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/repodata/26425ae792fe92b77201ca2a024a13b2e158a681548d78a4916ed394b6f7a34c-filelists.xml.gz</a> [SSL certificate problem: unable to get local issuer certificate]; repodata/cc45e1ec5af5a2f201c80dc7dc24284d50a09cb0c3f1542d239595ca3b86c0b6-primary.xml.gz - Download failed: Curl error (60): Peer certificate cannot be authenticated with given CA certificates for <a href="https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/repodata/cc45e1ec5af5a2f201c80dc7dc24284d50a09cb0c3f1542d239595ca3b86c0b6-primary.xml.gz" class="external">https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/repodata/cc45e1ec5af5a2f201c80dc7dc24284d50a09cb0c3f1542d239595ca3b86c0b6-primary.xml.gz</a> [SSL certificate problem: unable to get local issuer certificate]</li>
</ul>
<pre><code>
**Output of repomd.xml on katello/pulp (just on snipped):**
curl https://XXX/pulp/content/myOrg/Library/al8/custom/harbottle/el8_harbottle/repodata/repomd.xml
~~~ xml
<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
<revision>1629937671</revision>
<data type="filelists">
<checksum type="sha256">26425ae792fe92b77201ca2a024a13b2e158a681548d78a4916ed394b6f7a34c</checksum>
<open-checksum type="sha256">9fb8a946cd46d983b0ab1eb0bbac76b6a9069c63e07d193985385d9c52992d31</open-checksum>
<location xml:base="https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/" href="repodata/26425ae792fe92b77201ca2a024a13b2e158a681548d78a4916ed394b6f7a34c-filelists.xml.gz"/>
<timestamp>1629937709</timestamp>
<size>200893</size>
<open-size>2887999</open-size>
</data>
<data type="primary">
<checksum type="sha256">cc45e1ec5af5a2f201c80dc7dc24284d50a09cb0c3f1542d239595ca3b86c0b6</checksum>
<open-checksum type="sha256">e4dfd3144903056448e689c303c77086c84d3b9515f0c7061642634555663102</open-checksum>
<location xml:base="https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-8-x86_64/" href="repodata/cc45e1ec5af5a2f201c80dc7dc24284d50a09cb0c3f1542d239595ca3b86c0b6-primary.xml.gz"/>
<timestamp>1629937709</timestamp>
<size>36553</size>
<open-size>318160</open-size>
</data>
</code></pre>
<p>One notice, this issue may disappear after another sync and comes back at some point. The only actions happ on this system is a daily sync, publish content view and deploy update by dnf update or remote exec. I try keep this system in this current state to help provide more information if required. I checked if upstream repo for metadata changes between this issues, but it always containts the externel references to copr.</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 - Test #8972 (CLOSED - COMPLETE): Add test for properly reading and writing the metadatahttps://pulp.plan.io/issues/89722021-06-25T13:46:59Zdalleydalley@redhat.com
<p>Verify that package metadata in == package metadata out</p> 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 #8893 (MODIFIED): 3rd party repository sync fails with 'InvalidStringData: st...https://pulp.plan.io/issues/88932021-06-14T14:14:36Zggainey
<p>ModulemdDefaults are BSON-encoded before being saved into MongoDB because MongoDB (apparently) has restrictions on valid keys which are incompatible with the module data we need to store.</p>
<p><a href="https://github.com/pulp/pulp_rpm/blob/2-master/plugins/pulp_rpm/plugins/importers/yum/repomd/modules.py#L94-L95" class="external">https://github.com/pulp/pulp_rpm/blob/2-master/plugins/pulp_rpm/plugins/importers/yum/repomd/modules.py#L94-L95</a></p>
<p>...But the serialized BSON strings being created by the encoding function we are using are not always valid UTF-8... Presumably, it works the vast majority of the time, enough so that it wasn't noticed.</p>
<p>Only specific permutations of the input data appear to trigger this. If I delete key from the profiles dictionary, all of a sudden it's UTF-8 compatible. This is presumably why the problem pops into and out of existence.</p>
<p>At some point we attempt to save this string to MongoDB, and Mongo decides to apply a UTF-8 validation to it, and it blows up.</p> RPM Support - Task #7537 (CLOSED - CURRENTRELEASE): Add support for ALLOWED_CONTENT_CHECKSUMShttps://pulp.plan.io/issues/75372020-09-21T13:48:43Zdaviddavis
<p>The pulp_rpm should honor ALLOWED_CONTENT_CHECKSUMS. Some areas that might be affected (that I know of) include syncing (and verifying content), upload, and when publishing content.</p>
<a name="Test-these-repos"></a>
<h2 >Test these repos<a href="#Test-these-repos" class="wiki-anchor">¶</a></h2>
<p>All repos need to be tested with md5 only being disallowed, and then again with both 'md5' and 'sha1' being disallowed.</p>
<pre><code>https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/extras/os
https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/supplementary/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/extras/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/rhscl/1/os
http://mirror.centos.org/centos-7/7/extras/x86_64/
http://mirror.centos.org/centos-7/7/sclo/x86_64/sclo/
https://cdn.redhat.com/content/eus/rhel/server/6/6.6/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.7/x86_64/kickstart
https://cdn.redhat.com/content/dist/rhel8/8.0/x86_64/baseos/kickstart
https://mirrors.kernel.org/fedora-epel/7/x86_64/
https://cdn.redhat.com/content/dist/rhel/server/6/6.7/x86_64/kickstart
https://cdn.redhat.com/content/eus/rhel/server/6/6.6/x86_64/rhscl/1/os
https://cdn.redhat.com/content/eus/rhel/server/6/6.6/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.3/x86_64/kickstart
https://cdn.redhat.com/content/dist/rhel8/8.0/x86_64/appstream/kickstart
https://cdn.redhat.com/content/eus/rhel/server/7/7.3/x86_64/optional/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.3/x86_64/supplementary/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.3/x86_64/rhscl/1/os
http://mirror.centos.org/centos-6/6/os/x86_64/
https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/ansible/2.5/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rhgs-server-nfs/3.1/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.6/x86_64/kickstart
https://cdn.redhat.com/content/dist/rhel/workstation/7/7.5/x86_64/kickstart
https://mirrors.kernel.org/fedora-epel/8/Everything/x86_64/
https://cdn.redhat.com/content/dist/rhel/workstation/7/7Workstation/x86_64/insights/3/os
https://cdn.redhat.com/content/dist/rhel/workstation/7/7Workstation/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/workstation/7/7Workstation/x86_64/rh-common/os
https://cdn.redhat.com/content/dist/rhel/workstation/7/7Workstation/x86_64/os
https://cdn.redhat.com/content/dist/rhel/workstation/7/7Workstation/x86_64/extras/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rh-gluster-samba/3.1/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rhgs-server/3.1/os
https://cdn.redhat.com/content/dist/rhel/server/6/6.10/x86_64/kickstart
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rhgs-nagios/3.1/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rhscon-agent/2/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rhscon-installer/2/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rhscon-main/2/os
http://mirror.centos.org/centos-6/6/updates/x86_64/
https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/rhs-client/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rhs-client/os
http://mirror.centos.org/centos-7/7/sclo/x86_64/rh/
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/supplementary/os
https://cdn.redhat.com/content/dist/rhel/workstation/7/7Workstation/x86_64/rhscl/1/os
https://cdn.redhat.com/content/dist/rhel/workstation/7/7.6/x86_64/kickstart
http://mirror.centos.org/centos-7/7/updates/x86_64/
https://cdn.redhat.com/content/dist/rhel/server/6/6.8/x86_64/kickstart
https://cdn.redhat.com/content/dist/rhel/server/6/6.9/x86_64/kickstart
https://cdn.redhat.com/content/eus/rhel/server/6/6.6/x86_64/sat-tools/6.2/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rhscl/1/os
http://mirror.centos.org/centos-7/7/os/x86_64/
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/ansible/2.7/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.3/x86_64/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.6/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.4/x86_64/kickstart
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/sat-maintenance/6/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.5/x86_64/kickstart
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rhgs-server-bigdata/3.1/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/rhgs-server-splunk/3.1/os
https://cdn.redhat.com/content/dist/rhel/workstation/7/7Workstation/x86_64/supplementary/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/ansible/2.6/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/dotnet/1/os
https://cdn.redhat.com/content/dist/rhel/server/6/6.10/x86_64/optional/os
https://cdn.redhat.com/content/eus/rhel/server/7/7Server/x86_64/sat-tools/6.5/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.5/x86_64/sat-tools/6.5/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.7/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.4/x86_64/optional/os
https://cdn.redhat.com/content/eus/rhel/server/6/6.7/x86_64/supplementary/os
https://cdn.redhat.com/content/eus/rhel/server/6/6.7/x86_64/optional/os
https://cdn.redhat.com/content/eus/rhel/server/6/6.7/x86_64/rhscl/1/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.5/x86_64/rhscl/1/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.5/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/6/6.7/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/6/6.10/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/6/6.8/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/6/6.6/x86_64/os
https://cdn.redhat.com/content/eus/rhel/server/6/6.7/x86_64/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.5/x86_64/supplementary/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.5/x86_64/sat-tools/6.4/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.5/x86_64/optional/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.3/x86_64/sat-tools/6.4/os
https://cdn.redhat.com/content/dist/rhel8/8/x86_64/appstream/os
https://cdn.redhat.com/content/dist/rhel8/8/x86_64/baseos/os
https://cdn.redhat.com/content/dist/rhel8/8/x86_64/supplementary/os
https://cdn.redhat.com/content/dist/rhel8/8/x86_64/baseos/kickstart
https://cdn.redhat.com/content/dist/rhel8/8/x86_64/appstream/kickstart
https://mirrors.kernel.org/fedora-epel/6Server/x86_64/
https://cdn.redhat.com/content/dist/rhel/server/7/7.6/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.3/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/6/6.9/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/6/6.8/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/6/6.7/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/6/6.9/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.5/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.2/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.6/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.5/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.3/x86_64/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.6/x86_64/sat-tools/6.5/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.6/x86_64/optional/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/sat-capsule/6.6/os
https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/sat-tools/6.6/os
https://cdn.redhat.com/content/dist/layered/rhel8/x86_64/sat-tools/6.6/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/ansible/2.8/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.6/x86_64/sat-tools/6.6/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.7/x86_64/os
https://cdn.redhat.com/content/dist/rhel8/8.1/x86_64/appstream/kickstart
https://cdn.redhat.com/content/dist/rhel/server/7/7.4/x86_64/os
https://cdn.redhat.com/content/dist/rhel/server/7/7.2/x86_64/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.6/x86_64/supplementary/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.6/x86_64/rhscl/1/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/sat-tools/6.6/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.5/x86_64/sat-tools/6.6/os
https://cdn.redhat.com/content/dist/rhel8/8.1/x86_64/baseos/kickstart
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/highavailability/os
https://packages.vmware.com/tools/releases/10.3.5/rhel6/x86_64/
https://cdn.redhat.com/content/dist/rhel/server/7/7.8/x86_64/kickstart
https://cdn.redhat.com/content/eus/rhel/server/7/7.7/x86_64/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.7/x86_64/supplementary/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.7/x86_64/rhscl/1/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.7/x86_64/optional/os
https://cdn.redhat.com/content/eus/rhel/server/7/7.7/x86_64/sat-tools/6.6/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/sat-capsule/6.7/os
https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/sat-tools/6.7/os
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/sat-tools/6.7/os
https://cdn.redhat.com/content/dist/layered/rhel8/x86_64/sat-tools/6.7/os
https://cdn.redhat.com/content/dist/rhel8/8.2/x86_64/appstream/kickstart
https://cdn.redhat.com/content/dist/rhel8/8.2/x86_64/baseos/kickstart
http://mirror.centos.org/centos-8/8/BaseOS/x86_64/os/
http://mirror.centos.org/centos-8/8/AppStream/x86_64/os/
</code></pre> 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 - Issue #7046 (CLOSED - CURRENTRELEASE): Adding a distribution tree to another repo d...https://pulp.plan.io/issues/70462020-06-24T20:54:17Zdaviddavis
<p>Steps to recreate:</p>
<ol>
<li>Create a repo A and sync down a distribution tree such as centos 8</li>
<li>Create a new repo B</li>
<li>Add the distribution tree to your new repo B (<code>http :/pulp/api/v3/repositories/rpm/rpm/.../modify/ add_content_units:="..."</code>)</li>
</ol>
<p>Result:</p>
<p>The new repo B now has a distribution tree whose BaseOS variant points to the original repo A that synced down the tree. Moreover, repo A shows it has a number of packages/etc while B only has one content unit.</p>
<p>I think this could lead to strange situations where for example repo A can be deleted which would mess up the kickstart.</p> RPM Support - Story #4812 (CLOSED - CURRENTRELEASE): As a user, I can publish a Yum repository t...https://pulp.plan.io/issues/48122019-05-10T15:07:36Zdalleydalley@redhat.com
<p>(Clone of Pulp 2 issue <a href="https://pulp.plan.io/issues/3055" class="external">https://pulp.plan.io/issues/3055</a>)</p>
<p>To allow a Yum repository to be used with Yum clients that have repo_gpgcheck=1 configured in /etc/yum.conf:</p>
<ol>
<li>Create a new GPG signing key that can be used by Pulp worker processes without a password. (Documentation provides example procedures.)</li>
<li>Append the public key associated with the new GPG signing key to the gpgkey file specified in the distributor config for the Yum repository in Pulp.</li>
<li>Set gpg_sign_metadata to True in the distributor config for the Yum repository in Pulp.</li>
</ol>
<p>See also <a href="https://access.redhat.com/solutions/2850911" class="external">https://access.redhat.com/solutions/2850911</a></p>
<p>More detailed description from Neal Gompa (Conan_Kudo, Fedora contributor):</p>
<p>Signed repositories (for RPM repos) are when the `repomd.xml` file (the index file referencing all other parts of the RPM metadata) is signed using <em>a</em> GPG key (but does not necessarily have to be the same key as the packages, though usually is) in the form of a detached signature (`repomd.xml.asc`) that is placed next to the `repomd.xml` file. Package managers like DNF, Zypper, and YUM can use this when `repo_gpgcheck=1` is set in the .repo file to validate the XML before reading it. SUSE systems <em>require</em> this by default and will not normally fetch repos that are not signed. If the GPG key for the repository metadata differs from the packages' GPG key, its public key must <em>also</em> be present in the `gpgkey=` list in the .repo file.</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> RPM Support - Story #1912 (CLOSED - WONTFIX): Add MD5 checksum element to data type elements in r...https://pulp.plan.io/issues/19122016-05-12T13:33:18Zrobnesterrnester@redhat.com
<p>As part of downstream content validation testing, it would be beneficial to be able to have the MD5 checksum of generated metadata files present in their respective entries within the repomd.xml file.</p>
<p>Currently there are values for checksum and open-checksum. While these checksums algorithms can be set to sha1/sha256, I'd like to see another value (I have no naming requirements) which holds an MD5 checksum of the file. See the following examples:</p>
<p>An example from repomd.xml as it is today:</p>
<pre><code><data type="other_db">
<location href="repodata/25cd804ef053f6b3693a8ec0e6dc711db7af4bd4-other.sqlite.bz2"/>
<checksum type="sha">25cd804ef053f6b3693a8ec0e6dc711db7af4bd4</checksum>
<timestamp>1462981265.0</timestamp>
<size>5849902</size>
<open-size>50198528</open-size>
<open-checksum type="sha">3da280326cb00e28d14ffd40a6c752a9c91867c7</open-checksum>
<database_version>10</database_version>
</data>
</code></pre>
<p>and an example of what i'd like to see, note I'm calling the desired value "validation-checksum" with a type of MD5 here, but the value name can be arbitrary in my opinion.</p>
<pre><code><data type="other_db">
<location href="repodata/25cd804ef053f6b3693a8ec0e6dc711db7af4bd4-other.sqlite.bz2"/>
<checksum type="sha">25cd804ef053f6b3693a8ec0e6dc711db7af4bd4</checksum>
<validation-checksum type="md5">(md5 checksum here)</checksum>
<timestamp>1462981265.0</timestamp>
<size>5849902</size>
<open-size>50198528</open-size>
<open-checksum type="sha">3da280326cb00e28d14ffd40a6c752a9c91867c7</open-checksum>
<database_version>10</database_version>
</data>
</code></pre>