Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-10-11T14:56:13ZPulp
Planio Pulp - Task #9499 (MODIFIED): As a developer, I have azurite on dev environmenthttps://pulp.plan.io/issues/94992021-10-11T14:56:13Zfao89Pulp - Story #8702 (NEW): As a user, the example-use playbook is not cluttered with object storag...https://pulp.plan.io/issues/87022021-05-05T13:31:24Zmdepaulo@redhat.com
<p>We should move the object storage checks from the the example-use playbook to the pulp_common role to solve this.</p>
<p>It will provide a better user experience. (Making the example playbook as small as possible.)</p>
<p>It will also enforce the checks for users that do not use the example-use playbook.</p>
<p><a href="https://github.com/pulp/pulp_installer/blob/master/playbooks/example-use/playbook.yml" class="external">https://github.com/pulp/pulp_installer/blob/master/playbooks/example-use/playbook.yml</a></p>
<p><a href="https://github.com/pulp/pulp_installer/blob/master/roles/pulp_common/tasks/main.yml#L16" class="external">https://github.com/pulp/pulp_installer/blob/master/roles/pulp_common/tasks/main.yml#L16</a></p> Pulp - Story #8701 (NEW): As a pulp_installer user, I can use the full logic to add repos to the ...https://pulp.plan.io/issues/87012021-05-05T12:59:40Zmdepaulo@redhat.com
<p>As mentioned in <a class="issue tracker-1 status-11 priority-6 priority-default closed" title="Issue: pulp_installer fails to install redis due to no EPEL7 (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/7773">#7773</a> , we should refactor our logic to add repos to the system (in a robust & configurable manner) into another role like <code>pulp_repos</code>.</p>
<p>I propose the following design:</p>
<ol>
<li>This is a dependency role. pulp_common, pulp_redis, pulp_database, will all depend on it.</li>
<li>When a role like pulp_common depends on it, it passes variables like <code>__pulp_repos_epel: true</code> to denote which repos the role needs. It passes variables via roles/pulp_common/meta/main.yml : <code>dependencies:</code>
</li>
<li>If a user wants to disable the logic to add the repo (if they added it manually), they'll pass a variable like <code>pulp_repos_epel: false</code> to disable it.</li>
<li>Existing variables for configuring how we add the repos to the system, like <code>epel_release_packages</code>, should still used.</li>
</ol>
<p>This logic is found in:</p>
<ul>
<li>roles/pulp_common/tasks/ambiguously-named-repo.yml</li>
<li>roles/pulp_common/tasks/repos.yml</li>
</ul> Pulp - Task #7642 (NEW): Update pulp_installer's list of supported Fedora releaseshttps://pulp.plan.io/issues/76422020-10-01T18:18:58Zmdepaulo@redhat.com
<p>Fedora 32 is supported; pulplift CI tests it. Fedora 30 will probably be dropped in the task that blocks this.</p>
<p>Note that this list is in roles/*/meta/main.yml</p> Pulp - Task #7638 (NEW): Fix ansible_python_interpreter issues in pulp_installerhttps://pulp.plan.io/issues/76382020-10-01T18:03:57Zmdepaulo@redhat.com
<p>There are 3 minor / potential issues pertaining to this.</p> Pulp - Task #6798 (NEW): Document the new guidelines for plugin installation logichttps://pulp.plan.io/issues/67982020-05-21T18:47:54Zmdepaulo@redhat.com
<p>There are 3 places they could be:</p>
<ol>
<li>A role in a separate git repo and on galaxy.</li>
<li>A separate role in the pulp_installer repo (pulp_rpm will be this.)</li>
<li>Conditional logic within the pulp_installer's other roles.</li>
</ol> Pulp - Story #6797 (ASSIGNED): [epic] As a user, I can consume all the plugin prereq roles in the...https://pulp.plan.io/issues/67972020-05-21T18:45:22Zmdepaulo@redhat.com
<p>pulp_rpm_prerequisites exists because the installer has had a plugin neutral policy.</p>
<p>This policy was for very long misunderstood: It's not about avoiding favoritism to any plugins, it's about not tying the installer (which is tied to pulpcore releases) to plugin releases. So that say pulpcore 3.3 logic would be in pulp_installer 3.3 release, and so that pulp_cardboardbox 0.7 logic would be in the pulp_cardboardbox_prerequisites 0.7 role.</p>
<p>The team now agrees that this policy is counter-productive because:</p>
<ol>
<li>Having a role in a separate repo (not part of the pulp_installer collection) is extra work for developers, and for users.</li>
<li>The only plugin that currently needs a prereq role, pulp_rpm, has version numbers and releases that correspond to pulpcore releases. pulp_rpm 3.3.z needs pulpcore 3.3.z, etc. So the pulp_rpm specific installation logic can be safely bundled in pulp_installer 99% of the time.</li>
</ol> OSTree Support - Task #4642 (MODIFIED): Delete the 'master' branch and make 2-master to main branchhttps://pulp.plan.io/issues/46422019-04-05T13:40:27Zbmbouterbmbouter@redhat.com
<a name="Problem"></a>
<h2 >Problem<a href="#Problem" class="wiki-anchor">¶</a></h2>
<p>The OStree repository is confusing users because the master branch shows 'this is the Pulp3 plugin for OSTree....". This is really just a stub and the plugin is in no way functional.</p>
<a name="Solution"></a>
<h2 >Solution<a href="#Solution" class="wiki-anchor">¶</a></h2>
<p>Delete the 'master' branch and make the default branch '2-master'. This is similar to what was done to the pulp/pulp repository which is also a Pulp2 only repository.</p> Puppet Support - Task #4641 (MODIFIED): Delete the 'master' branch and make 2-master to main branchhttps://pulp.plan.io/issues/46412019-04-05T13:40:24Zbmbouterbmbouter@redhat.com
<a name="Problem"></a>
<h2 >Problem<a href="#Problem" class="wiki-anchor">¶</a></h2>
<p>The Puppet repository is confusing users because the master branch shows 'this is the Pulp3 plugin for Puppet....". This is really just a stub and the plugin is in no way functional.</p>
<a name="Solution"></a>
<h2 >Solution<a href="#Solution" class="wiki-anchor">¶</a></h2>
<p>Delete the 'master' branch and make the default branch '2-master'. This is similar to what was done to the pulp/pulp repository which is also a Pulp2 only repository.</p> Python Support - Story #4396 (MODIFIED): Add one-shot upload supporthttps://pulp.plan.io/issues/43962019-02-07T16:42:44Zdalleydalley@redhat.com
<p>The model viewset is not really intended to be used the way we're using it. Instead of allowing a "create" action on /content/python/python/, we should instead create a separate API endpoint for uploading new content, and get rid of what we currently have.</p>
<p>Example:<br>
<a href="https://github.com/pulp/pulp_rpm/pull/1246" class="external">https://github.com/pulp/pulp_rpm/pull/1246</a></p> Python Support - Story #3626 (MODIFIED): Python Viewset Filtershttps://pulp.plan.io/issues/36262018-04-29T18:10:09Zdalleydalley@redhat.com
<p>PythonPackageContent<br>
------------------------------------</p>
<ul>
<li>Inherit from the base Content (currently just "type" which isn't very helpful)</li>
<li>name (exact, in)</li>
<li>author (exact, in)</li>
<li>packagetype (exact, in)</li>
<li>filename (exact, in)</li>
</ul>
<p>PythonRemote<br>
----------------------</p>
<ul>
<li>Inherit from the base Remote - currently (name, last_updated)</li>
<li>Projects (exact, in) - see which remotes are set to download certain projects</li>
</ul>
<p>PythonPublisher<br>
-------------------------</p>
<ul>
<li>No extra filters, just the ones on base Publisher - currently (name, last_updated)</li>
</ul> Python Support - Story #3624 (MODIFIED): As a user, I can as for only a reduced set of fields for...https://pulp.plan.io/issues/36242018-04-27T21:10:24Zdalleydalley@redhat.com
<p>When retreiving a list of PythonPackageContent from /content/python/packages/, the user should not be subjected to the full details of every content unit.</p>
<p>Which fields should we show? I propose</p>
<ul>
<li>filename</li>
<li>name</li>
<li>packagetype</li>
<li>version</li>
</ul>
<p>In addition to the fields</p>
<ul>
<li>_href</li>
<li>created</li>
<li>notes</li>
<li>artifacts</li>
</ul>
<p>Which get pulled in by the base Content serializer which we inherit from.</p>
<p>This looks like the following</p>
<pre><code>{
"_href": "http://localhost:8000/pulp/api/v3/content/python/packages/0d2f11f5-a8f6-44c9-9053-d1f3047adf3c/",
"artifacts": {
"shelf-reader-0.1.tar.gz": "http://localhost:8000/pulp/api/v3/artifacts/e6d61484-0d16-4296-9f80-5f6559dcbc2f/"
},
"created": "2018-04-27T21:27:06.925524Z",
"filename": "shelf-reader-0.1.tar.gz",
"name": "shelf-reader",
"notes": {},
"packagetype": "sdist",
"type": "python",
"version": "0.1"
}
</code></pre> Python Support - Refactor #3597 (MODIFIED): Use a serializer to validate sync and publish parametershttps://pulp.plan.io/issues/35972018-04-24T13:54:18Zamacdona@redhat.comaustin@redhat.com
<p>To be included in the schema (autodoc and bindings), we need to create a serializer for sync and publish</p>
<p><a href="https://github.com/pulp/pulp_file/blob/master/pulp_file/app/viewsets.py#L32-L52" class="external">https://github.com/pulp/pulp_file/blob/master/pulp_file/app/viewsets.py#L32-L52</a></p>
<p>This serializer should use HyperlinkedRelatedFields to validate that the repository and repository version exist.</p> Packaging - Task #3533 (MODIFIED): Prepare for pypi pulp3 beta releasehttps://pulp.plan.io/issues/35332018-03-28T17:43:28Zbizhangbizhang@redhat.com
<p>There's some pypi packaging related work necessary for the pulp3 beta release. There's bits and pieces of this work filed under multiple redmine issues, but they all should be done before beta. This is the master issue to do those and some other necessary updates in order to release the beta.</p>
<a name="Dependecies"></a>
<h2 >Dependecies<a href="#Dependecies" class="wiki-anchor">¶</a></h2>
<ul>
<li>We should switch our psycopg2 dependency to psycopg2-binary. There is a task for that filed here: <a href="https://pulp.plan.io/issues/3375" class="external">https://pulp.plan.io/issues/3375</a>
</li>
</ul>
<ul>
<li>Django should be >=1.11<br>
There is also an issue filed that we should revisit before pulp3 rc is released. <a href="https://pulp.plan.io/issues/2896" class="external">https://pulp.plan.io/issues/2896</a>
</li>
</ul>
<ul>
<li>celery should be >=4</li>
</ul>
<a name="Versions"></a>
<h2 >Versions<a href="#Versions" class="wiki-anchor">¶</a></h2>
<p>versions for pulpcore[0] and pulpcore-common [1] and pulp_python should be set to 3.0.0b1<br>
versions for pulpcore-plugin [2] , pulp_file, and should be set to 0.0.0b1</p>
<p>[0] <a href="https://github.com/pulp/pulp/blob/3.0-dev/pulpcore/setup.py" class="external">https://github.com/pulp/pulp/blob/3.0-dev/pulpcore/setup.py</a><br>
[1] <a href="https://github.com/pulp/pulp/blob/3.0-dev/common/setup.py" class="external">https://github.com/pulp/pulp/blob/3.0-dev/common/setup.py</a><br>
[2] <a href="https://github.com/pulp/pulp/blob/3.0-dev/plugin/setup.py" class="external">https://github.com/pulp/pulp/blob/3.0-dev/plugin/setup.py</a><br>
[3] <a href="https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies" class="external">https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies</a></p> Python Support - Story #3197 (MODIFIED): As a User, I can create a PythonPackageContent from an A...https://pulp.plan.io/issues/31972017-12-13T20:12:38Zamacdona@redhat.comaustin@redhat.com
<p>The upload workflow in Pulp 3 is:</p>
<ol>
<li>Use pulpcore REST API to upload bits and create an Artifact</li>
<li>POST to a Detail ContentUnit (api/v3/content/python/) to create a PythonPackageContent from a specified Artifact</li>
</ol>
<p>This story is to make sure that (2) works. (1) Does not require anything from the plugin.</p>
<p>In Pulp 2, we create Uploaded Python ContentUnits here [0] by using twine, but we should move away from doing it that way. [1] We only use a small part of twine (which isn't really supposed to be used as a library), so we will need to implement that functionality. [2]</p>
<p>Extra credit: Put at least 1 of each upload type in <a href="https://github.com/PulpQE/pulp-fixtures" class="external">https://github.com/PulpQE/pulp-fixtures</a> (half extra credit, provide a link to 1 of each here)</p>
<p>[0]: <a href="https://github.com/pulp/pulp_python/blob/master/plugins/pulp_python/plugins/models.py#L125-L150" class="external">https://github.com/pulp/pulp_python/blob/master/plugins/pulp_python/plugins/models.py#L125-L150</a><br>
[1]: <a href="https://pulp.plan.io/issues/3157" class="external">https://pulp.plan.io/issues/3157</a><br>
[2]: <a href="https://github.com/pypa/twine/blob/3efd3b5d2715f537096b95cb2e6853e02990b059/twine/package.py" class="external">https://github.com/pypa/twine/blob/3efd3b5d2715f537096b95cb2e6853e02990b059/twine/package.py</a></p>