Pulp: Issues
https://pulp.plan.io/
https://pulp.plan.io/favicon.ico
2019-06-13T20:14:34Z
Pulp
Planio
Ansible Plugin - Issue #4970 (CLOSED - CURRENTRELEASE): Collection - RepositoryDistribution does ...
https://pulp.plan.io/issues/4970
2019-06-13T20:14:34Z
kersom
<p>An ansible/collection distribution does not have a url that one can consume content from Pulp easily.</p>
<pre><code class="python syntaxhl" data-language="python"><span class="p">{</span><span class="s">'_created'</span><span class="p">:</span> <span class="s">'2019-06-13T19:23:35.909675Z'</span><span class="p">,</span>
<span class="s">'_href'</span><span class="p">:</span> <span class="s">'/pulp/api/v3/distributions/ansible/ansible/fc54c057-bd10-46f9-84aa-6968def7c36e/'</span><span class="p">,</span>
<span class="s">'base_path'</span><span class="p">:</span> <span class="s">'92afef62-ab7c-458f-9199-4f8ce27447f0'</span><span class="p">,</span>
<span class="s">'base_url'</span><span class="p">:</span> <span class="s">'192.168.122.111:24816/pulp/content/92afef62-ab7c-458f-9199-4f8ce27447f0'</span><span class="p">,</span>
<span class="s">'content_guard'</span><span class="p">:</span> <span class="bp">None</span><span class="p">,</span>
<span class="s">'name'</span><span class="p">:</span> <span class="s">'75d710c1-d995-4ef1-a981-60c925b9e679'</span><span class="p">,</span>
<span class="s">'repository'</span><span class="p">:</span> <span class="s">'/pulp/api/v3/repositories/e7e09c87-6d3c-4514-afc4-a1b6ee4ea176/'</span><span class="p">,</span>
<span class="s">'repository_version'</span><span class="p">:</span> <span class="bp">None</span><span class="p">}</span>
</code></pre>
<p>See: <a href="https://pulp-ansible.readthedocs.io/en/latest/workflows/mazer-client.html#install-a-collection-hosted-by-pulp-using-mazer" class="external">https://pulp-ansible.readthedocs.io/en/latest/workflows/mazer-client.html#install-a-collection-hosted-by-pulp-using-mazer</a></p>
<pre><code>url: http://localhost:24817/pulp_ansible/galaxy/dev
This is assuming you have the Collection content exposed at a Distribution created with base_path=dev (as in the example above).
</code></pre>
<p>Extra steps required in order to build the url to consume content using mazer.</p>
Ansible Plugin - Issue #4939 (CLOSED - CURRENTRELEASE): Docs - Collections upload workflows is us...
https://pulp.plan.io/issues/4939
2019-06-07T20:16:47Z
kersom
<p>Documentation about Collections upload workflows is using role endpoints.</p>
<p>API Docs: <a href="https://pulp-ansible.readthedocs.io/en/latest/restapi.html#operation/content_ansible_collections_create" class="external">https://pulp-ansible.readthedocs.io/en/latest/restapi.html#operation/content_ansible_collections_create</a></p>
<p>Collections workflows: <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>
<p><img src="https://pulp.plan.io/attachments/download/518586/Selection_021.png" alt=""></p>
Ansible Plugin - Issue #4920 (CLOSED - CURRENTRELEASE): Collection - Repository versions not bein...
https://pulp.plan.io/issues/4920
2019-06-05T15:50:15Z
kersom
<p>Attempt to sync using collection content type.</p>
<p>How to reproduce it: (Using pulp-smash shell)</p>
<p>Having `pulp-smash` installed do</p>
<pre><code>$ cd pulp_ansible
$ export PULP_SMASH_CONFIG_FILE=path/to/settings.json
$ pulp-smash shell
</code></pre>
<p>Now inside pulp-smash shell run the following script (if ipython is installed you must be able to copy-paste the whole script)</p>
<pre><code class="python syntaxhl" data-language="python">
<span class="kn">from</span> <span class="nn">pprint</span> <span class="kn">import</span> <span class="n">pprint</span>
<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">urljoin</span>
<span class="kn">from</span> <span class="nn">pulp_smash.pulp3.constants</span> <span class="kn">import</span> <span class="n">BASE_REMOTE_PATH</span>
<span class="n">ANSIBLE_COLLECTION_REMOTE_PATH</span> <span class="o">=</span> <span class="n">urljoin</span><span class="p">(</span>
<span class="n">BASE_REMOTE_PATH</span><span class="p">,</span>
<span class="s">'ansible/collection/'</span>
<span class="p">)</span>
<span class="n">ANSIBLE_GALAXY_COLLECTION_URL</span> <span class="o">=</span> <span class="s">'https://galaxy-dev.ansible.com'</span>
<span class="n">COLLECTION_WHITELIST</span> <span class="o">=</span> <span class="s">'testing.ansible_testing_content'</span>
<span class="c1"># create a repo
</span><span class="n">repo</span> <span class="o">=</span> <span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">post</span><span class="p">(</span><span class="n">pulp3</span><span class="p">.</span><span class="n">constants</span><span class="p">.</span><span class="n">REPO_PATH</span><span class="p">,</span> <span class="n">pulp3</span><span class="p">.</span><span class="n">utils</span><span class="p">.</span><span class="n">gen_repo</span><span class="p">())</span>
<span class="c1"># create collections remote
</span><span class="n">_body</span> <span class="o">=</span> <span class="n">pulp3</span><span class="p">.</span><span class="n">utils</span><span class="p">.</span><span class="n">gen_remote</span><span class="p">(</span>
<span class="n">url</span><span class="o">=</span><span class="n">ANSIBLE_GALAXY_COLLECTION_URL</span><span class="p">,</span>
<span class="n">whitelist</span><span class="o">=</span><span class="n">COLLECTION_WHITELIST</span>
<span class="p">)</span>
<span class="n">remote</span> <span class="o">=</span> <span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">post</span><span class="p">(</span><span class="n">ANSIBLE_COLLECTION_REMOTE_PATH</span><span class="p">,</span> <span class="n">_body</span><span class="p">)</span>
<span class="c1"># sync it
</span><span class="n">pulp3</span><span class="p">.</span><span class="n">utils</span><span class="p">.</span><span class="n">sync</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">remote</span><span class="p">,</span> <span class="n">repo</span><span class="p">)</span>
<span class="n">repo</span> <span class="o">=</span> <span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="n">repo</span><span class="p">[</span><span class="s">'_href'</span><span class="p">])</span>
<span class="n">pprint</span><span class="p">(</span><span class="n">repo</span><span class="p">)</span>
<span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">3</span><span class="p">):</span>
<span class="n">pulp3</span><span class="p">.</span><span class="n">utils</span><span class="p">.</span><span class="n">sync</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">remote</span><span class="p">,</span> <span class="n">repo</span><span class="p">)</span>
<span class="n">repo</span> <span class="o">=</span> <span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="n">repo</span><span class="p">[</span><span class="s">'_href'</span><span class="p">])</span>
<span class="n">pprint</span><span class="p">(</span><span class="n">repo</span><span class="p">)</span>
</code></pre>
<ol>
<li>Running the script against a pulp installation in clean slate.</li>
</ol>
<pre><code># repo after first sync
{'_created': '2019-06-05T14:03:26.895051Z',
'_href': '/pulp/api/v3/repositories/6d7283e9-a5c4-448d-a942-87ff53b9afd7/',
'_latest_version_href': '/pulp/api/v3/repositories/6d7283e9-a5c4-448d-a942-87ff53b9afd7/versions/1/',
'_versions_href': '/pulp/api/v3/repositories/6d7283e9-a5c4-448d-a942-87ff53b9afd7/versions/',
'description': None,
'name': '220aef27-2754-4d2d-b898-4c66ecd268bb'}
# repo after successive syncs
{'_created': '2019-06-05T14:03:26.895051Z',
'_href': '/pulp/api/v3/repositories/6d7283e9-a5c4-448d-a942-87ff53b9afd7/',
'_latest_version_href': '/pulp/api/v3/repositories/6d7283e9-a5c4-448d-a942-87ff53b9afd7/versions/1/',
'_versions_href': '/pulp/api/v3/repositories/6d7283e9-a5c4-448d-a942-87ff53b9afd7/versions/',
'description': None,
'name': '220aef27-2754-4d2d-b898-4c66ecd268bb'}
</code></pre>
<p>Even after multiple syncs the ``_latest_version_href`` points to the first repo version.</p>
<p>Run the script again after the first run.</p>
<pre><code># repo after first sync
{'_created': '2019-06-05T14:06:15.539106Z',
'_href': '/pulp/api/v3/repositories/0c5acf8d-720a-444b-ba3a-939da10fdbfa/',
'_latest_version_href': None,
'_versions_href': '/pulp/api/v3/repositories/0c5acf8d-720a-444b-ba3a-939da10fdbfa/versions/',
'description': None,
'name': '5e9e4cf4-39e6-400d-8a2f-ae3ab9059f07'}
# repo after successive syncs
{'_created': '2019-06-05T14:06:15.539106Z',
'_href': '/pulp/api/v3/repositories/0c5acf8d-720a-444b-ba3a-939da10fdbfa/',
'_latest_version_href': None,
'_versions_href': '/pulp/api/v3/repositories/0c5acf8d-720a-444b-ba3a-939da10fdbfa/versions/',
'description': None,
'name': '5e9e4cf4-39e6-400d-8a2f-ae3ab9059f
</code></pre>
<p>_latest_version_href is set to None in both cases.</p>
<p>Tested against source installation from June04.</p>
<pre><code>pulp) [root@localhost ~]# pip list | grep pulp
pulp-ansible 0.2.0b1
pulp-certguard 0.1.0rc1
pulp-docker 4.0.0b4
pulp-file 0.1.0b1
pulp-rpm 3.0.0b3
pulpcore 3.0.0rc2
pulpcore-plugin 0.1.0rc2
</code></pre>
<p>selinux</p>
<pre><code>(pulp) [root@localhost ~]# getenforce
Permissive
</code></pre>
Ansible Plugin - Issue #4910 (CLOSED - CURRENTRELEASE): AnsibleDistribution allows setting repo a...
https://pulp.plan.io/issues/4910
2019-06-04T14:40:38Z
rochacbruno
<p>As stated in <a href="https://pulp.plan.io/issues/4846" class="external">https://pulp.plan.io/issues/4846</a></p>
<pre><code>
4. Update the AnsibleDistribution to set both 'repository' and 'repository_version' and verify it rejects it. These options cannot be used together
</code></pre>
<p>It is true for a POST request, however when using a PUT to update existing distribution it allows both fields to exist together.</p>
<a name="How-to-reproduce-it-Using-pulp-smash-shell"></a>
<h3 >How to reproduce it: (Using pulp-smash shell)<a href="#How-to-reproduce-it-Using-pulp-smash-shell" class="wiki-anchor">¶</a></h3>
<p>Having `pulp-smash` installed do</p>
<pre><code class="text syntaxhl" data-language="text">$ cd pulp_ansible
$ export PULP_SMASH_CONFIG_FILE=path/to/settings.json
$ pulp-smash shell
</code></pre>
<p>Now inside pulp-smash shell run the following script (if ipython is installed you must be able to copy-paste the whole script)</p>
<pre><code class="python syntaxhl" data-language="python"><span class="kn">from</span> <span class="nn">pulp_ansible.tests.functional</span> <span class="kn">import</span> <span class="n">constants</span> <span class="k">as</span> <span class="n">ct</span>
<span class="c1"># create a repo
</span><span class="n">repo</span> <span class="o">=</span> <span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">post</span><span class="p">(</span><span class="n">pulp3</span><span class="p">.</span><span class="n">constants</span><span class="p">.</span><span class="n">REPO_PATH</span><span class="p">,</span> <span class="n">pulp3</span><span class="p">.</span><span class="n">utils</span><span class="p">.</span><span class="n">gen_repo</span><span class="p">())</span>
<span class="c1"># create ansible galaxy role remote
</span><span class="n">_url</span> <span class="o">=</span> <span class="s">'https://galaxy.ansible.com/api/v1/roles/?namespace__name=elastic'</span>
<span class="n">_body</span> <span class="o">=</span> <span class="n">pulp3</span><span class="p">.</span><span class="n">utils</span><span class="p">.</span><span class="n">gen_remote</span><span class="p">(</span><span class="n">url</span><span class="o">=</span><span class="n">_url</span><span class="p">)</span>
<span class="n">remote</span> <span class="o">=</span> <span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">post</span><span class="p">(</span><span class="n">ct</span><span class="p">.</span><span class="n">ANSIBLE_REMOTE_PATH</span><span class="p">,</span> <span class="n">_body</span><span class="p">)</span>
<span class="c1"># sync it
</span><span class="n">pulp3</span><span class="p">.</span><span class="n">utils</span><span class="p">.</span><span class="n">sync</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="n">remote</span><span class="p">,</span> <span class="n">repo</span><span class="p">)</span>
<span class="n">repo</span> <span class="o">=</span> <span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="n">repo</span><span class="p">[</span><span class="s">'_href'</span><span class="p">])</span>
<span class="c1"># create ansible distribution
</span><span class="n">_body</span> <span class="o">=</span> <span class="n">pulp3</span><span class="p">.</span><span class="n">utils</span><span class="p">.</span><span class="n">gen_distribution</span><span class="p">(</span><span class="n">repository</span><span class="o">=</span><span class="n">repo</span><span class="p">[</span><span class="s">'_href'</span><span class="p">])</span>
<span class="n">dist</span> <span class="o">=</span> <span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">post</span><span class="p">(</span><span class="n">ct</span><span class="p">.</span><span class="n">ANSIBLE_DISTRIBUTION_PATH</span><span class="p">,</span> <span class="n">_body</span><span class="p">)</span>
<span class="c1"># Assert distribution has repository but not repository_version
</span><span class="k">assert</span> <span class="n">dist</span><span class="p">[</span><span class="s">'repository'</span><span class="p">]</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span>
<span class="k">assert</span> <span class="n">dist</span><span class="p">[</span><span class="s">'repository_version'</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span>
<span class="c1"># Patch dist removing repository and setting repository version
</span><span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">patch</span><span class="p">(</span><span class="n">dist</span><span class="p">[</span><span class="s">'_href'</span><span class="p">],</span> <span class="p">{</span><span class="s">'repository'</span><span class="p">:</span> <span class="bp">None</span><span class="p">})</span>
<span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">patch</span><span class="p">(</span><span class="n">dist</span><span class="p">[</span><span class="s">'_href'</span><span class="p">],</span> <span class="p">{</span><span class="s">'repository_version'</span><span class="p">:</span> <span class="n">repo</span><span class="p">[</span><span class="s">'_latest_version_href'</span><span class="p">]})</span>
<span class="c1"># re-read the dist
</span><span class="n">dist</span> <span class="o">=</span> <span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="n">dist</span><span class="p">[</span><span class="s">'_href'</span><span class="p">])</span>
<span class="c1"># Assert distribution now has repository_version but not repository
</span><span class="k">assert</span> <span class="n">dist</span><span class="p">[</span><span class="s">'repository'</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span>
<span class="k">assert</span> <span class="n">dist</span><span class="p">[</span><span class="s">'repository_version'</span><span class="p">]</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span>
<span class="c1"># Now We try to use a `PUT` to replace the whole distribution
# the new object will have only repository but not repository_version
</span><span class="n">new_dist</span> <span class="o">=</span> <span class="n">dist</span><span class="p">.</span><span class="n">copy</span><span class="p">()</span>
<span class="n">new_dist</span><span class="p">[</span><span class="s">'repository'</span><span class="p">]</span> <span class="o">=</span> <span class="n">repo</span><span class="p">[</span><span class="s">'_href'</span><span class="p">]</span>
<span class="k">del</span> <span class="n">new_dist</span><span class="p">[</span><span class="s">'repository_version'</span><span class="p">]</span>
<span class="k">assert</span> <span class="s">'repository_version'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">new_dist</span>
<span class="k">assert</span> <span class="n">new_dist</span><span class="p">[</span><span class="s">'repository'</span><span class="p">]</span> <span class="o">==</span> <span class="n">repo</span><span class="p">[</span><span class="s">'_href'</span><span class="p">]</span>
<span class="c1"># Perform the PUT replacing the whole distribution
</span><span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">put</span><span class="p">(</span><span class="n">dist</span><span class="p">[</span><span class="s">'_href'</span><span class="p">],</span> <span class="n">new_dist</span><span class="p">)</span>
<span class="c1"># Re-read the distribution
</span><span class="n">dist</span> <span class="o">=</span> <span class="n">api</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="n">dist</span><span class="p">[</span><span class="s">'_href'</span><span class="p">])</span>
<span class="c1"># Notice that the distribution now has repository and repository_version together
</span>
<span class="k">assert</span> <span class="n">dist</span><span class="p">[</span><span class="s">'repository'</span><span class="p">]</span> <span class="o">==</span> <span class="n">repo</span><span class="p">[</span><span class="s">'_href'</span><span class="p">]</span> <span class="c1"># passes
</span><span class="k">assert</span> <span class="n">dist</span><span class="p">[</span><span class="s">'repository_version'</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span> <span class="c1"># fails
</span></code></pre>
<a name="Actual-results"></a>
<h3 >Actual results:<a href="#Actual-results" class="wiki-anchor">¶</a></h3>
<pre><code class="python syntaxhl" data-language="python"><span class="o">---------------------------------------------------------------------------</span>
<span class="nb">AssertionError</span> <span class="n">Traceback</span> <span class="p">(</span><span class="n">most</span> <span class="n">recent</span> <span class="n">call</span> <span class="n">last</span><span class="p">)</span>
<span class="o">~/</span><span class="n">Projects</span><span class="o">/</span><span class="n">pulp</span><span class="o">/</span><span class="n">pulp</span><span class="o">-</span><span class="n">smash</span><span class="o">/</span><span class="n">pulp_smash</span><span class="o">/</span><span class="n">pulp_smash_cli</span><span class="p">.</span><span class="n">py</span> <span class="ow">in</span> <span class="o"><</span><span class="n">module</span><span class="o">></span>
<span class="mi">51</span>
<span class="mi">52</span> <span class="k">assert</span> <span class="n">dist</span><span class="p">[</span><span class="s">'repository'</span><span class="p">]</span> <span class="o">==</span> <span class="n">repo</span><span class="p">[</span><span class="s">'_href'</span><span class="p">]</span> <span class="c1"># passes
</span><span class="o">---></span> <span class="mi">53</span> <span class="k">assert</span> <span class="n">dist</span><span class="p">[</span><span class="s">'repository_version'</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span> <span class="c1"># fails
</span>
<span class="nb">AssertionError</span><span class="p">:</span>
</code></pre>
<a name="Expected-results"></a>
<h3 >Expected results:<a href="#Expected-results" class="wiki-anchor">¶</a></h3>
<p>No error since the PUT replaced the whole object.</p>
Ansible Plugin - Issue #4820 (CLOSED - CURRENTRELEASE): Update pulp_ansible to use RepositoryVers...
https://pulp.plan.io/issues/4820
2019-05-15T12:17:04Z
daviddavis
<p>Distributions have been replaced by PublicationDistributions and RepositoryVersionDistributions. We need to update pulp_ansible to use the latter.</p>
Ansible Plugin - Issue #4576 (CLOSED - CURRENTRELEASE): Client Instructions to Fetch from pulp_an...
https://pulp.plan.io/issues/4576
2019-03-25T20:59:30Z
bmbouter
bmbouter@redhat.com
<p>These are the instruction here: <a href="https://github.com/pulp/pulp_ansible#install-the-ansible-kubernetes-role" class="external">https://github.com/pulp/pulp_ansible#install-the-ansible-kubernetes-role</a></p>
<p>I tried both sets and got errors with both of them. All other instruction up until that point worked.</p>
Ansible Plugin - Issue #4155 (CLOSED - CURRENTRELEASE): TravisCI fails - ModuleNotFoundError: No ...
https://pulp.plan.io/issues/4155
2018-11-14T16:15:38Z
daviddavis
Ansible Plugin - Issue #4047 (CLOSED - CURRENTRELEASE): pulp_ansible RC1 is missing code
https://pulp.plan.io/issues/4047
2018-09-29T20:14:14Z
bmbouter
bmbouter@redhat.com
<p>I <code>pip install pulp_ansible</code> and I receive 0.1.0rc1 with:</p>
<pre><code>(pulp) [vagrant@pulp3 pulp]$ pip freeze | grep ansible
pulp-ansible==0.1.0rc1
</code></pre>
<p>When starting any Pulp process I receive a traceback:</p>
<pre><code>Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7fa4b561f9d8>
Traceback (most recent call last):
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
autoreload.raise_last_exception()
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/utils/autoreload.py", line 248, in raise_last_exception
raise _exception[1]
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/__init__.py", line 337, in execute
autoreload.check_errors(django.setup)()
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/apps/registry.py", line 120, in populate
app_config.ready()
File "/home/vagrant/devel/pulp/pulpcore/pulpcore/app/apps.py", line 74, in ready
self.import_viewsets()
File "/home/vagrant/devel/pulp/pulpcore/pulpcore/app/apps.py", line 108, in import_viewsets
self.viewsets_module = import_module(viewsets_module_name)
File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/pulp_ansible/app/viewsets.py", line 22, in <module>
from . import tasks
ImportError: cannot import name 'tasks'
</code></pre>
<p>In the 0.1.0rc1 tagged code you can see this import <a href="https://github.com/pulp/pulp_ansible/blob/0.1.0rc1/pulp_ansible/app/viewsets.py#L22" class="external">here</a> which is importing from the <a href="https://github.com/pulp/pulp_ansible/tree/0.1.0rc1/pulp_ansible/app" class="external">tasks module here</a></p>
<p>Strangely though, on the system I pip intalled 0.1.0rc1 onto I get this as my code, which is missing the 'tasks' module.</p>
<pre><code>(pulp) [vagrant@pulp3 app]$ cd ~/.virtualenvs/pulp/lib64/python3.6/site-packages/pulp_ansible/
(pulp) [vagrant@pulp3 pulp_ansible]$ tree
.
├── app
│ ├── __init__.py
│ ├── models.py
│ ├── __pycache__
│ │ ├── __init__.cpython-36.pyc
│ │ ├── models.cpython-36.pyc
│ │ ├── serializers.cpython-36.pyc
│ │ ├── urls.cpython-36.pyc
│ │ └── viewsets.cpython-36.pyc
│ ├── serializers.py
│ ├── urls.py
│ └── viewsets.py
├── __init__.py
└── __pycache__
└── __init__.cpython-36.pyc
</code></pre>
Ansible Plugin - Issue #3946 (CLOSED - CURRENTRELEASE): Syncing from Galaxy is not working
https://pulp.plan.io/issues/3946
2018-08-29T15:03:28Z
daviddavis
<p>It looks like some fields were renamed in the Galaxy API. From the Galaxy team:</p>
<blockquote>
<p>Change the namespace query referenced in your email to: "<a href="https://galaxy.ansible.com/api/v1/roles/?namespace%5C_%5C_name=ansible" class="external">https://galaxy.ansible.com/api/v1/roles/?namespace\_\_name=ansible</a>". Namespace is now an object in galaxy, so it has an id, description, name, and other attributes that you can query.</p>
</blockquote>
<blockquote>
<p>There is no longer a 'num_pages' value returned in the response object. We return the number of results as 'count', so you can do something like, "math.ceil(float(count)/float(page_size))", in Python to calc the number of pages.</p>
</blockquote>
Ansible Plugin - Issue #3898 (CLOSED - CURRENTRELEASE): Filters inherit from a Django's FilterSet...
https://pulp.plan.io/issues/3898
2018-08-02T15:13:08Z
vdusek
<p>AnsibleRoleFilter and AnsibleRoleVersionFilter inherit from Django's filterset.FilterSet class not from our BaseFilterSet. I suppose this could cause problems in generating documentation.</p>
Ansible Plugin - Issue #3818 (CLOSED - CURRENTRELEASE): The AnsibleRole as a content unit is prob...
https://pulp.plan.io/issues/3818
2018-07-05T13:33:17Z
daviddavis
<p>A couple example problems:</p>
<p>- Orphan cleanup will probably remove AnsibleRole records<br>
- Users can add AnsibleRoles (instead of AnsibleRoleVersions) to a content view</p>
<p>Make AnsibleRole not extend Content.</p>
Ansible Plugin - Issue #3792 (CLOSED - DUPLICATE): Ansible content units are missing fields in th...
https://pulp.plan.io/issues/3792
2018-06-26T18:53:24Z
daviddavis
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/681":<a href="https://github.com/pulp/pulp_ansible/issues/681" class="external">https://github.com/pulp/pulp_ansible/issues/681</a></p>
Ansible Plugin - Issue #3610 (CLOSED - DUPLICATE): 500 when publishing a repository without any v...
https://pulp.plan.io/issues/3610
2018-04-26T22:30:41Z
daviddavis
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/679":<a href="https://github.com/pulp/pulp_ansible/issues/679" class="external">https://github.com/pulp/pulp_ansible/issues/679</a></p>
<hr>
<p>Copied from pulp_file. Was able to reproduce this with an ansible publisher.</p>
<pre><code>~/3/pulp_ansible ❯ http POST http://dev.pulp3:8000/api/v3/publishers/ansible/007682b4-f522-469b-92c9-baeca276529a/publish/ repository=http://dev.pulp3:8000/api/v3/repositories/96a7048f-bda6-4ccc-8317-a8dca80defae/
</code></pre>
<pre><code>HTTP/1.0 500 Internal Server Error
</code></pre>
<pre><code>
Traceback:
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view
58. return view_func(*args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/rest_framework/viewsets.py" in view
95. return self.dispatch(request, *args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/rest_framework/views.py" in dispatch
494. response = self.handle_exception(exc)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/rest_framework/views.py" in handle_exception
454. self.raise_uncaught_exception(exc)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/rest_framework/views.py" in dispatch
491. response = handler(request, *args, **kwargs)
File "/home/vagrant/devel/pulp_file/pulp_file/app/viewsets.py" in publish
147. [repository_version.repository, publisher],
Exception Type: AttributeError at /api/v3/publishers/file/007682b4-f522-469b-92c9-baeca276529a/publish/
Exception Value: 'NoneType' object has no attribute 'repository'
</code></pre>
Ansible Plugin - Issue #3598 (CLOSED - CURRENTRELEASE): During sync, tar.gz files are being saved...
https://pulp.plan.io/issues/3598
2018-04-24T14:24:26Z
daviddavis
<p>See: <a href="https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/tasks/synchronizing.py#L36" class="external">https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/tasks/synchronizing.py#L36</a></p>
<p>And here: <a href="https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/tasks/synchronizing.py#L254" class="external">https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/tasks/synchronizing.py#L254</a></p>
Ansible Plugin - Issue #3595 (CLOSED - CURRENTRELEASE): Remove sync_mode and download_policy from...
https://pulp.plan.io/issues/3595
2018-04-23T17:49:15Z
daviddavis
<p>These fields were removed from the remotes.<br>
<a href="https://pulp.plan.io/issues/3492" class="external">https://pulp.plan.io/issues/3492</a></p>
<p>This task is to remove mentions of this from the docs.</p>