Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-12-08T19:00:00ZPulp
Planio RPM Support - Test #9622 (MODIFIED): Add a repo signed using 'sha' as alias for 'sha1'https://pulp.plan.io/issues/96222021-12-08T19:00:00Zggainey
<p>'sha' support exists in the wild, is the same as 'sha1', and has broken us several times now, Let's make it possible to write tests for it.</p> Debian Support - Test #7279 (CLOSED - DUPLICATE): Add a test that uploads a "minimal" Debian pack...https://pulp.plan.io/issues/72792020-08-05T14:16:37Zquba42
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_deb/389":<a href="https://github.com/pulp/pulp_deb/issues/389" class="external">https://github.com/pulp/pulp_deb/issues/389</a></p>
<hr>
<p>By minimal Debian package I mean one that has ONLY required fields in the control file.
That way we can ensure we are not dependent on any fields that are not required.</p>
<p>Another possibility would be to add broken packages, that lack a required field each, and assert that the relevant error is thrown.</p> RPM Support - Test #5805 (CLOSED - DUPLICATE): A test scenario for an upload of a single RPM packagehttps://pulp.plan.io/issues/58052019-11-26T10:15:42Zlmjachky
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_rpm/2228":<a href="https://github.com/pulp/pulp_rpm/issues/2228" class="external">https://github.com/pulp/pulp_rpm/issues/2228</a></p>
<hr>
<p>The commit merged via <a href="https://github.com/pulp/pulp_rpm/pull/1517" class="external">https://github.com/pulp/pulp_rpm/pull/1517</a> resolved the issue <a href="https://pulp.plan.io/issues/5699" class="external">https://pulp.plan.io/issues/5699</a>. It seems like we are missing tests which validate a single upload and its publication.</p>
<p>Therefore, the following test scenario is proposed:<br>
1. Create an artifact:</p>
<pre><code class="text syntaxhl" data-language="text">http --form POST :24817/pulp/api/v3/artifacts/ file@./giraffe-0.67-2.noarch.rpm
</code></pre>
<p>2. Create an RPM package:</p>
<pre><code class="text syntaxhl" data-language="text">http POST :24817/pulp/api/v3/content/rpm/packages/ artifact="/pulp/api/v3/artifacts/ce225ae1-9cbd-4c20-8f31-c16ab2f0a6c6/" relative_path=giraffe-0.67-2.noarch.rpm
</code></pre>
<p>3. Add the created content to an empty repository:</p>
<pre><code class="text syntaxhl" data-language="text">http POST :24817/pulp/api/v3/repositories/rpm/rpm/75c0c59f-d453-42d3-8d6d-a53561b5d516/modify/ add_content_units:="[\"/pulp/api/v3/content/rpm/packages/3c2ac34c-470e-41b7-85b3-b3830efd4722/\"]"
</code></pre>
<p>4. Create a publication and check if the corresponding task was finished with a success:</p>
<pre><code class="text syntaxhl" data-language="text">http :24817/pulp/api/v3/publications/rpm/rpm/ repository=/pulp/api/v3/repositories/rpm/rpm/75c0c59f-d453-42d3-8d6d-a53561b5d516/
</code></pre> Container Support - Test #5554 (CLOSED - COMPLETE): A test scenario for syncing repositories with...https://pulp.plan.io/issues/55542019-10-08T13:35:49Zlmjachky
<p>The PR <a href="https://github.com/pulp/pulp_docker/pull/429/files" class="external">https://github.com/pulp/pulp_docker/pull/429/files</a> introduces new changes to the model and the representation of the field whitelist_tags.</p>
<p>The following test scenario to test the changes is proposed:<br>
1. Create a new repository:</p>
<pre><code class="text syntaxhl" data-language="text">http POST http://localhost:24817/pulp/api/v3/repositories/ name=foo
</code></pre>
<p>2. Create a new docker remote with a sample set of whitelisted tags:</p>
<pre><code class="text syntaxhl" data-language="text">http POST http://localhost:24817/pulp/api/v3/remotes/docker/docker/ name='library/busybox' upstream_name='busybox' url='https://registry-1.docker.io' policy='on_demand' whitelist_tags:="[\"latest\", \"1.31\"]"
</code></pre>
<p>3. Execute a sync and check if only whitelisted tags were correctly synced. In addition, check if whitelisted tags were correctly serialized as a list.</p>
<pre><code class="text syntaxhl" data-language="text">http :24817/pulp/api/v3/content/docker/tags/?repository_version_added=/pulp/api/v3/repositories/f2cdfe03-ad46-4760-875b-9b5228edc684/versions/1/
</code></pre>
<pre><code class="json syntaxhl" data-language="json"><span class="p">{</span><span class="w">
</span><span class="nl">"count"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="nl">"next"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"previous"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"results"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"_created"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2019-10-08T13:20:55.325935Z"</span><span class="p">,</span><span class="w">
</span><span class="nl">"_href"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/pulp/api/v3/content/docker/tags/6fc08249-5994-47ee-9cbb-392332e22a14/"</span><span class="p">,</span><span class="w">
</span><span class="nl">"_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"docker.tag"</span><span class="p">,</span><span class="w">
</span><span class="nl">"artifact"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/pulp/api/v3/artifacts/b581ddbe-e8d0-4d05-bb2b-9afb39572451/"</span><span class="p">,</span><span class="w">
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.31"</span><span class="p">,</span><span class="w">
</span><span class="nl">"tagged_manifest"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/pulp/api/v3/content/docker/manifests/325b8e2b-b665-4185-8bbb-74ed7691378a/"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"_created"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2019-10-08T13:20:55.317976Z"</span><span class="p">,</span><span class="w">
</span><span class="nl">"_href"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/pulp/api/v3/content/docker/tags/cebc99db-bd92-4327-a79c-dbbde38098f9/"</span><span class="p">,</span><span class="w">
</span><span class="nl">"_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"docker.tag"</span><span class="p">,</span><span class="w">
</span><span class="nl">"artifact"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/pulp/api/v3/artifacts/b581ddbe-e8d0-4d05-bb2b-9afb39572451/"</span><span class="p">,</span><span class="w">
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"latest"</span><span class="p">,</span><span class="w">
</span><span class="nl">"tagged_manifest"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/pulp/api/v3/content/docker/manifests/325b8e2b-b665-4185-8bbb-74ed7691378a/"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<pre><code class="text syntaxhl" data-language="text">http :24817/pulp/api/v3/remotes/docker/docker/9db3bb5d-3288-474a-b8b8-180784d6a8fa/
</code></pre>
<pre><code class="json syntaxhl" data-language="json"><span class="p">{</span><span class="w">
</span><span class="nl">"_created"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2019-10-08T13:20:50.593489Z"</span><span class="p">,</span><span class="w">
</span><span class="nl">"_href"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/pulp/api/v3/remotes/docker/docker/9db3bb5d-3288-474a-b8b8-180784d6a8fa/"</span><span class="p">,</span><span class="w">
</span><span class="nl">"_last_updated"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2019-10-08T13:20:50.593502Z"</span><span class="p">,</span><span class="w">
</span><span class="nl">"_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"docker.docker"</span><span class="p">,</span><span class="w">
</span><span class="nl">"download_concurrency"</span><span class="p">:</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w">
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"library/busybox"</span><span class="p">,</span><span class="w">
</span><span class="nl">"policy"</span><span class="p">:</span><span class="w"> </span><span class="s2">"on_demand"</span><span class="p">,</span><span class="w">
</span><span class="nl">"proxy_url"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"ssl_ca_certificate"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"ssl_client_certificate"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"ssl_client_key"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"ssl_validation"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"upstream_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"busybox"</span><span class="p">,</span><span class="w">
</span><span class="nl">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://registry-1.docker.io"</span><span class="p">,</span><span class="w">
</span><span class="nl">"whitelist_tags"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="s2">"latest"</span><span class="p">,</span><span class="w">
</span><span class="s2">"1.31"</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre> Migration Plugin - Test #5194 (CLOSED - COMPLETE): [Epic] Test migration from Pulp 2 to Pulp 3https://pulp.plan.io/issues/51942019-07-29T21:10:40Zkersom
<p>As a user, I can migrate from Pulp 2 to Pulp 3. This is a placeholder for the future test cases related to the migration from pulp 2 to pulp 3.</p> RPM Support - Test #5055 (CLOSED - DUPLICATE): [EPIC] Ursine RPM Copy dependencies on modular RPM...https://pulp.plan.io/issues/50552019-06-27T15:17:53Zbherring
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_rpm/2217":<a href="https://github.com/pulp/pulp_rpm/issues/2217" class="external">https://github.com/pulp/pulp_rpm/issues/2217</a></p>
<hr>
<a name="History"></a>
<h2 >History<a href="#History" class="wiki-anchor">¶</a></h2>
<p>There is currently a 'policy decision' that modules in the base repo (of rhel) don't rely on modular rpms, but that it's not an engineering limitation, and that fedora and rhel will likely do so at some point in the future. This is already a consideration for fedora and fedora-updates repos.</p>
<p>At least in Fedora, you can expect that there will be content in the updates-testing repo depending on content in updates-modular and/or fedora-modular.</p>
<p>This means Pulp will <strong>eventually</strong> need to support multiple source repos for copy.</p>
<a name="Problem"></a>
<h2 >Problem<a href="#Problem" class="wiki-anchor">¶</a></h2>
<p>As pulp is delivered today, Ursine RPM deps on modular RPMs are NOT covered by test.</p>
<p>Normal, non-modular (ursine) [0] RPMs can depend on module packages.</p>
<p>As an example, the postgres language RPMs depend on the default stream of the postgresql module.</p>
<p>When this is the case, the default module and all artifacts related to that module and the URSINE RPM are ALL copied to the target repo.</p>
<p>At this time, to account for this scenario, a hybrid repo containing URSINE and MODULAR RPMs with modules will be required.</p>
<a name="Example"></a>
<h2 >Example<a href="#Example" class="wiki-anchor">¶</a></h2>
<a name="Recursive"></a>
<h3 >Recursive<a href="#Recursive" class="wiki-anchor">¶</a></h3>
<a name="Before"></a>
<h4 >Before<a href="#Before" class="wiki-anchor">¶</a></h4>
<ul>
<li>Copy Ursine RPM "zebra-1.0.rpm" from Repo A to B</li>
<li>Zebra requires modular RPM bar-1.0.rpm and has no other dependencies</li>
</ul>
<pre><code>
default module: module-FOO: [foo-1.0.rpm, bar-1.0.rpm, baz-1.0.rpm]
repo A
|
|---- chicken-1.1.rpm
|---- zebra-1.0.rpm
|----module-FOO
|----foo-1.0.rpm
|----bar-1.0.rpm
|----baz-1.0.rpm
repo B
|
|----bar-0.7.rpm
</code></pre>
<a name="After-Copy"></a>
<h4 >After Copy<a href="#After-Copy" class="wiki-anchor">¶</a></h4>
<p>Result of copying ursine RPM zebra-1.0.rpm from repo A to repo B:</p>
<pre><code>repo B
|
|---- zebra-1.0.rpm
|----module-FOO
|----foo-1.0.rpm
|----bar-1.0.rpm
|----baz-1.0.rpm
|----bar-0.7.rpm
All available artifacts are copied, always. There is no way to copy just module on its own,
if any of its artifacts are present in a source repo (repo A).
</code></pre>
<a name="Solution"></a>
<h2 >Solution<a href="#Solution" class="wiki-anchor">¶</a></h2>
<ul>
<li>Add Ursine RPM permutations that exercise this case for recursive and non_recursive Ursine RPM copies in mixed repos with modular RPMs where default streams <strong>are</strong> and <strong>are not</strong> defined.</li>
</ul>
<a name="Note"></a>
<h2 >Note:<a href="#Note" class="wiki-anchor">¶</a></h2>
<ul>
<li>the entire module should be treated as a single content unit to the greatest extent possible. it should copy the module that provides both A and B, all if its artifacts, and, the module default</li>
<li>a module RPM should never be treated as just a normal RPM</li>
<li>If module has multiple streams, ONLY the artifacts associated with the default module and the default module are copied, correct?
<ul>
<li>only the artifacts associated with the default module stream should ever be considered in the first place. if there is no default stream for a module, then RPMs should not be able to depend on it</li>
</ul>
</li>
</ul>
<a name="References"></a>
<h2 >References<a href="#References" class="wiki-anchor">¶</a></h2>
<p>[0] - <a href="https://docs.fedoraproject.org/en-US/modularity/architecture/consuming/dnf-behavior/" class="external">https://docs.fedoraproject.org/en-US/modularity/architecture/consuming/dnf-behavior/</a><br>
[1] - <a href="https://docs.pulpproject.org/plugins/pulp_rpm/user-guide/features.html?highlight=modularity" class="external">https://docs.pulpproject.org/plugins/pulp_rpm/user-guide/features.html?highlight=modularity</a></p> Pulp - Test #4942 (CLOSED - COMPLETE): [EPIC] - Pulp2 - 2.20 https://pulp.plan.io/issues/49422019-06-10T12:33:32Zbherring
<a name="Information"></a>
<h2 >Information<a href="#Information" class="wiki-anchor">¶</a></h2>
<p>As new issues are added for release candidate to P2 for 2.20, compiling all of those issues as related issues to this parent issue.</p>
<p>This ticket allows the release shepherd to keep up with the status of each ticket as QE is heading to Dev Freeze to attempt to stay ahead.</p>
<a name="Current-Topics"></a>
<h3 >Current Topics<a href="#Current-Topics" class="wiki-anchor">¶</a></h3>
<p>These topics will be a subset of Dev release notes.</p>
<p>Just here for quick FYI on scanning:</p>
<ul>
<li>Modularity</li>
<li>Unit Copy Duplication</li>
<li>Issue with libsolv even in building: <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1718015" class="external">https://bugzilla.redhat.com/show_bug.cgi?id=1718015</a>
</li>
</ul> Ansible Plugin - Test #4912 (CLOSED - WONTFIX): [Epic] Test collection content typehttps://pulp.plan.io/issues/49122019-06-04T19:43:58Zkersom
<p>Add tests to collection content type.</p>
<p><a href="https://pulp-ansible.readthedocs.io/en/latest/workflows/index.html#collection-workflows" class="external">https://pulp-ansible.readthedocs.io/en/latest/workflows/index.html#collection-workflows</a></p> Pulp - Test #4882 (CLOSED - COMPLETE): Add back tests related to overlapping base_pathhttps://pulp.plan.io/issues/48822019-05-28T19:17:36Zkersom
<p>Tests related to overlapping were removed, but they need to be added back.</p>
<p>See: <a href="https://docs.pulpproject.org/en/3.0/nightly/workflows/exposing-content.html" class="external">https://docs.pulpproject.org/en/3.0/nightly/workflows/exposing-content.html</a></p>
<p>See: <a href="https://github.com/pulp/pulpcore/pull/117/files" class="external">https://github.com/pulp/pulpcore/pull/117/files</a></p> Pulp - Test #4838 (CLOSED - DUPLICATE): [Epic] Test Distribution and AutoDistribution features f...https://pulp.plan.io/issues/48382019-05-16T18:07:51Zbmbouterbmbouter@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulpcore/1829":<a href="https://github.com/pulp/pulpcore/issues/1829" class="external">https://github.com/pulp/pulpcore/issues/1829</a></p>
<hr>
<p>This epic tracks test subtasks to test autodistribution features.</p> Python Support - Test #4706 (CLOSED - COMPLETE): Add a test for lazy syncing contenthttps://pulp.plan.io/issues/47062019-04-16T21:02:58ZCodeHeeler
<p>Add a functional test to pulp_python to ensure that the various policy settings around lazy sync actually work and allow download of content when appropriate.</p>
<p>Similar to these tests in pulp_file:<br>
<a href="https://github.com/pulp/pulp_file/pull/184/files" class="external">https://github.com/pulp/pulp_file/pull/184/files</a><br>
<a href="https://github.com/pulp/pulp_file/pull/190/files" class="external">https://github.com/pulp/pulp_file/pull/190/files</a></p>
<p>This tests the lazy functionality added in story #1884's PR [0][1]</p>
<p>[0] <a href="https://pulp.plan.io/issues/1884" class="external">https://pulp.plan.io/issues/1884</a><br>
[1] <a href="https://github.com/pulp/pulp_python/pull/237" class="external">https://github.com/pulp/pulp_python/pull/237</a></p> Container Support - Test #4703 (CLOSED - WONTFIX): Add a test for syncing from quay, gcr and redh...https://pulp.plan.io/issues/47032019-04-16T16:11:10Zipanova@redhat.comipanova@redhat.com
<p>Right we have tests only for dokcerhub, lets add tests for:<br>
- quay.io<br>
- registry.redhat.com<br>
- gcr.io</p> Pulp - Test #4542 (CLOSED - COMPLETE): [pulp_rpm] - Repository publishing duplicates RPM files un...https://pulp.plan.io/issues/45422019-03-14T13:21:59Zbherring
<p>Some repositories are getting content duplicated on its repodata. For example, the CentoOS 7 Base repository, gets duplicated symlinks as follows:</p>
<pre><code>[root@pulp ~]# pulp-admin rpm repo list --details --repo-id centos-7-base
+----------------------------------------------------------------------+
RPM Repositories
+----------------------------------------------------------------------+
Id: centos-7-base
Display Name: None
Description: None
Content Unit Counts:
Distribution: 1
Package Category: 11
Package Environment: 10
Package Group: 88
Package Langpacks: 1
Rpm: 10019
Notes:
Scratchpad:
Checksum Type: sha256
Importers:
Config:
Feed: http://centos.mirror.constant.com/7/os/x86_64/
Id: yum_importer
Importer Type Id: yum_importer
Last Override Config:
Last Sync: 2019-03-13T19:58:14Z
Last Updated: 2019-03-13T19:54:40Z
Repo Id: centos-7-base
Scratchpad:
Repomd Revision: 1543161601
Distributors:
Auto Publish: True
Config:
Http: True
Https: True
Relative URL: 7/os/x86_64/
Distributor Type Id: yum_distributor
Id: yum_distributor
Last Override Config:
Last Publish: 2019-03-14T04:17:40Z
Last Updated: 2019-03-13T19:54:40Z
Repo Id: centos-7-base
Scratchpad:
Auto Publish: False
Config:
Http: True
Https: True
Relative URL: 7/os/x86_64/
Distributor Type Id: export_distributor
Id: export_distributor
Last Override Config:
Last Publish: None
Last Updated: 2019-03-13T19:54:40Z
Repo Id: centos-7-base
Scratchpad:
</code></pre>
<p>Once the repository is published, it ended up having duplicated RPMs</p>
<pre><code>pulp-admin rpm repo publish run --repo-id df05f52b-431e-483d-9878-9ffef41d70c8 --force-full
○ → tree /var/lib/pulp/published/yum/https/repos/7/os/x86_64/Packages/ | grep 389-ds-base
│ ├── 389-ds-base-1.3.8.4-15.el7.x86_64.rpm -> /var/lib/pulp/content/units/rpm/07/cb4bf5d6199cdc7192cbdbbf283cccdef38f18751c53660107b14232d2d349/389-ds-base-1.3.8.4-15.el7.x86_64.rpm
│ ├── 389-ds-base-devel-1.3.8.4-15.el7.x86_64.rpm -> /var/lib/pulp/content/units/rpm/ab/e6f96db9ad2c0f7f097f71b506b25a0d83a4a9926e904100f006361ef66d1f/389-ds-base-devel-1.3.8.4-15.el7.x86_64.rpm
│ ├── 389-ds-base-libs-1.3.8.4-15.el7.x86_64.rpm -> /var/lib/pulp/content/units/rpm/94/5011e802dbf9d470522eac943442a8718e08ba321dc0649a55a0d7f130e363/389-ds-base-libs-1.3.8.4-15.el7.x86_64.rpm
│ └── 389-ds-base-snmp-1.3.8.4-15.el7.x86_64.rpm -> /var/lib/pulp/content/units/rpm/e9/b6b32a0421e87ab83a6ea7346f51e3929746e10eeb2c9b5f05e8278c9e7b61/389-ds-base-snmp-1.3.8.4-15.el7.x86_64.rpm
├── 389-ds-base-1.3.8.4-15.el7.x86_64.rpm -> /var/lib/pulp/content/units/rpm/07/cb4bf5d6199cdc7192cbdbbf283cccdef38f18751c53660107b14232d2d349/389-ds-base-1.3.8.4-15.el7.x86_64.rpm
├── 389-ds-base-devel-1.3.8.4-15.el7.x86_64.rpm -> /var/lib/pulp/content/units/rpm/ab/e6f96db9ad2c0f7f097f71b506b25a0d83a4a9926e904100f006361ef66d1f/389-ds-base-devel-1.3.8.4-15.el7.x86_64.rpm
├── 389-ds-base-libs-1.3.8.4-15.el7.x86_64.rpm -> /var/lib/pulp/content/units/rpm/94/5011e802dbf9d470522eac943442a8718e08ba321dc0649a55a0d7f130e363/389-ds-base-libs-1.3.8.4-15.el7.x86_64.rpm
├── 389-ds-base-snmp-1.3.8.4-15.el7.x86_64.rpm -> /var/lib/pulp/content/units/rpm/e9/b6b32a0421e87ab83a6ea7346f51e3929746e10eeb2c9b5f05e8278c9e7b61/389-ds-base-snmp-1.3.8.4-15.el7.x86_64.rpm
</code></pre>
<p>That creates a big problem whenever exporting the content via ISO , as the size of the repo will be twice big.</p>
<p>The repodata is being created correctly as it only references the files under the new strucuture Packages/<first_letter>/</p>
<pre><code>○ → zcat /var/lib/pulp/published/yum/https/repos/7/os/x86_64/Packages/repodata/a3f98f3b850725e0ac52472653efd309be6ba436296e66b1b997ca92c95fcdf1-primary.xml.gz | grep 'href' | grep 389-ds-base
<location href="Packages/3/389-ds-base-libs-1.3.8.4-15.el7.x86_64.rpm"/>
<location href="Packages/3/389-ds-base-1.3.8.4-15.el7.x86_64.rpm"/>
<location href="Packages/3/389-ds-base-snmp-1.3.8.4-15.el7.x86_64.rpm"/>
<location href="Packages/3/389-ds-base-devel-1.3.8.4-15.el7.x86_64.rpm"/>
</code></pre> Pulp - Test #4462 (CLOSED - WONTFIX): /pulp/api/v3/ returns 500 errorhttps://pulp.plan.io/issues/44622019-02-25T14:23:39Zbherring
<p>GET request to /pulp/api/v3/ produces the following in the logs:</p>
<pre><code>pulp: django.request:ERROR: Internal Server Error: /pulp/api/v3/
Traceback (most recent call last):
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 34, in in
response = get_response(request)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/handlers/base.py", line 156, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/handlers/base.py", line 154, in _get_response
response = response.render()
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/template/response.py", line 106, in render
self.content = self.rendered_content
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rest_framework/response.py", line 72, in rendered_content
ret = renderer.render(self.data, accepted_media_type, context)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rest_framework/renderers.py", line 732, in render
context = self.get_context(data, accepted_media_type, renderer_context)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rest_framework/renderers.py", line 687, in get_context
'content': self.get_content(renderer, data, accepted_media_type, renderer_context),
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rest_framework/renderers.py", line 423, in get_content
content = renderer.render(data, accepted_media_type, renderer_context)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rest_framework/renderers.py", line 1036, in render
structure = self.get_structure(data)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rest_framework/renderers.py", line 1016, in get_structure
'title': data.title,
AttributeError: 'dict' object has no attribute 'title'
</code></pre>
<p>I get a 500, but only when using the browsable API.</p>
<p>When using httpie, I get an unusual result. Since daviddavis couldn't reproduce this, (and the result below) my assumption is that this is a problem with docker-distributions.</p>
<pre><code>
~/d/devel ❯ http --auth admin:admin http://pulp3:8000/pulp/api/v3/
HTTP/1.1 200 OK
Allow: GET, HEAD, OPTIONS
Content-Length: 250
Content-Type: application/vnd.oai.openapi
Date: Mon, 14 Jan 2019 21:33:50 GMT
Server: WSGIServer/0.2 CPython/3.7.2
Vary: Accept, Cookie
X-Frame-Options: SAMEORIGIN
info:
description: ''
title: Pulp API
version: ''
openapi: 3.0.0
paths:
/v2/:
get:
description: Return a response to the "GET" action.
operationId: v2_list
tags:
- v2
servers:
- url: http://pulp3:8000/pulp/api/v3/
</code></pre> Pulp - Test #4359 (CLOSED - COMPLETE): 2.18.1 Testinghttps://pulp.plan.io/issues/43592019-01-29T16:02:43Zbherring
<a name="Notes"></a>
<h2 >Notes<a href="#Notes" class="wiki-anchor">¶</a></h2>
<p>Testing Coverage for 2.18.1 will consist of the following</p>
<ul>
<li>Migration/Upgrade Testing
<ul>
<li>2.17.0 --> 2.18.1
<ul>
<li>FIPS</li>
<li>Non-FIPS</li>
</ul>
</li>
</ul>
</li>
<li>2.18.1 Functional Testing Suite
<ul>
<li>FIPS</li>
<li>Non-FIPS</li>
</ul>
</li>
</ul>