Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2019-01-24T14:12:25ZPulp
Planio 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 #4297 (CLOSED - COMPLETE): Prevent duplicate Package content in RPM reposhttps://pulp.plan.io/issues/42972019-01-07T16:37:45Zbherring
<p>Packages are unique in a repo by NEVRA. When implemented, this will cause the most recently added unique NEVRA to be kept and other duplicate NEVRA to be removed. Duplicate NEVRA could have different checksums.</p>
<pre><code>[{
'model': Package,
'field_names': ['name', 'epoch', 'version', 'release', 'arch']
}]
</code></pre>
<p>Use a <code>RemoveDuplicates</code> stage provided by pulpcore-plugin.</p> RPM Support - Test #4292 (CLOSED - COMPLETE): Add Travis job to nightly sync EPEL7 repohttps://pulp.plan.io/issues/42922019-01-02T20:57:23Zbmbouterbmbouter@redhat.com
<p>We want to ensure we can sync "large" repos. The normal pulp_smash tests only sync fixture data.</p>
<p><a href="https://dl.fedoraproject.org/pub/epel/7Server/x86_64/" class="external">https://dl.fedoraproject.org/pub/epel/7Server/x86_64/</a></p> RPM Support - Test #4285 (CLOSED - COMPLETE): Test one-shot uploaderhttps://pulp.plan.io/issues/42852018-12-20T17:14:05Zdalleydalley@redhat.com
<p>The one-shot uploader endpoint will associate a provided RPM package with a repository, creating the Artifact, Content and new Repository Version in a single operation.</p>
<p>re: <a href="https://pulp.plan.io/issues/4087" class="external">https://pulp.plan.io/issues/4087</a></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 - Test #4261 (CLOSED - WONTFIX): Duplicated module dependnecy entries both after sync...https://pulp.plan.io/issues/42612018-12-11T13:43:43Zbherring
<a name="Notes"></a>
<h2 >Notes<a href="#Notes" class="wiki-anchor">¶</a></h2>
<ul>
<li>May need a test. Need Clarification from Milan or ipanova</li>
</ul> RPM Support - Test #4257 (CLOSED - COMPLETE): QueryExistingArtifacts stage does not prevent dupli...https://pulp.plan.io/issues/42572018-12-11T13:31:01Zbherring
<a name="Notes"></a>
<h2 >Notes<a href="#Notes" class="wiki-anchor">¶</a></h2>
<ul>
<li>See <a class="issue tracker-1 status-11 priority-6 priority-default closed" title="Issue: Checksum constraint error when syncing a package (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/4170">#4170</a> Note <a class="issue tracker-3 status-9 priority-6 priority-default closed" title="Story: As a user, I can rest easy in the knowledge that my celery workers will ensure that their AMQP me... (CLOSED - WONTFIX)" href="https://pulp.plan.io/issues/15">#15</a></li>
</ul> RPM Support - Test #4213 (CLOSED - COMPLETE): Test lazy sync with RPM pluginhttps://pulp.plan.io/issues/42132018-11-29T15:32:32Zkersom
<p>Test different download policies with RPM Plugin.</p> RPM Support - Test #4210 (CLOSED - COMPLETE): Test upload of RPM with invalid byte sequences embe...https://pulp.plan.io/issues/42102018-11-28T20:52:00Zkersom
<ul>
<li>Upload an RPM with non-ascii metadata.</li>
<li>Upload an RPM with non-utf-8 metadata - users should get a friendly error message</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> RPM Support - Test #4142 (CLOSED - COMPLETE): Test Advisory endpointhttps://pulp.plan.io/issues/41422018-11-09T18:03:40Zkersom
<ul>
<li>
<p>Explore the Errata endpoint</p>
<pre><code class="text syntaxhl" data-language="text"> /pulp/api/v3/content/rpm/advisories
</code></pre>
</li>
<li>
<p>Perform actions over the Advisory endpoints.</p>
</li>
<li>
<p>Test advisory conflict resolution</p>
</li>
</ul> RPM Support - Test #4110 (CLOSED - COMPLETE): Test Publishing RPM/SRPM/Erratumhttps://pulp.plan.io/issues/41102018-10-31T13:46:09Zkersom
<p>Write test to publish Pulp using DRPM, SRPM, and RPM/Erratum fixtures. RPM case is already tested.</p>
<p>Those fixtures are already present on pulp-fixtures</p> RPM Support - Test #4109 (CLOSED - COMPLETE): Test verify checksum type on updateinfo.xmlhttps://pulp.plan.io/issues/41092018-10-31T13:42:22Zkersom
<p>Sync/Publish <a href="https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-unsigned/" class="external">rpm-unsigned</a>, read the updateinfo.xml from Pulp.</p>
<pre><code class="xml syntaxhl" data-language="xml"> <span class="nt"><sum</span> <span class="na">type=</span><span class="s">"Unknown checksum"</span><span class="nt">></sum></span>
</code></pre> RPM Support - Test #4108 (CLOSED - COMPLETE): Test syncing RPM/DRPM/SRPM/Erratumhttps://pulp.plan.io/issues/41082018-10-31T13:14:44Zkersom
<p>Write test to sync Pulp using DRPM, SRPM, and RPM/Erratum fixtures. RPM case is already tested.</p>
<p>Those fixtures are already present on <a href="https://repos.fedorapeople.org/pulp/pulp/fixtures/" class="external">pulp-fixtures</a></p>