Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-01-05T19:02:42ZPulp
Planio Migration Plugin - Test #8041 (CLOSED - COMPLETE): Add tests for RPM migration re-runshttps://pulp.plan.io/issues/80412021-01-05T19:02:42Zttereshcttereshc@redhat.com
<p>Those tests require 2 snapshots.</p>
<p>Snapshot 1:</p>
<ul>
<li>empty repo, no importer, a distributor</li>
<li>another empty repo (to copy content to later), no importer, a distributor</li>
<li>rpm-with-modules repo, on_demand importer, a distributor</li>
<li>rpm-distribution-tree repo, on_demand importer, a distributor</li>
<li>srpm-unsigned repo, on_demand importer, a distributor</li>
</ul>
<p>Snapshot 2:</p>
<ul>
<li>empty repo and its distributor unchanged</li>
<li>copy a package to an empty repo, and its distributor unchanged</li>
<li>rpm-with-modules repo (remove one package, clean orphans), importer feed change, distributor with no changes</li>
<li>rpm-distribution-tree repo unchanged, its importer unchanged, distributor checksum_type change</li>
<li>srpm-unsigned repo unchanged, its importer unchanged, distributor relative path change</li>
<li>rpm-richweak-deps repo (sync, remove one package, no orphan cleanup)</li>
</ul> Migration Plugin - Test #8040 (CLOSED - COMPLETE): Add tests for RPM repo related objects migrationhttps://pulp.plan.io/issues/80402021-01-05T18:50:06Zttereshcttereshc@redhat.com
<p>Use snapshot 1 from <a class="issue tracker-5 status-13 priority-6 priority-default closed" title="Test: Add tests for RPM migration re-runs (CLOSED - COMPLETE)" href="https://pulp.plan.io/issues/8041">#8041</a>.</p> Migration Plugin - Test #7999 (CLOSED - COMPLETE): Extend behavioural testshttps://pulp.plan.io/issues/79992020-12-15T18:49:01Zttereshcttereshc@redhat.comMigration Plugin - Test #7998 (CLOSED - COMPLETE): Add tests for reset endpointhttps://pulp.plan.io/issues/79982020-12-15T18:44:50Zttereshcttereshc@redhat.comMigration Plugin - Test #7934 (CLOSED - COMPLETE): Test migration plan correctness and validationhttps://pulp.plan.io/issues/79342020-12-07T16:23:13Zttereshcttereshc@redhat.com
<p>See the checklist for the use cases that needs to be tested</p> 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> RPM Support - Test #5438 (CLOSED - COMPLETE): PackageManagerConsumeTestCase failure: Error: GPG c...https://pulp.plan.io/issues/54382019-09-12T07:23:42Zttereshcttereshc@redhat.com
<p>Even though in the test case there is <a href="https://github.com/pulp/pulp_rpm/blob/e4eebadb39bcb0a7933621e37bd891e6add71c83/pulp_rpm/tests/functional/api/test_consume_content.py#L90" class="external">an attempt</a> to skip the gpg check, it doesn't seem to be effective.</p>
<p>E.g. failing build <a href="https://travis-ci.org/pulp/pulp_rpm/jobs/583830618#L1416" class="external">https://travis-ci.org/pulp/pulp_rpm/jobs/583830618#L1416</a></p> Pulp - Test #4953 (CLOSED - WONTFIX): Change naming of Pulp 2 services to differentiate them from...https://pulp.plan.io/issues/49532019-06-11T12:26:02Zrochacbruno
<p>Refactor ServiceManager test cases to use the new names</p> RPM Support - Test #4819 (CLOSED - DUPLICATE): Update modulemd copy tests, module artifacts are a...https://pulp.plan.io/issues/48192019-05-15T10:34:05Zttereshcttereshc@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_rpm/2214":<a href="https://github.com/pulp/pulp_rpm/issues/2214" class="external">https://github.com/pulp/pulp_rpm/issues/2214</a></p> Pulp - Test #4781 (CLOSED - DUPLICATE): Assert search raises error when filtering by invalid fieldhttps://pulp.plan.io/issues/47812019-05-03T14:12:41Zrochacbruno
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulpcore/1824":<a href="https://github.com/pulp/pulpcore/issues/1824" class="external">https://github.com/pulp/pulpcore/issues/1824</a></p>
<hr>
<p>When searching for `tasks` filtering by invalid field name like:</p>
<pre><code class="python syntaxhl" data-language="python"><span class="o">/</span><span class="n">pulp</span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">v3</span><span class="o">/</span><span class="n">tasks</span><span class="o">/</span><span class="err">?</span><span class="n">invalidfield</span><span class="o">=</span><span class="n">foobar</span>
</code></pre>
<p>API should validate and return meaningful validation error.</p> RPM Support - Test #4579 (CLOSED - COMPLETE): Automate rpm missing filelisthttps://pulp.plan.io/issues/45792019-03-26T14:44:13ZrochacbrunoContainer Support - Test #4533 (CLOSED - WONTFIX): Test Pull Container Image by Digesthttps://pulp.plan.io/issues/45332019-03-12T15:31:14Zrochacbruno
<p>In addition to `test_pull_with_name` and `test_pull_with_tag` add a `test_pull_with_digest`</p> RPM Support - Test #4530 (CLOSED - COMPLETE): Test support of zchunk metadatahttps://pulp.plan.io/issues/45302019-03-12T10:52:26Zttereshcttereshc@redhat.com
<p>A fixture repo needs to be created (or current ones can be updated) with zchunk metadata.</p>
<a name="Zchunk-metadata-is-ignored-during-sync-and-not-generated-at-publish-time-by-default"></a>
<h3 >Zchunk metadata is ignored during sync and not generated at publish time by default<a href="#Zchunk-metadata-is-ignored-during-sync-and-not-generated-at-publish-time-by-default" class="wiki-anchor">¶</a></h3>
<ul>
<li>sync repo with zchunk metadata</li>
<li>publish repo</li>
<li>check that there is no zchunk metadata published</li>
</ul> RPM Support - Test #4158 (CLOSED - COMPLETE): Test applicability for modular or mixed contenthttps://pulp.plan.io/issues/41582018-11-14T17:49:54Zttereshcttereshc@redhat.com
<a name="Ingredients"></a>
<h3 >Ingredients<a href="#Ingredients" class="wiki-anchor">¶</a></h3>
<ul>
<li>consumer</li>
<li>consumer profile<br>
It used to be of <code>rpm</code> type only, now there can be a second active profile for the same consumer, "modulemd" type.<br>
So two types are of consumer profiles are now allowed for uploading. Their format is different depending on type but it's not tested validated anywhere, so don't test with different weird fields in the profile :) See examples and expected format in <a class="issue tracker-3 status-11 priority-6 priority-default closed" title="Story: As a user, I can upload information about Consumer (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/3927">#3927</a>.</li>
</ul>
<ul>
<li>repository with modular content, like <a href="https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-with-modules/" class="external">our fixtures</a>
</li>
</ul>
<p>Applicability calculates which RPMs, modules and errata are applicable.</p>
<a name="Conditions-when-each-of-the-content-types-are-applicable"></a>
<h3 >Conditions when each of the content types are applicable<a href="#Conditions-when-each-of-the-content-types-are-applicable" class="wiki-anchor">¶</a></h3>
<p>1. RPM is applicable:</p>
<ul>
<li>in case of modular RPM:</li>
</ul>
<ul>
<li>if its corresponding module is enabled</li>
<li>if the first-level module dependencies of that module are enabled</li>
<li>if that RPM is newer than the installed one</li>
</ul>
<ul>
<li>in case of non-modular RPM:</li>
</ul>
<ul>
<li>if RPM name doesn't match the name of any of the modular RPMs from enabled modules</li>
<li>if that RPM is newer than the installed one</li>
</ul>
<p>2. Module is applicable:</p>
<ul>
<li>if at least one RPM which is referred in its artifacts is present in a repo</li>
<li>if at least one RPM which is referred in its artifacts is applicable</li>
</ul>
<p>3. Erratum is applicable:</p>
<ul>
<li>if at least one RPM which is referred in the erratum pkglist is present in a repo</li>
<li>if at least one RPM which is referred in the erratum pkglist is applicable</li>
</ul>
<a name="Behavioral-changes"></a>
<h3 >Behavioral changes<a href="#Behavioral-changes" class="wiki-anchor">¶</a></h3>
<ul>
<li>It was required to request consumer applicability first (to create an applicability profile) and only then it was possible to update it with repo applicability. It's no longer a requirement, repo applicability will create applicability profiles if they don't exist.</li>
</ul>
<a name="Suggested-tests-for-fixtures-repo"></a>
<h3 >Suggested tests (for fixtures repo)<a href="#Suggested-tests-for-fixtures-repo" class="wiki-anchor">¶</a></h3>
<ul>
<li>Test applicability when only modular RPMs are installed on a consumer</li>
<li>Test applicability when modular and non-modular RPMs are installed on a consumer</li>
<li>Test applicability when enabled module has module dependencies (see <code>duck</code> modules)</li>
<li>Test applicability when enabled module has multiple versions, the same stream but multiple versions (see duck and kangaroo)</li>
<li>Test applicability when no modules are enabled</li>
<li>Test applicability when module is present in an erratum</li>
<li>Test applicability when module is absent from an erratum but still applicable (see <code>walrus</code> modules)</li>
<li>Test applicability when a non-modular erratum refers to an RPM with the same name as modular applicable RPM (see <code>walrus</code> RPM and <code>Sea_Erratum</code>)</li>
<li>any other useful scenarios</li>
</ul> RPM Support - Test #4156 (CLOSED - COMPLETE): Adjust test(s) for applicability calculation of non...https://pulp.plan.io/issues/41562018-11-14T16:28:18Zttereshcttereshc@redhat.com
<p>Applicability report format got extended: new type "modulemd" is added.<br>
See related issue for more details and examples.</p>