Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-07-29T09:20:22ZPulp
Planio Debian Support - Task #9175 (CLOSED - CURRENTRELEASE): Backport 9162 to 2.14https://pulp.plan.io/issues/91752021-07-29T09:20:22Zquba42
<p><a href="https://github.com/pulp/community/discussions/59" class="external">https://github.com/pulp/community/discussions/59</a></p> Debian Support - Issue #9164 (CLOSED - CURRENTRELEASE): Dropping Python 3.6 and 3.7 from the 2.14...https://pulp.plan.io/issues/91642021-07-28T11:43:11Zquba42
<p>It looks like this was merged prematurely on my part.</p>
<p>Users have reported the following:</p>
<pre><code>I tried to update pulp_deb plugins using ansible but getting error as per below.
TASK [pulp.pulp_installer.pulp_common : Install prerequisites] ******************************************************************************************************************************************************************************
fatal: [pulptest008.karmalab.net]: FAILED! => {"changed": false, "msg": "No package matching 'rh-python38-python' found available, installed or updated", "rc": 126, "results": ["python-setuptools-0.9.8-7.el7.noarch providing python-setuptools is already installed", "No package matching 'rh-python38-python' found available, installed or updated"]}
</code></pre>
<p>Fresh installs are also suffering weird dependency effects where Python 3 is not being installed at all.</p> Debian Support - Task #9162 (CLOSED - CURRENTRELEASE): Comply with orphan clean changes made in p...https://pulp.plan.io/issues/91622021-07-28T08:52:57Zquba42
<p><a href="https://github.com/pulp/community/discussions/59" class="external">https://github.com/pulp/community/discussions/59</a></p> Debian Support - Task #8682 (CLOSED - CURRENTRELEASE): Migrate to new Distribution model for pulp...https://pulp.plan.io/issues/86822021-05-03T12:21:35Zquba42Debian Support - Issue #8671 (CLOSED - CURRENTRELEASE): Sync with Main Debian Repo fails on a tra...https://pulp.plan.io/issues/86712021-04-30T08:43:16Ztp-hlawatsch
<p>Hello everybody,</p>
<p>we plan to use pulp as our main tool for repos . We testing at the moment Debian mirroring
Our pulp testinstance is runing with the latest offical docker image</p>
<p>This is the configured remote repo</p>
<p>{
"name": "debian",
"url": "<a href="http://ftp.de.debian.org/debian/" class="external">http://ftp.de.debian.org/debian/</a>",
"ca_cert": null,
"client_cert": null,
"client_key": null,
"tls_validation": false,
"proxy_url": null,
"proxy_username": null,
"proxy_password": null,
"username": null,
"password": null,
"pulp_labels": {},
"download_concurrency": "10",
"policy": "immediate",
"total_timeout": null,
"connect_timeout": null,
"sock_connect_timeout": null,
"sock_read_timeout": null,
"rate_limit": null,
"distributions": "buster",
"components": "main",
"architectures": "amd64",
"sync_sources": false,
"sync_udebs": false,
"sync_installer": false,
"gpgkey": null,
"ignore_missing_package_indices": false
}</p>
<p>the sync run in to the following error</p>
<p>{
"pulp_href": "/pulp/api/v3/tasks/a7bd851b-f001-4f5f-89eb-0e0de529a556/",
"pulp_created": "2021-04-30T07:53:11.537345Z",
"state": "failed",
"name": "pulp_deb.app.tasks.synchronizing.synchronize",
"logging_cid": "00de2125667f4c7e8b8e01554c401eeb",
"started_at": "2021-04-30T07:53:11.648803Z",
"finished_at": "2021-04-30T07:53:19.135647Z",
"error": {
"traceback": " File "/usr/local/lib/python3.6/site-packages/rq/worker.py", line 1008, in perform_job\n rv = job.perform()\n File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 706, in perform\n self._result = self._execute()\n File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 729, in _execute\n result = self.func(*self.args, **self.kwargs)\n File "/usr/local/lib/python3.6/site-packages/pulp_deb/app/tasks/synchronizing.py", line 122, in synchronize\n DebDeclarativeVersion(first_stage, repository, mirror=mirror).create()\n File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py", line 149, in create\n loop.run_until_complete(pipeline)\n File "/usr/lib64/python3.6/asyncio/base_events.py", line 484, in run_until_complete\n return future.result()\n File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 225, in create_pipeline\n await asyncio.gather(*futures)\n File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py", line 43, in <strong>call</strong>\n await self.run()\n File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/artifact_stages.py", line 266, in run\n RemoteArtifact.objects.bulk_get_or_create(self._needed_remote_artifacts(batch))\n File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/artifact_stages.py", line 324, in _needed_remote_artifacts\n msg.format(rp=content_artifact.relative_path, c=d_content.content)\n",
"description": "No declared artifact with relative path "dists/buster/main/i18n/Translation-ml.bz2" for content """
},</p>
<p>We do not see a misconfiguration on our side so I raised this issue here</p>
<p>Regards
Stephan Hlawatsch</p> Debian Support - Task #8388 (CLOSED - CURRENTRELEASE): Handle ALLOWED_CONTENT_CHECKSUMS settinghttps://pulp.plan.io/issues/83882021-03-11T14:59:24Zquba42
<p>Right now the pulp_deb plugin is dependend on the following hashs being present on artifacts: md5, sha1, sha256, sha512.</p>
<p>Starting with pulpcore 3.11 will exclude md5 and sha1 from ALLOWED_CONTENT_CHECKSUMS by default.</p>
<p>Pulp deb will need to handle this gracefully. There is still some debate on whether pulp_deb makes sense without md5 feature wise. As a result, the solution may need to include demanding or encouraging a different configuration from pulp_deb users than the pulpcore default configuration.</p>
<p>See the following mailing list threads:</p>
<ul>
<li><a href="https://listman.redhat.com/archives/pulp-dev/2021-February/msg00017.html" class="external">https://listman.redhat.com/archives/pulp-dev/2021-February/msg00017.html</a></li>
<li><a href="https://listman.redhat.com/archives/pulp-dev/2021-March/msg00013.html" class="external">https://listman.redhat.com/archives/pulp-dev/2021-March/msg00013.html</a></li>
</ul> 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> Pulp - Test #4357 (CLOSED - COMPLETE): Pulp 2.19 master pulled epel django instead of pulp 2 djangohttps://pulp.plan.io/issues/43572019-01-29T12:41:38Zbherring
<a name="Problem"></a>
<h2 >Problem<a href="#Problem" class="wiki-anchor">¶</a></h2>
<p>When running nightly rhel76-fips testing, there were 500 errors [0] on jenkins tests since 1/23 and issues in journalctl with django [1].</p>
<p>After talking with asmacdo and daviddavis, it appears this may be a django being pulled from EPEL and not from our Pulp 2 repos on build [2][3]</p>
<a name="Testing"></a>
<h2 >Testing<a href="#Testing" class="wiki-anchor">¶</a></h2>
<p>It was determined this was the result of EPEL django precedence over the pulp.repo version that was built. This issue has been seen before.</p>
<p>Forced installation of the <strong>python2-django-1.11.17-1</strong> from the fedorapeople repo [3] and restart of services (or with a hammer of <strong>shutdown now -r</strong>) resulted in a functioning pulp install.</p>
<pre><code>[root@rhel76-fips ~]# journalctl -f
-- Logs begin at Mon 2019-01-28 12:33:13 EST. --
Jan 28 12:34:38 rhel76-fips pulp[5046]: kombu.transport.qpid:INFO: Connected to qpid with SASL mechanism ANONYMOUS
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) Internal Server Error: /pulp/api/v2/status/
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) Traceback (most recent call last):
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 131, in get_response
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) response = middleware_method(request, response)
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) File "/usr/lib/python2.7/site-packages/django/middleware/http.py", line 23, in process_response
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) set_response_etag(response)
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) File "/usr/lib/python2.7/site-packages/django/utils/cache.py", line 109, in set_response_etag
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) response['ETag'] = quote_etag(hashlib.md5(response.content).hexdigest())
Jan 28 12:34:38 rhel76-fips pulp[5046]: django.request:ERROR: (5046-27424) ValueError: error:060800A3:digital envelope routines:EVP_DigestInit_ex:disabled for fips
</code></pre>
<a name="Actions"></a>
<h2 >Actions<a href="#Actions" class="wiki-anchor">¶</a></h2>
<p>Pulp-dev determined this issue as a low priority issue where documentation exercise may happen as a result of this issue.</p>
<p>For QE, this is a critical breakage of CI as the ansible install fails on FIPS installation and puts the box into a non-testable state. QE will be opening a related Urgent test tracker to fix the issue in the pulp-ci installer to fix mission critical work.</p>
<a name="References"></a>
<h2 >References<a href="#References" class="wiki-anchor">¶</a></h2>
<p>[0] - <a href="https://paste.fedoraproject.org/paste/bPRtYPa4ZCLShrZ7VUMqMQ" class="external">https://paste.fedoraproject.org/paste/bPRtYPa4ZCLShrZ7VUMqMQ</a><br>
[1] - <a href="https://pulp-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/Pulp%202%20-%20Master/job/pulp-2-master-dev-rhel7-fips/228/" class="external">https://pulp-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/Pulp%202%20-%20Master/job/pulp-2-master-dev-rhel7-fips/228/</a><br>
[2] - <a href="https://paste.fedoraproject.org/paste/6eHTS1Uc3NkC0hohvKe-TA" class="external">https://paste.fedoraproject.org/paste/6eHTS1Uc3NkC0hohvKe-TA</a> [from the affected 2.19a1-nightly box under test<br>
[3] - 2.11.17-1 <a href="https://repos.fedorapeople.org/repos/pulp/pulp/v2/testing/automation/2.19/stage/7Server/x86_64/" class="external">https://repos.fedorapeople.org/repos/pulp/pulp/v2/testing/automation/2.19/stage/7Server/x86_64/</a><br>
[4] - <a href="https://wiki.centos.org/PackageManagement/Yum/Priorities" class="external">https://wiki.centos.org/PackageManagement/Yum/Priorities</a></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> Pulp - Test #4258 (CLOSED - COMPLETE): Publishing incorrect branch head.https://pulp.plan.io/issues/42582018-12-11T13:33:31Zbherring
<a name="Notes"></a>
<h2 >Notes<a href="#Notes" class="wiki-anchor">¶</a></h2>
<ul>
<li>ostree smash test? ping jeff</li>
</ul> Pulp - Story #3778 (CLOSED - CURRENTRELEASE): [Epic] As a user, I can run Pulp 3 in a FIPS-enable...https://pulp.plan.io/issues/37782018-06-21T16:13:49ZdaviddavisPackaging - Task #2228 (CLOSED - CURRENTRELEASE): Improve nodepool node launch demand calculationhttps://pulp.plan.io/issues/22282016-09-02T19:12:45Zsemyerssean.myers@redhat.com
<p>Because of a needed tweak to nodepool[0] we already running a fork. After chatting with elyezer, there are some further improvements I'd like to include on the fork.</p>
<p>Currently, nodepoold uses a tool called "geard" to determine node launch demand, based on the configure label demands of queued jobs. I believe that when nodepool was first being used, this information was not obtainable via the Jenkins API. Now, however, it is[1]. Furthermore, the geard integration simply doesn't work, afaict, for our use-case, unless we want to go nuts and bring in more pieces of openstack automation (e.g. zuul).</p>
<p>I've already done some preliminary work[2] to try to determine label demand based on the current jenkins build queue, so all that remains is wiring it into the nodepool fork and getting rid of the geard stuff that doesn't meet our needs.</p>
<p>[0]: <a href="https://github.com/seandst/nodepool/commit/1a807c8def36d62e80aaaa0e4e961a176e9ce746" class="external">https://github.com/seandst/nodepool/commit/1a807c8def36d62e80aaaa0e4e961a176e9ce746</a><br>
[1]: <a href="https://python-jenkins.readthedocs.io/en/latest/api.html#jenkins.Jenkins.get_queue_info" class="external">https://python-jenkins.readthedocs.io/en/latest/api.html#jenkins.Jenkins.get_queue_info</a><br>
[2]: <a href="https://gist.github.com/seandst/8e9b62f7b46bb5baa88a8bf5fbb11215" class="external">https://gist.github.com/seandst/8e9b62f7b46bb5baa88a8bf5fbb11215</a></p> Pulp - Task #1941 (CLOSED - CURRENTRELEASE): Strict/nitpicky sphinx settings break our rpm buildshttps://pulp.plan.io/issues/19412016-05-23T22:40:42Zsemyerssean.myers@redhat.com
<p>This is a post-mortem report of the task of diagnosing and fixing broken builds.</p>
<hr>
<p>In <a class="issue tracker-2 status-11 priority-6 priority-default closed" title="Task: Consolidate platform and plugin docs into a static site. (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/950">#950</a>, we turned on strict docs builds, but this ended up breaking our builds.</p>
<p>The problem was that there's no internet access inside the mock buildroot, so when sphinx went to download the intersphinx inventory files it would fail. Normally this triggers a warning, but enabling strict mode promotes all build warnings to errors. It's worth pointing out that the intersphinx downloads have always been failing during RPM build, the only thing new was our strictness.</p>
<p>Strict building is good; at the moment work is ongoing in <a class="issue tracker-2 status-11 priority-6 priority-default closed" title="Task: Consolidate platform and plugin docs into a static site. (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/950">#950</a> to modify our docs build process to hopefully (among many other goals) allow us to once again do strict builds with sphinx without breaking the build.</p>