Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-10-05T13:56:02ZPulp
Planio Ansible Plugin - Task #9489 (MODIFIED): Make use of shared_resources in sync and copy jobshttps://pulp.plan.io/issues/94892021-10-05T13:56:02ZmdellwegAnsible Plugin - Story #9346 (MODIFIED): As user, I can sync collections using a GitRemotehttps://pulp.plan.io/issues/93462021-09-03T18:28:51ZdaviddavisAnsible Plugin - Story #9345 (MODIFIED): As a user, I can create a GitRemote to sync content from...https://pulp.plan.io/issues/93452021-09-03T18:28:29ZdaviddavisAnsible Plugin - Task #9152 (CLOSED - COMPLETE): Comply with orphan clean changes made in pulpcor...https://pulp.plan.io/issues/91522021-07-27T14:16:40Zdaviddavis
<p><a href="https://github.com/pulp/community/discussions/59" class="external">https://github.com/pulp/community/discussions/59</a></p> Ansible Plugin - Task #8808 (CLOSED - COMPLETE): Release 0.8.0https://pulp.plan.io/issues/88082021-05-24T17:54:00Zfao89Ansible Plugin - Task #8675 (CLOSED - COMPLETE): Release 0.7.3https://pulp.plan.io/issues/86752021-04-30T15:37:19Zfao89Ansible Plugin - Task #8674 (CLOSED - COMPLETE): Release 0.5.9https://pulp.plan.io/issues/86742021-04-30T15:36:35Zfao89Ansible Plugin - Story #8205 (MODIFIED): Add AnsibleCollectionDeprecated resource to export/importhttps://pulp.plan.io/issues/82052021-02-03T23:48:12Zgerrod
<a name="The-Two-Related-Problem"></a>
<h2 >The Two Related Problem<a href="#The-Two-Related-Problem" class="wiki-anchor">¶</a></h2>
<ol>
<li>The 'deprecated' data is mutable.</li>
<li>The 'deprecated' data is not correctly included in import/export data</li>
</ol>
<a name="Solution"></a>
<h2 >Solution<a href="#Solution" class="wiki-anchor">¶</a></h2>
<p>From a high level, make the <a href="https://github.com/pulp/pulp_ansible/blob/4b3d63f14dd85b9bfd689074defb99a23ee72f31/pulp_ansible/app/models.py#L281" class="external"><code>AnsibleCollectionDeprecated</code></a> content.</p>
<a name="Modeling"></a>
<h3 >Modeling<a href="#Modeling" class="wiki-anchor">¶</a></h3>
<p>Here are the rough steps involved:</p>
<ol>
<li>switch <a href="https://github.com/pulp/pulp_ansible/blob/4b3d63f14dd85b9bfd689074defb99a23ee72f31/pulp_ansible/app/models.py#L281" class="external">the existing AnsibleCollectionDeprecated</a> to inherit from Content</li>
<li>Remove the <a href="https://github.com/pulp/pulp_ansible/blob/4b3d63f14dd85b9bfd689074defb99a23ee72f31/pulp_ansible/app/models.py#L286-L288" class="external"><code>repository_version</code> FK</a> entirely.</li>
<li>Change the <a href="https://github.com/pulp/pulp_ansible/blob/4b3d63f14dd85b9bfd689074defb99a23ee72f31/pulp_ansible/app/models.py#L289" class="external"><code>collection</code></a> field to be a string with the collection name instead</li>
<li>Add a string field called namespace.</li>
<li>The uniqueness constraint should be the tuple "namespace", "collection_name"</li>
</ol>
<a name="Sync-Implementation"></a>
<h3 >Sync Implementation<a href="#Sync-Implementation" class="wiki-anchor">¶</a></h3>
<p>The sync code will continue to parse the deprecated data in FirstStage in the same way, but instead of <a href="https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/tasks/collections.py#L140-L153" class="external">saving/managing them in first-stage</a>, have the stages pipeline handle it all by making <code>AnsibleCollectionDeprecated</code> in-memory and associating with a declarative content object.</p>
<a name="The-Galaxy-API-viewset"></a>
<h3 >The Galaxy API viewset<a href="#The-Galaxy-API-viewset" class="wiki-anchor">¶</a></h3>
<p><a href="https://github.com/pulp/pulp_ansible/blob/8cd963d769e5b25f957d241571e21c371264a8f4/pulp_ansible/app/galaxy/v3/views.py#L172" class="external">Port this portion</a> to look for the objects in the set of content of the RepositoryVersion.</p>
<a name="The-viewset-for-setunset-deprecation-handling"></a>
<h3 >The viewset for set/unset deprecation handling<a href="#The-viewset-for-setunset-deprecation-handling" class="wiki-anchor">¶</a></h3>
<p><a href="https://github.com/pulp/pulp_ansible/blob/8cd963d769e5b25f957d241571e21c371264a8f4/pulp_ansible/app/galaxy/v3/views.py#L298-L306" class="external">Port this portion</a> to generate a task that creates a RepositoryVersion</p>
<a name="Additional-work-needed-to-get-this-working-with-ImportExport"></a>
<h3 >Additional work needed to get this working with Import/Export<a href="#Additional-work-needed-to-get-this-working-with-ImportExport" class="wiki-anchor">¶</a></h3>
<p>Add a model to model resources: <a href="https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/modelresource.py" class="external">https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/modelresource.py</a></p> Ansible Plugin - Story #8194 (MODIFIED): Syncing will exclude collection versions found at `/excl...https://pulp.plan.io/issues/81942021-02-02T16:28:54Zgerrod
<p>Add a field to CollectionRemote caled <code>excludes</code> which, when set, will cause the sync to exclude those collections and namespaces during sync. This will take the same format as a regular requirements file.</p> Ansible Plugin - Test #5333 (CLOSED - COMPLETE): As a user, I can sync collections from another P...https://pulp.plan.io/issues/53332019-08-22T17:28:11Zdaviddavis
<p>In lieu of setting up two Pulp servers, I would just use two repositories.</p>
<p>Test steps:</p>
<p>1. Create a collections repo, remote, sync and publish<br>
2. Create a second repository and a remote which points to the distribution in step 1<br>
3. Sync the second repo and confirm it has the same contents as the first.</p> Ansible Plugin - Test #5262 (CLOSED - COMPLETE): Test - Uploading same collection twice causes 50...https://pulp.plan.io/issues/52622019-08-13T17:53:41Zkersom
<p>To reproduce:</p>
<p>1. build a collection to upload. I use the default one from mazer "here":<br>
2. Upload it once. I use: <code>http --form POST :24817/ansible/collections/ file@greetings_namespace-hello-11.11.11.tar.gz</code>. Observe that works.<br>
3. Upload it a second time and observe that you get a 500 error</p> Ansible Plugin - Test #5256 (CLOSED - COMPLETE): Test - Ansible collection remote doesn't handle ...https://pulp.plan.io/issues/52562019-08-13T14:42:32Zkersom
<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> Ansible Plugin - Test #5000 (CLOSED - COMPLETE): Collection - Test that sucessive syncs do update...https://pulp.plan.io/issues/50002019-06-20T17:52:26Zkersom
<p>1 - Create multiple syncs using the same remote.<br>
2 - Assure that for every sync a new repo version was created.</p> Ansible Plugin - Test #4915 (CLOSED - COMPLETE): Test install a collection hosted by Pulp using m...https://pulp.plan.io/issues/49152019-06-04T19:54:58Zkersom
<p>Consume content hosted by Pulp using mazer.</p>
<p>Evaluate best way to add mazer as part of the test process.</p>
<p>mazer: <a href="https://github.com/ansible/mazer" class="external">https://github.com/ansible/mazer</a></p>
<p>See: <a href="https://pulp-ansible.readthedocs.io/en/latest/workflows/index.html#collection-workflows" class="external">https://pulp-ansible.readthedocs.io/en/latest/workflows/index.html#collection-workflows</a></p> Ansible Plugin - Test #4913 (CLOSED - COMPLETE): Test sync collections from Galaxyhttps://pulp.plan.io/issues/49132019-06-04T19:49:43Zkersom
<p>1 - Create a repository<br>
2 - Create a collection remote<br>
3 - Sync repository with collection remote</p>