Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-04-28T07:07:15ZPulp
Planio Debian Support - Task #8643 (CLOSED - DUPLICATE): Rework the API docshttps://pulp.plan.io/issues/86432021-04-28T07:07:15Zquba42
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_deb/405":<a href="https://github.com/pulp/pulp_deb/issues/405" class="external">https://github.com/pulp/pulp_deb/issues/405</a></p>
<hr>
<p>I would like to systematically go through the strings used for the API docs, to ensure they provide all the critical information for users.</p> Debian Support - Task #8641 (CLOSED - DUPLICATE): Review handling of ALLOWED_CONTENT_CHECKSUMS in...https://pulp.plan.io/issues/86412021-04-28T07:02:46Zquba42
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_deb/403":<a href="https://github.com/pulp/pulp_deb/issues/403" class="external">https://github.com/pulp/pulp_deb/issues/403</a></p>
<hr>
<p>Right now we are testing using checksum settings that are not what most production setups will use.
The current settings also require manual intervention in devel boxes to run tests locally.</p>
<p>Ideally we would have different tests using different settings for full coverage.</p> Debian Support - Issue #8544 (CLOSED - DUPLICATE): Add some translation files to at least one tes...https://pulp.plan.io/issues/85442021-04-12T15:36:57Zquba42
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_deb/401":<a href="https://github.com/pulp/pulp_deb/issues/401" class="external">https://github.com/pulp/pulp_deb/issues/401</a></p>
<hr>
<p>Should provide test coverage for the following:</p>
<ul>
<li><a href="https://pulp.plan.io/issues/8410" class="external">https://pulp.plan.io/issues/8410</a></li>
<li><a href="https://pulp.plan.io/issues/8096" class="external">https://pulp.plan.io/issues/8096</a></li>
</ul> Debian Support - Issue #8028 (CLOSED - WORKSFORME): Cannot sync Ubuntu repositorieshttps://pulp.plan.io/issues/80282020-12-29T03:40:11Znhavens
<p>With the following remote configuration, I'm unable to sync to a pulp repository:</p>
<pre><code class="json syntaxhl" data-language="json"><span class="p">{</span><span class="w">
</span><span class="nl">"pulp_href"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/pulp/api/v3/remotes/deb/apt/d5143b62-3f97-4f10-a466-734dcd4d5146/"</span><span class="p">,</span><span class="w">
</span><span class="nl">"pulp_created"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2020-12-29T02:49:24.689377Z"</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">"ubuntu"</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">"http://mirror.us.leaseweb.net/ubuntu"</span><span class="p">,</span><span class="w">
</span><span class="nl">"ca_cert"</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">"client_cert"</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">"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">"tls_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">"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">"username"</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">"password"</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">"pulp_last_updated"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2020-12-29T03:06:33.546708Z"</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">10</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">"immediate"</span><span class="p">,</span><span class="w">
</span><span class="nl">"total_timeout"</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">"connect_timeout"</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">"sock_connect_timeout"</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">"sock_read_timeout"</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">"distributions"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bionic bionic-backports bionic-proposed bionic-security bionic-updates"</span><span class="p">,</span><span class="w">
</span><span class="nl">"components"</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">"architectures"</span><span class="p">:</span><span class="w"> </span><span class="s2">"amd64 i386"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sync_sources"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nl">"sync_udebs"</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">"sync_installer"</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">"gpgkey"</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">"ignore_missing_package_indices"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></code></pre>
<p>I get the following error message:</p>
<pre><code>Dec 28 21:32:42 pulp-server rq[48697]: psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "core_artifact_sha256_key"
Dec 28 21:32:42 pulp-server rq[48697]: DETAIL: Key (sha256)=(e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855) already exists.
</code></pre>
<p>If I subsequently patch the remote to set <code>ignore_missing_package_indices=true</code>, the sync also fails, but with a different error message:</p>
<pre><code>Dec 28 21:36:19 pulp-server rq[48741]: psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "core_contentartifact_content_id_relative_path_d2ef8231_uniq"
Dec 28 21:36:19 pulp-server rq[48741]: DETAIL: Key (content_id, relative_path)=(6bfcee15-6b12-4c36-831d-9b34d1dc9cf8, dists/bionic-backports) already exists.
</code></pre>
<p>I'd be happy to provide full stack traces if that would be helpful.</p> Debian Support - Issue #7756 (CLOSED - WONTFIX): Content upload has different method-definintion ...https://pulp.plan.io/issues/77562020-10-27T15:58:32Zmbucher
<p>Looking at the generated API-Bindings for ruby, the method for creating/uploading a new deb-package differs from the one used for e.g. rpm.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="k">module</span> <span class="nn">PulpDebClient</span>
<span class="k">class</span> <span class="nc">ContentPackagesApi</span>
<span class="o">...</span>
<span class="k">def</span> <span class="nf">create</span><span class="p">(</span><span class="n">opts</span> <span class="o">=</span> <span class="p">{})</span>
</code></pre>
<p>While in the RPM-bindings it looks like this:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="k">module</span> <span class="nn">PulpRpmClient</span>
<span class="k">class</span> <span class="nc">ContentPackagesApi</span>
<span class="o">...</span>
<span class="k">def</span> <span class="nf">create</span><span class="p">(</span><span class="n">relative_path</span><span class="p">,</span> <span class="n">opts</span> <span class="o">=</span> <span class="p">{})</span>
</code></pre>
<p>The fact that <code>relative_path</code> is specified as parameter in the latter case seems to be due to the fact that in the API, <code>relative_path</code> is marked as required in pulp_rpm, but not in pulp_deb.</p>
<p><a href="https://pulp-deb.readthedocs.io/en/latest/restapi.html#operation/content_deb_packages_create" class="external">https://pulp-deb.readthedocs.io/en/latest/restapi.html#operation/content_deb_packages_create</a></p>
<p><a href="https://pulp-rpm.readthedocs.io/en/latest/restapi.html#operation/content_rpm_packages_create" class="external">https://pulp-rpm.readthedocs.io/en/latest/restapi.html#operation/content_rpm_packages_create</a></p>
<p>THis came up during the <a href="https://github.com/Katello/katello/pull/8632#issuecomment-709563551" class="external">katello integration of pulp_deb for pulpcore</a>.</p> Debian Support - Story #7315 (CLOSED - DUPLICATE): Adding RBAC (Role Based Access Control) suppor...https://pulp.plan.io/issues/73152020-08-12T11:29:26Zquba42
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_deb/392":<a href="https://github.com/pulp/pulp_deb/issues/392" class="external">https://github.com/pulp/pulp_deb/issues/392</a></p>
<hr>
<p>pulpcore 3.6 adds experimental RBAC support. This may be declared safe to use with pulpcore 3.7.</p>
<p>Plugins can start taking advantage of this feature at their own choosing.</p>
<p>Plugin writers doc:</p>
<p><a href="https://github.com/pulp/pulpcore/tree/master/docs/plugins/plugin-writer/concepts/rbac" class="external">https://github.com/pulp/pulpcore/tree/master/docs/plugins/plugin-writer/concepts/rbac</a></p> Debian Support - Task #7024 (CLOSED - DUPLICATE): Add the ability to set per release/distribution...https://pulp.plan.io/issues/70242020-06-22T11:00:38Zquba42
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_deb/387":<a href="https://github.com/pulp/pulp_deb/issues/387" class="external">https://github.com/pulp/pulp_deb/issues/387</a></p>
<hr>
<p>Right now, users can set the description at the repository level.
This description will be used in the Release file for all releases/distributions in the repository.</p>
<p>We could add a description field to the Release content model, that would override the repository description.</p>
<p>This would be a minor feature addition.</p> CertGuard - Issue #6424 (CLOSED - CURRENTRELEASE): An expired client RHSM Certificate should be d...https://pulp.plan.io/issues/64242020-03-31T19:43:21Zbmbouterbmbouter@redhat.comAnsible Plugin - Issue #4996 (CLOSED - CURRENTRELEASE): Ansible collection remote doesn't handle ...https://pulp.plan.io/issues/49962019-06-19T20:06:58Zsajha
<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> Container Support - Test #4461 (CLOSED - WONTFIX): As a user i can configure download of the fore...https://pulp.plan.io/issues/44612019-02-25T14:22:27Zbherring
<p>Some images like windows base images, contain artifacts whose distribution is restricted by license.<br>
When these images are pushed to a registry, restricted artifacts are skipped/not included by default.</p>
<p>These artifacts are called foreign layers and have "mediaType": "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip"</p>
<p>Remote should have a Boolean "*allow_foreign_layers*" option which would control the download of the foreign layers.</p>
<p><strong>Set to False (default):</strong><br>
Pulp will check the mediatype and simply will skip the foreign layers.<br>
Case: do not sync content which is restricted by a license without explicit acknowledgment in the Remote config<br>
From client side, it will follow the url specified in the details of the layer in the manifest.</p>
<p><strong>Set to True:</strong><br>
Pulp will download the foreign layers by following the url.<br>
Case: due to use case of registries with air gaped network, now it's possible to push to the registry foreign layers, by enabling -allow-nondistributable-artifacts daemon option. From client side, foreign layers are now pulled from the registry if possible, falling back to the URLs in the image manifest otherwise. As far as i know that's done in docker for Windows. Linux version is still ignoring foreign layers during pull.</p> Container Support - Story #4400 (CLOSED - DUPLICATE): As a user, I can download Foreign layershttps://pulp.plan.io/issues/44002019-02-08T19:08:46Zamacdona@redhat.comaustin@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_container/458":<a href="https://github.com/pulp/pulp_container/issues/458" class="external">https://github.com/pulp/pulp_container/issues/458</a></p>
<hr>
<p>A new field was added to skip foreign layers with this issue: <a href="https://pulp.plan.io/issues/4171" class="external">https://pulp.plan.io/issues/4171</a></p>
<p>The new field `include_foreign_layers` defaults to False and is not included on the Serializer, so for now it will always skip.</p>
<p>This story will require</p>
<ol>
<li>Add `include_foreign_layers` to the serializer</li>
<li>add logic to download the foreign layer, which will need to retrieve the layer with an absolute url instead of a relative url.</li>
</ol> Container Support - Story #4171 (CLOSED - CURRENTRELEASE): As a user i can configure download of ...https://pulp.plan.io/issues/41712018-11-19T10:23:15Zipanova@redhat.comipanova@redhat.com
<p>Some images like windows base images, contain artifacts whose distribution is restricted by license.<br>
When these images are pushed to a registry, restricted artifacts are skipped/not included by default.</p>
<p>These artifacts are called foreign layers and have "mediaType": "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip"</p>
<p>Remote should have a Boolean "*allow_foreign_layers*" option which would control the download of the foreign layers.</p>
<p><strong>Set to False (default):</strong><br>
Pulp will check the mediatype and simply will skip the foreign layers.<br>
Case: do not sync content which is restricted by a license without explicit acknowledgment in the Remote config<br>
From client side, it will follow the url specified in the details of the layer in the manifest.</p>
<p><strong>Set to True:</strong><br>
Pulp will download the foreign layers by following the url.<br>
Case: due to use case of registries with air gaped network, now it's possible to push to the registry foreign layers, by enabling -allow-nondistributable-artifacts daemon option. From client side, foreign layers are now pulled from the registry if possible, falling back to the URLs in the image manifest otherwise. As far as i know that's done in docker for Windows. Linux version is still ignoring foreign layers during pull.</p> Debian Support - Task #4150 (CLOSED - WONTFIX): The pool folder structure could be improvedhttps://pulp.plan.io/issues/41502018-11-13T12:22:48Zquba42
<p>When publishing Debian repositories we currently use the following 'pool' folder structure:</p>
<pre><code class="text syntaxhl" data-language="text"><repo_base>/pool/<component>/<files>
</code></pre>
<p>For components like 'main' in Debian this leads to a huge number of files in a single folder.</p>
<p>For this reason the upstream Debian repositories use (one of) the following 'pool' folder structures:</p>
<pre><code class="text syntaxhl" data-language="text"><repo_base>/pool/<component>/<first_char_of_binary_package_name>/<binary_package_name>/<files>
<repo_base>/pool/<component>/lib<fourth_char_of_binary_package_name>/lib<rest_of_binary_package_name>/<files>
</code></pre>
<p>Once the refactoring from <a href="https://github.com/pulp/pulp_deb/pull/57" class="external">https://github.com/pulp/pulp_deb/pull/57</a> is merged, it would be relatively trivial to implement the same pool folder structure Debian uses in pulp_deb.</p> Crane - Issue #2700 (CLOSED - WONTFIX): Crane crashes on start-up if "debug" config option isn't ...https://pulp.plan.io/issues/27002017-04-10T20:48:58ZIchimonji10jerebear@protonmail.com
<p>Let's say that you install crane (in my case, from the nightly RPM build) and create the following <code>/etc/crane.conf</code>:</p>
<pre><code>[general]
data_dir: /var/lib/published/docker
endpoint: localhost:5000
</code></pre>
<p>In this case, Crane will fail to start:</p>
<pre><code>[root@fedora-24-pulp-2-13 ~]# python2 -c 'from crane.app import create_app; create_app().run()'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/crane/app.py", line 29, in create_app
config.load(app)
File "/usr/lib/python2.7/site-packages/crane/config.py", line 59, in load
read_config(app, parser)
File "/usr/lib/python2.7/site-packages/crane/config.py", line 81, in read_config
app.config['DEBUG'] = parser.getboolean(SECTION_GENERAL, KEY_DEBUG)
File "/usr/lib64/python2.7/ConfigParser.py", line 368, in getboolean
v = self.get(section, option)
File "/usr/lib64/python2.7/ConfigParser.py", line 618, in get
raise NoOptionError(option, section)
ConfigParser.NoOptionError: No option 'debug' in section: 'general'
</code></pre>
<p>This isn't expected. The documentation states that <code>debug</code> defaults to "false", meaning that the <code>debug</code> option should be optional.</p>
<p>This affects the nightly builds of Crane for Pulp 2.12 and 2.13.</p> Docker Support - Issue #294 (CLOSED - WONTFIX): Docker Plugin Logging Needs Improvementhttps://pulp.plan.io/issues/2942015-02-24T11:36:35ZSkullmanmminar@redhat.com
<p>When trying to debug problems of pulp_docker - last time it was validate_config failing on wrong naming (uppercase in chars in repo name) without specific error - it has really weak logging of errors compared to other pulp plugins - for example rpm.<br>
Would it be possible to add same logging capability to docker plugin - please compare:</p>
<pre><code>https://github.com/pulp/pulp_rpm/blob/master/plugins/pulp_rpm/plugins/distributors/yum/configuration.py
</code></pre>
<p>versus</p>
<pre><code>https://github.com/pulp/pulp_docker/blob/master/plugins/pulp_docker/plugins/distributors/configuration.py
</code></pre>