Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-09-03T18:20:53ZPulp
Planio Ansible Plugin - Story #9344 (CLOSED - DUPLICATE): [EPIC] As a user, I can sync content from githttps://pulp.plan.io/issues/93442021-09-03T18:20:53Zdaviddavis
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/742":<a href="https://github.com/pulp/pulp_ansible/issues/742" class="external">https://github.com/pulp/pulp_ansible/issues/742</a></p> Ansible Plugin - Issue #8276 (CLOSED - CURRENTRELEASE): 0.7.0 V3 collection list endpoint errors ...https://pulp.plan.io/issues/82762021-02-18T12:56:55Zbmbouterbmbouter@redhat.com
<ol>
<li>Create a repository and distribution</li>
<li>Try to GET the collection list endpoint, e.g. <code>/pulp_ansible/galaxy/foo/api/v3/collections/</code>
</li>
</ol>
<pre><code>pulp [d8f15dfe9e274d98a60bcdac824eb502]: django.request:ERROR: Internal Server Error: /pulp_ansible/galaxy/foo/api/v3/collections/
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/rest_framework/viewsets.py", line 125, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 509, in dispatch
response = self.handle_exception(exc)
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 469, in handle_exception
self.raise_uncaught_exception(exc)
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
raise exc
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 506, in dispatch
response = handler(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/rest_framework/mixins.py", line 42, in list
serializer = self.get_serializer(page, many=True)
File "/usr/local/lib/python3.6/site-packages/rest_framework/generics.py", line 109, in get_serializer
kwargs.setdefault('context', self.get_serializer_context())
File "/usr/local/lib/python3.6/site-packages/pulp_ansible/app/galaxy/v3/views.py", line 275, in get_serializer_context
super_data["deprecated_collections"] = self.deprecated_collections_context
AttributeError: 'CollectionViewSet' object has no attribute 'deprecated_collections_context'
</code></pre> Ansible Plugin - Issue #8238 (CLOSED - NOTABUG): 0030_collectionversion_requires_ansible.py migra...https://pulp.plan.io/issues/82382021-02-10T17:21:38Zalikins
<p>After updating galaxy_ng to use git versions of pulpcore, pulp_ansible, pulp_container I:</p>
<ol>
<li>Ran <code>./compose run api manage handle-artifact-checksums</code>. That seemed to run without errors.</li>
<li>
<code>./compose up</code> which brought up the galaxy_ng servers but showed needed migrations.</li>
<li>In another term, ran <code>./compose run api manage migrate</code>
</li>
</ol>
<p>Got the Error:</p>
<pre><code>Operations to perform:
Apply all migrations: admin, ansible, auth, authtoken, container, contenttypes, core, galaxy, guardian, sessions
Running migrations:
Applying ansible.0027_tag_length... OK
Applying ansible.0028_collectionversion_namespace_length... OK
Applying ansible.0029_manifest_and_files_json_fields... OK
Applying ansible.0030_collectionversion_requires_ansible...Traceback (most recent call last):
File "/venv/bin/django-admin", line 8, in <module>
sys.exit(execute_from_command_line())
File "/venv/lib64/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/venv/lib64/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/venv/lib64/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
self.execute(*args, **cmd_options)
File "/venv/lib64/python3.6/site-packages/django/core/management/base.py", line 364, in execute
output = self.handle(*args, **options)
File "/venv/lib64/python3.6/site-packages/django/core/management/base.py", line 83, in wrapped
res = handle_func(*args, **kwargs)
File "/venv/lib64/python3.6/site-packages/django/core/management/commands/migrate.py", line 234, in handle
fake_initial=fake_initial,
File "/venv/lib64/python3.6/site-packages/django/db/migrations/executor.py", line 117, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "/venv/lib64/python3.6/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "/venv/lib64/python3.6/site-packages/django/db/migrations/executor.py", line 245, in apply_migration
state = migration.apply(state, schema_editor)
File "/venv/lib64/python3.6/site-packages/django/db/migrations/migration.py", line 124, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "/venv/lib64/python3.6/site-packages/django/db/migrations/operations/special.py", line 190, in database_forwards
self.code(from_state.apps, schema_editor)
File "/src/pulp_ansible/pulp_ansible/app/migrations/0030_collectionversion_requires_ansible.py", line 19, in set_requires_ansible_and_manifest_and_files_json
with artifact.file.open() as artifact_file, tarfile.open(fileobj=artifact_file, mode="r") as tar:
File "/venv/lib64/python3.6/site-packages/django/db/models/fields/files.py", line 74, in open
self.file = self.storage.open(self.name, mode)
File "/venv/lib64/python3.6/site-packages/django/core/files/storage.py", line 36, in open
return self._open(name, mode)
File "/venv/lib64/python3.6/site-packages/django/core/files/storage.py", line 224, in _open
return File(open(self.path(name), mode))
FileNotFoundError: [Errno 2] No such file or directory: '/var/lib/pulp/media/artifact/d4/07b75923940bb9a477be4fe019a9ae1ec8b85a998f218aa5913a455488a202'
ERROR: 1
</code></pre> Ansible Plugin - Issue #8227 (CLOSED - CURRENTRELEASE): 520 test failureshttps://pulp.plan.io/issues/82272021-02-08T19:37:58Zdaviddavis
<p>We need to raise the rate limit to avoid 520 errors in our tests.</p> Ansible Plugin - Story #8076 (CLOSED - CURRENTRELEASE): [EPIC] As a user, I have CLI commands for...https://pulp.plan.io/issues/80762021-01-12T13:39:50Zfao89
<p>Currently, the workflows are documented with bash scripts:</p>
<ul>
<li><a href="https://docs.pulpproject.org/pulp_ansible/workflows/collections.html" class="external">https://docs.pulpproject.org/pulp_ansible/workflows/collections.html</a></li>
<li><a href="https://docs.pulpproject.org/pulp_ansible/workflows/roles.html" class="external">https://docs.pulpproject.org/pulp_ansible/workflows/roles.html</a></li>
</ul>
<p>We need to use pulp-cli for replacing these bash scripts with CLI commands.
<a href="https://github.com/pulp/pulp-cli" class="external">https://github.com/pulp/pulp-cli</a></p> Ansible Plugin - Task #7938 (CLOSED - COMPLETE): [EPIC] As a user, I have improved Galaxy V3 sync...https://pulp.plan.io/issues/79382020-12-07T20:11:40Zbmbouterbmbouter@redhat.comAnsible Plugin - Story #7670 (CLOSED - CURRENTRELEASE): [EPIC] As a Galaxy V3 api user, I can syn...https://pulp.plan.io/issues/76702020-10-07T19:15:44Zfao89
<p>We need mutable fields i.e. repository metadata</p> Ansible Plugin - Task #6672 (CLOSED - DUPLICATE): [Epic] Upload Process Improvementshttps://pulp.plan.io/issues/66722020-05-06T18:36:31Zbmbouterbmbouter@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/708":<a href="https://github.com/pulp/pulp_ansible/issues/708" class="external">https://github.com/pulp/pulp_ansible/issues/708</a></p> Ansible Plugin - Story #6132 (CLOSED - CURRENTRELEASE): [EPIC] v3 collection synchttps://pulp.plan.io/issues/61322020-02-11T17:23:33ZdaviddavisAnsible Plugin - Task #5928 (CLOSED - COMPLETE): [EPIC] Complete CLI testing for Role and Collect...https://pulp.plan.io/issues/59282020-01-03T17:35:46Zbmbouterbmbouter@redhat.com
<p>We want to test against the "latest" ansible-galaxy CLI. Currently that is against 2.9.</p>
<p>Using the "latest" CLI we should fully test:</p>
<a name="Role-Workflows"></a>
<h3 >Role Workflows<a href="#Role-Workflows" class="wiki-anchor">¶</a></h3>
<p>1. Installing a Role by name. The docs for this are here: <a href="https://pulp-ansible.readthedocs.io/en/latest/workflows/ansible-galaxy-client.html#using-the-pulp-galaxy-api" class="external">https://pulp-ansible.readthedocs.io/en/latest/workflows/ansible-galaxy-client.html#using-the-pulp-galaxy-api</a></p>
<p>Note, uploading a Role from the CLI is currently unsupported, so we won't test that</p>
<a name="Collection-Workflows"></a>
<h3 >Collection Workflows<a href="#Collection-Workflows" class="wiki-anchor">¶</a></h3>
<p>1. Uploading a Collection via the ansible-galaxy CLI. The docs for this are here: <a href="https://pulp-ansible.readthedocs.io/en/latest/workflows/upload-collection.html#upload-a-collection-via-ansible-galaxy" class="external">https://pulp-ansible.readthedocs.io/en/latest/workflows/upload-collection.html#upload-a-collection-via-ansible-galaxy</a></p>
<p>2. Install a Collection via the ansible-galaxy CLI. The docs for this are here: <a href="https://pulp-ansible.readthedocs.io/en/latest/workflows/collection-install.html" class="external">https://pulp-ansible.readthedocs.io/en/latest/workflows/collection-install.html</a></p>
<p>NOTE: we should put all CLI tests in one place in the testing folder. Let's make a new folder under functional called 'cli'. That would live here: <a href="https://github.com/pulp/pulp_ansible/tree/master/pulp_ansible/tests/functional" class="external">https://github.com/pulp/pulp_ansible/tree/master/pulp_ansible/tests/functional</a></p> Ansible Plugin - Task #5911 (CLOSED - COMPLETE): [Epic] Port automation hub code to a pulp plugin...https://pulp.plan.io/issues/59112019-12-20T17:05:56Zbmbouterbmbouter@redhat.comAnsible Plugin - Issue #5748 (CLOSED - CURRENTRELEASE): /pulp/api/v3/ raises 500 errorhttps://pulp.plan.io/issues/57482019-11-19T13:16:18Zdaviddavis
<pre><code>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_frame>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: raise exc
Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_frame>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: response = handler(request, *args, **kwargs)
Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_frame>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: schema = self.schema_generator.get_schema(request, self.public)
Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_frame>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: paths = self.get_paths(None if public else request)
Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_frame>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: operation = view.schema.get_operation(path, method)
Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_frame>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: operation['responses'] = self._get_responses(path, method)
Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_frame>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: serializer = self._get_serializer(path, method)
Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_frame>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: return view.get_serializer()
Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_frame>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: kwargs['context'] = self.get_serializer_context()
Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: File "/home/vagrant/devel/pulp_ansible/pulp_ansible/app/galaxy/v3/>Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: context["path"] = self.kwargs["path"]
Nov 19 13:07:08 pulp3-source-fedora.crake.example.com gunicorn[25153]: KeyError: 'path'
</code></pre> Ansible Plugin - Story #5517 (CLOSED - DUPLICATE): [EPIC] Automation Hub Release Blockershttps://pulp.plan.io/issues/55172019-09-30T20:49:03Zbmbouterbmbouter@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/692":<a href="https://github.com/pulp/pulp_ansible/issues/692" class="external">https://github.com/pulp/pulp_ansible/issues/692</a></p>
<hr>
<p>This epic captures the pulp_ansible changes required for the initial Automation Hub release, which pulp_ansible is the storage backend for.</p> Ansible Plugin - Test #4912 (CLOSED - WONTFIX): [Epic] Test collection content typehttps://pulp.plan.io/issues/49122019-06-04T19:43:58Zkersom
<p>Add tests to collection content type.</p>
<p><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 - Issue #3610 (CLOSED - DUPLICATE): 500 when publishing a repository without any v...https://pulp.plan.io/issues/36102018-04-26T22:30:41Zdaviddavis
<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>