Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2020-08-19T08:10:24ZPulp
Planio Debian Support - Test #7344 (CLOSED - COMPLETE): Add test to publish empty repositoryhttps://pulp.plan.io/issues/73442020-08-19T08:10:24Zmsinghal
<p>Empty repository consists of release files, package index files but no packages.</p> RPM Support - Test #7134 (CLOSED - COMPLETE): Test against CDNhttps://pulp.plan.io/issues/71342020-07-14T13:59:20Zppicka
<p>When core issue <a href="https://pulp.plan.io/issues/6735" class="external">https://pulp.plan.io/issues/6735</a> is solved, lets add the test to sync against the CDN both baseos and appstream repositories.</p>
<p>This will test same repo meta data with different filename as same productid is shipped intentionally with both of mentioned repositories.</p>
<p>Also this test is testing using a certificates which are needed for CDN.</p> RPM Support - Test #6503 (CLOSED - COMPLETE): assert checksums for on_demand publicationhttps://pulp.plan.io/issues/65032020-04-15T17:17:25Zfao89
<p>we need to test publication behavior when setting: metadata_checksum_type and package_checksum_type for on demand publication</p>
<p>Note: mixing on_demand and immediate policies on the same test case could lead to intermittent failures</p> RPM Support - Test #6015 (CLOSED - COMPLETE): Fix the "SyncMutatedUpdateRecordTestCase" testhttps://pulp.plan.io/issues/60152020-01-17T15:37:52Zdalleydalley@redhat.com
<p>This test was written long before the feature was implemented and has been disabled since. The feature is now implemented but when the test is enabled, it fails with the following exception thrown:</p>
<pre><code>pulp_rpm.app.exceptions.AdvisoryConflict: Incoming and existing advisories have the same id and timestamp but different and intersecting package lists. At least one of them is wrong. Advisory id: RHEA-2012:0055
</code></pre>
<p>This most likely means that Pulp 3 is more conservative than the test is designed for, and rejects the advisory in our test fixture because both versions of the advisory have identical timestamps but different package lists.</p>
<p>We need to find (or create) a fixture advisory where the two versions of the advisory have differing timestamps, so that the package lists can be successfully merged.</p> 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 #5508 (CLOSED - COMPLETE): Create a set of tests to run with every PR for...https://pulp.plan.io/issues/55082019-09-26T19:08:45Zttereshcttereshc@redhat.com
<a name="Motivation"></a>
<h3 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h3>
<p>Migration plugin is under active development, incl. code refactors, new features.<br>
There is a need to have tests which can run for every PR and which can give at least level of confidence that migration works as expected and new changes didn't introduce regressions.</p>
<a name="Proposal"></a>
<h3 >Proposal<a href="#Proposal" class="wiki-anchor">¶</a></h3>
<p>Setup:<br>
- Pulp 3<br>
- MongoDB</p>
<p>Idea:<br>
- Use pre-prepared "snapshots" of Pulp 2 to mimic Pulp 2 existence and certain behaviour.</p>
<p>Deliverables:<br>
- Create fixtures which will contain mongodumps and corresponding tar balls of /var/lib/pulp/content (Pulp 2 content).<br>
- Add ability to the pulp-smash to optionally use newly created fixtures at test setup time.<br>
- Write tests (they can also be used in a more complicated setup with the real Pulp 2 running)</p>
<p>Tests:<br>
1. One Pulp 2 snapshot.<br>
- Test that downloaded content is migrated properly (content is created, hardlinks are created, artifatcs are created in DB)<br>
- Test that on_demand content is migrated properly (content is created, remote artifacts are created)<br>
- Test that migration happened according to the Migration Plan<br>
- Test that migrated resources are created correctly (repos, repo versions, remotes, distributions, etc)<br>
- Test that the migrated content is consumable.</p>
<p>2. Multiple Pulp 2 snapshots<br>
- Test that migrated resources are created correctly after changes in Pulp2<br>
- Test that the migrated content is consumable after changes in Pulp 2</p> Migration Plugin - Test #5348 (CLOSED - COMPLETE): As a user, I can check the progress of migrationhttps://pulp.plan.io/issues/53482019-08-26T13:14:15Zkersom
<p>A user should be able to inspect the progress of a migration.</p> Migration Plugin - Test #5347 (CLOSED - COMPLETE): As a user, I can migrate content for a specifi...https://pulp.plan.io/issues/53472019-08-26T13:12:31Zkersom
<p>This test should target the Pulp 3 plugins already integrated by Katello.</p> Migration Plugin - Test #5265 (CLOSED - COMPLETE): Test - As a user, I can use the REST API to di...https://pulp.plan.io/issues/52652019-08-13T18:14:26Zkersom
<p>The Django app in the pulp-2to3-migrate[0] repo needs to provide a view that handles requests at /pulp/api/v3/migrate_pulp2/.</p>
<p>This view should accept 2 parameters: dry_run (boolean) and migration_plan (JSON object). Both of the parameters should be used to dispatch a task called "migrate_from_pulp2". This task should sleep for 1 second and then exit.</p>
<p>[0] <a href="https://github.com/pulp/pulp-2to3-migrate" class="external">https://github.com/pulp/pulp-2to3-migrate</a></p> Migration Plugin - Test #5258 (CLOSED - COMPLETE): Test - Pulp 2 stops working after installing P...https://pulp.plan.io/issues/52582019-08-13T17:24:33Zkersom
<p>After Pulp 3 is installed on the same machine that has Pulp 2 running on it the following message appears in the logs anytime httpd tries to connect to Qpid:</p>
<pre><code>Jul 10 11:48:07 pulp2-nightly-pulp3-source-centos7.localhost.example.com pulp[19490]: gofer.messaging.adapter.connect:INFO: connecting: qpid+tcp://localhost:5672
Jul 10 11:48:07 pulp2-nightly-pulp3-source-centos7.localhost.example.com pulp[19490]: gofer.messaging.adapter.qpid.connection:INFO: open: URL: tcp://localhost|SSL: ca: /etc/pki/qpid/ca/
ca.crt|key: None|certificate: /etc/pki/qpid/client/client.pem|host-validation: False
Jul 10 11:48:07 pulp2-nightly-pulp3-source-centos7.localhost.example.com qpidd[19462]: 2019-07-10 11:48:07 [Security] error Rejected un-encrypted connection.
Jul 10 11:48:07 pulp2-nightly-pulp3-source-centos7.localhost.example.com qpidd[19462]: 2019-07-10 11:48:07 [Protocol] error Connection qpid.[::1]:5672-[::1]:36582 closed by error: conne
ction-forced: Connection must be encrypted.(320)
Jul 10 11:48:07 pulp2-nightly-pulp3-source-centos7.localhost.example.com pulp[19490]: gofer.messaging.adapter.connect:ERROR: connect: qpid+tcp://localhost:5672, failed: connection abort
ed
Jul 10 11:48:07 pulp2-nightly-pulp3-source-centos7.localhost.example.com pulp[19490]: gofer.messaging.adapter.connect:INFO: retry in 10 seconds
</code></pre> Ansible Plugin - Test #5256 (CLOSED - COMPLETE): Test - Ansible collection remote doesn't handle ...https://pulp.plan.io/issues/52562019-08-13T14:42:32Zkersom
<p>Ex:<br>
With a url <a href="https://galaxy.ansible.com" class="external">https://galaxy.ansible.com</a> it works fine.<br>
With a url <a href="https://galaxy.ansible.com/" class="external">https://galaxy.ansible.com/</a> , throws the following error: <a href="https://gist.github.com/sjha4/0afdd783bac7cea56055b706f6b02155" class="external">https://gist.github.com/sjha4/0afdd783bac7cea56055b706f6b02155</a></p> 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> Pulp - Test #4911 (CLOSED - COMPLETE): Test sync collections content typehttps://pulp.plan.io/issues/49112019-06-04T19:41:58Zkersom
<p>Test sync collections content type.</p>
<p>See: <a href="https://pulp-ansible.readthedocs.io/en/latest/workflows/sync-collection.html" class="external">https://pulp-ansible.readthedocs.io/en/latest/workflows/sync-collection.html</a></p> RPM Support - Test #4721 (CLOSED - COMPLETE): Test simple content copyhttps://pulp.plan.io/issues/47212019-04-20T05:16:54Zdalleydalley@redhat.com
<ol>
<li>Create an RPM repository</li>
<li>Populate it with content</li>
<li>Create a second, empty RPM repository</li>
<li>Use the copy API endpoint to copy all content from the first repository into the second repository</li>
<li>Check that a new repository version was created in the second repository, and that it has identical content to the first</li>
</ol>
<p>The copy API works as follows</p>
<p>http --form POST <a href="http://localhost:24817/pulp/api/v3/rpm/copy/" class="external">http://localhost:24817/pulp/api/v3/rpm/copy/</a> source_repository=${SRC_REPO_HREF} destination_repository=${DEST_REPO_HREF}</p>
<p>(exact parameter names TBD)</p> Python Support - Test #4682 (MODIFIED): Test to ensure pip installing a package workshttps://pulp.plan.io/issues/46822019-04-12T20:29:37ZCodeHeeler
<p>To prevent a repeat of issue 4677 [0] where pip installation fails, we should add a test that attempts to install a package with pip.</p>
<p>Our current test [1] only checks that direct download works, and thus all our tests were passing when no one could pip install packages we served.</p>
<p>I'm guessing the added code would be placed around L99 [2] to download using pip and then add an additional assert statement.</p>
<p>[0] <a href="https://pulp.plan.io/issues/4677" class="external">https://pulp.plan.io/issues/4677</a><br>
[1] <a href="https://github.com/pulp/pulp_python/blob/master/pulp_python/tests/functional/api/test_download_content.py#L29" class="external">https://github.com/pulp/pulp_python/blob/master/pulp_python/tests/functional/api/test_download_content.py#L29</a><br>
[2] <a href="https://github.com/pulp/pulp_python/blob/master/pulp_python/tests/functional/api/test_download_content.py#L99" class="external">https://github.com/pulp/pulp_python/blob/master/pulp_python/tests/functional/api/test_download_content.py#L99</a></p>