Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-10-04T10:30:48ZPulp
Planio Ansible Plugin - Issue #9483 (CLOSED - CURRENTRELEASE): dispatch calls need to specify locked res...https://pulp.plan.io/issues/94832021-10-04T10:30:48ZmdellwegAnsible Plugin - Issue #9476 (CLOSED - CURRENTRELEASE): Syncing twice w/ mirror=True and optimize...https://pulp.plan.io/issues/94762021-09-30T19:25:31Zgerrod
<p>The optimize=True setting is causing the sync pipeline to think all the content has been removed from the remote and thus produce a new repo version with no content in it.</p> Ansible Plugin - Issue #9442 (CLOSED - CURRENTRELEASE): Deprecation status isn't synced correctly...https://pulp.plan.io/issues/94422021-09-23T21:02:06Zfao89
<p>If a repo with deprecated collections sync from a remote without deprecations, the repo will keep its deprecations regardless the new remote</p> Ansible Plugin - Issue #9250 (CLOSED - CURRENTRELEASE): improper validation when passing json as ...https://pulp.plan.io/issues/92502021-08-18T15:41:42Zjsherril@redhat.comjsherril@redhat.com
<p>Json seems to be a subset of yaml in some cases and with some libraries. Pulp's parsing seems to allow it as something like this:</p>
<p>{"collections": "theforeman.foreman"}</p>
<p>works fine as a requirements.yaml on a remote. However when you sync, you get a traceback:</p>
<pre><code> {"traceback"=>
" File \"/usr/lib/python3.6/site-packages/pulpcore/tasking/pulpcore_worker.py\", line 272, in _perform_task\n" +
" result = func(*args, **kwargs)\n" +
" File \"/usr/local/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py\", line 130, in sync\n" +
" repo_version = d_version.create()\n" +
" File \"/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py\", line 151, in create\n" +
" loop.run_until_complete(pipeline)\n" +
" File \"/usr/lib64/python3.6/asyncio/base_events.py\", line 484, in run_until_complete\n" +
" return future.result()\n" +
" File \"/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 225, in create_pipeline\n" +
" await asyncio.gather(*futures)\n" +
" File \"/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 43, in __call__\n" +
" await self.run()\n" +
" File \"/usr/local/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py\", line 778, in run\n" +
" await asyncio.gather(*tasks)\n" +
" File \"/usr/local/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py\", line 587, in _fetch_collection_metadata\n" +
" namespace, name = requirements_entry.name.split(\".\")\n",
"description"=>"not enough values to unpack (expected 2, got 1)"},
</code></pre>
<p>So it seems like that format should either error on save (like other invalid yaml does), or work for syncing</p> Ansible Plugin - Issue #9220 (CLOSED - CURRENTRELEASE): content_ansible_collection_versions_creat...https://pulp.plan.io/issues/92202021-08-09T17:07:09Zsajha
<p>The <a href="https://docs.pulpproject.org/pulp_ansible/restapi.html#operation/upload_collection" class="external">https://docs.pulpproject.org/pulp_ansible/restapi.html#operation/upload_collection</a> endpoint allows you to upload a Collection tarball. This operation results in an artifact which can then be used to create a new collection content.</p>
<p>However, the endpoint to do so <a href="https://docs.pulpproject.org/pulp_ansible/restapi.html#operation/content_ansible_collection_versions_create" class="external">https://docs.pulpproject.org/pulp_ansible/restapi.html#operation/content_ansible_collection_versions_create</a> seems to have a lot of required fields which are presumably avaialble on the uploaded tarball itself. Is there a way to modify the flow so that associating an artifact from an uploaded collection tarball doesn't need to have all the other information passed.</p>
<p>I am assuming the flow would be to upload tarball, create a collection content using the artifact, add content created to a collection repository.</p> Ansible Plugin - Issue #8923 (CLOSED - CURRENTRELEASE): Backport streamed collection endpoints to...https://pulp.plan.io/issues/89232021-06-18T18:26:07Zrochacbruno
<p>Backport the PRS</p>
<p><a href="https://github.com/pulp/pulp_ansible/pull/573" class="external">https://github.com/pulp/pulp_ansible/pull/573</a></p>
<p><a href="https://github.com/pulp/pulp_ansible/pull/562" class="external">https://github.com/pulp/pulp_ansible/pull/562</a></p>
<p>So galaxy_ng can use the optimized sync</p> Ansible Plugin - Issue #8746 (CLOSED - CURRENTRELEASE): Upaginated Endpoint query is inefficienthttps://pulp.plan.io/issues/87462021-05-13T17:36:13Zgerrod
<p>Current query does 4 + 5n queries per n collection versions in repository.</p> Ansible Plugin - Issue #8098 (CLOSED - CURRENTRELEASE): pulp-ansible 0.6.0 requires Python 3.7https://pulp.plan.io/issues/80982021-01-14T20:53:29Ziballou
<p>It seems I hit an error that points to Python being out of date.</p>
<pre>
module 'asyncio' has no attribute 'create_task'
</pre>
<p><a href="https://stackoverflow.com/a/53247626" class="external">https://stackoverflow.com/a/53247626</a></p>
<p>Traceback:</p>
<pre>
{
"pulp_href": "/pulp/api/v3/tasks/5b3ccf7c-152e-421f-9189-e753ec8b81c4/",
"pulp_created": "2021-01-14T20:32:35.176071Z",
"state": "failed",
"name": "pulp_ansible.app.tasks.collections.sync",
"logging_cid": "05a4a5ac8ca54ecdb964bcf0b0a2c57a",
"started_at": "2021-01-14T20:32:35.331192Z",
"finished_at": "2021-01-14T20:32:35.408906Z",
"error": {
"traceback": " File \"/usr/local/lib/python3.6/site-packages/rq/worker.py\", line 975, in perform_job\n rv = job.perform()\n File \"/usr/local/lib/python3.6/site-packages/rq/job.py\", line 696, in perform\n self._result = self._execute()\n File \"/usr/local/lib/python3.6/site-packages/rq/job.py\", line 719, in _execute\n return self.func(*self.args, **self.kwargs)\n File \"/usr/local/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py\", line 85, in sync\n d_version.create()\n File \"/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py\", line 148, in create\n loop.run_until_complete(pipeline)\n File \"/usr/lib64/python3.6/asyncio/base_events.py\", line 484, in run_until_complete\n return future.result()\n File \"/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 225, in create_pipeline\n await asyncio.gather(*futures)\n File \"/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 43, in __call__\n await self.run()\n File \"/usr/local/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py\", line 504, in run\n asyncio.create_task(self._fetch_collection_metadata(requirement_entry))\n",
"description": "module 'asyncio' has no attribute 'create_task'"
},
"worker": "/pulp/api/v3/workers/96b47704-b1f4-4072-af1e-5ba914db8e97/",
"parent_task": null,
"child_tasks": [],
"task_group": null,
"progress_reports": [
{
"message": "Downloading Artifacts",
"code": "downloading.artifacts",
"state": "canceled",
"total": null,
"done": 0,
"suffix": null
},
{
"message": "Downloading Artifacts",
"code": "downloading.artifacts",
"state": "canceled",
"total": null,
"done": 0,
"suffix": null
},
{
"message": "Associating Content",
"code": "associating.content",
"state": "canceled",
"total": null,
"done": 0,
"suffix": null
},
{
"message": "Un-Associating Content",
"code": "unassociating.content",
"state": "canceled",
"total": null,
"done": 0,
"suffix": null
}
],
"created_resources": [],
"reserved_resources_record": [
"/pulp/api/v3/repositories/ansible/ansible/c5784a4d-1fc5-42ac-803a-6a58e27971ea/",
"/pulp/api/v3/remotes/ansible/collection/f67f87c5-db92-45df-b350-23393f30a69c/"
]
}
</pre> Ansible Plugin - Issue #6855 (CLOSED - CURRENTRELEASE): Automation hub tarballs have invalid name...https://pulp.plan.io/issues/68552020-05-28T15:27:44Zosapryki
<p>Collection tarballs downloaded from Automation Hub using the download button have their names formatted with periods as <code><namespace>.<collection>.<version></code> when they should be formatted with dashes as <code><namespace>-<collection>-<version></code>.</p> Ansible Plugin - Issue #5358 (CLOSED - CURRENTRELEASE): Galaxy API v3 collection upload should cr...https://pulp.plan.io/issues/53582019-08-27T12:45:14ZosaprykiAnsible Plugin - Issue #5357 (CLOSED - CURRENTRELEASE): Galaxy API v3 collection upload should re...https://pulp.plan.io/issues/53572019-08-27T12:42:50ZosaprykiAnsible Plugin - Issue #5301 (CLOSED - CURRENTRELEASE): Add endpoints for CollectionImportshttps://pulp.plan.io/issues/53012019-08-19T16:38:06Zosapryki
<ul>
<li>Add Galaxy endpoint to get specific import task details</li>
<li>Add generic ViewSet for pulp_ansible API.</li>
</ul> Ansible Plugin - Issue #5226 (CLOSED - CURRENTRELEASE): Migration 0004_add_fulltext_search_indexe...https://pulp.plan.io/issues/52262019-08-06T20:09:00Zosapryki
<p>Migration <code>0004_add_fulltext_search_indexes</code> fails with the following exception when trying to execute against database table that actually contains data.</p>
<pre><code>Traceback (most recent call last):
File "/venv/bin/django-admin", line 11, 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 105, in database_forwards
self._run_sql(schema_editor, self.sql)
File "/venv/lib64/python3.6/site-packages/django/db/migrations/operations/special.py", line 130, in _run_sql
schema_editor.execute(statement, params=None)
File "/venv/lib64/python3.6/site-packages/django/db/backends/base/schema.py", line 137, in execute
cursor.execute(sql, params)
File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 99, in execute
return super().execute(sql, params)
File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/venv/lib64/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 82, in _execute
return self.cursor.execute(sql)
django.db.utils.ProgrammingError: more than one row returned by a subquery used as an expression
</code></pre>
<p>The SQL query that causes this exception is this:</p>
<pre><code> UPDATE ansible_collectionversion AS c
SET search_vector = (
SELECT
setweight(to_tsvector(coalesce(namespace,'')), 'A')
|| setweight(to_tsvector(coalesce(name, '')), 'A')
|| (
SELECT
setweight(to_tsvector(
coalesce(string_agg("ansible_tag"."name", ' '), '')
), 'B')
FROM
"ansible_tag" INNER JOIN "ansible_collectionversion_tags" ON ("ansible_tag"."_id" = "ansible_collectionversion_tags"."tag_id")
)
|| (
SELECT
setweight(to_tsvector(
coalesce(string_agg(cvc ->> 'name', ' '), '')
), 'C')
FROM jsonb_array_elements(cv.contents) AS cvc
)
|| setweight(to_tsvector(coalesce(description, '')), 'D')
FROM ansible_collectionversion cv
)
</code></pre> Ansible Plugin - Issue #4155 (CLOSED - CURRENTRELEASE): TravisCI fails - ModuleNotFoundError: No ...https://pulp.plan.io/issues/41552018-11-14T16:15:38ZdaviddavisAnsible Plugin - Issue #3898 (CLOSED - CURRENTRELEASE): Filters inherit from a Django's FilterSet...https://pulp.plan.io/issues/38982018-08-02T15:13:08Zvdusek
<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>