Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-10-27T18:51:23ZPulp
Planio Ansible Plugin - Issue #9546 (CLOSED - DUPLICATE): When syncing a collection version, all its sig...https://pulp.plan.io/issues/95462021-10-27T18:51:23Zrochacbruno
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/748":<a href="https://github.com/pulp/pulp_ansible/issues/748" class="external">https://github.com/pulp/pulp_ansible/issues/748</a></p>
<hr>
<p>Related to <a href="https://pulp.plan.io/issues/9543" class="external">https://pulp.plan.io/issues/9543</a></p>
<p>Story:</p>
<ul>
<li>All collections are signed on the host system</li>
<li>When syncing to another instance, together with all the artifacts/versions, signatures will also need to be synced</li>
<li>If for example a signature is corrupted on the source system, user may redo the signature, invalidate the current, do signature rotation and then the clients will need to re-sync to fetch new valid signatures</li>
</ul> Ansible Plugin - Issue #9404 (CLOSED - CURRENTRELEASE): V3 unpaginated sync fails when trying to ...https://pulp.plan.io/issues/94042021-09-15T22:44:48Zgerrod
<p>This line is the offender if the collection version does not exist: <a href="https://github.com/pulp/pulp_ansible/blob/3c2a4fe6e51eacc478534f795cb959a74a639383/pulp_ansible/app/tasks/collections.py#L546-L550" class="external">https://github.com/pulp/pulp_ansible/blob/3c2a4fe6e51eacc478534f795cb959a74a639383/pulp_ansible/app/tasks/collections.py#L546-L550</a>, a key error will happen.</p> Ansible Plugin - Issue #8957 (CLOSED - CURRENTRELEASE): URL validation error on remote displays r...https://pulp.plan.io/issues/89572021-06-23T18:27:37Zsajha
<p>The url validation is somehow leading to this: ["Invalid URL https://galaxy.ansible.com/. Ensure the URL ends '/'."]} This happens when I have some source specified in the requirements.yml without the trailing "/".. However the error displays the remote URL in the error which happens to have the trailing /..</p>
<p>(02:14:32 PM) rochacbruno: error is on <a href="https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/serializers.py#L166" class="external">https://github.com/pulp/pulp_ansible/blob/master/pulp_ansible/app/serializers.py#L166</a>
(02:14:44 PM) rochacbruno: should be url=url instead of data["url"]</p> Ansible Plugin - Issue #8882 (CLOSED - CURRENTRELEASE): UploadCollectionTestCase.test_collection_...https://pulp.plan.io/issues/88822021-06-09T20:58:24Zdkliban@redhat.com
<p>Seeing the following failure in nightly CI:</p>
<pre>
pulp_smash.exceptions.TaskReportError: ('Task report /pulp/api/v3/tasks/fba54395-4cfc-4aeb-8f16-6c768e288c54/ contains a error: {\'traceback\': \' File "/usr/local/lib/python3.6/site-packages/rq/worker.py", line 1013, in perform_job\
rv = job.perform()\
File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 709, in perform\
self._result = self._execute()\
File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 732, in _execute\
result = self.func(*self.args, **self.kwargs)\
File "/usr/local/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py", line 203, in import_collection\
artifact_file, filename=filename, file_url=url, logger=user_facing_logger\
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 57, in import_collection\
return _import_collection(file, filename, file_url, logger, cfg)\
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 80, in _import_collection\
data = CollectionLoader(extract_dir, filename, cfg=cfg, logger=logger).load()\
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 198, in load\
self._check_file_manifest(self.path, self.file_manifest, self.file_manifest_file.name)\
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 324, in _check_file_manifest\
msg=err_msg)\
\', \'description\': "Files in the artifact but not the file manifest: [\'plugins\', \'roles/minishift_up_role/handlers\']"}
Full task report: {\'pulp_href\': \'/pulp/api/v3/tasks/fba54395-4cfc-4aeb-8f16-6c768e288c54/\', \'pulp_created\': \'2021-06-09T03:42:21.436036Z\', \'state\': \'failed\', \'name\': \'pulp_ansible.app.tasks.collections.import_collection\', \'logging_cid\': \'408d28be9c7045e4a0e00a4c90ee087a\', \'started_at\': \'2021-06-09T03:42:21.543518Z\', \'finished_at\': \'2021-06-09T03:42:21.595694Z\', \'error\': {\'traceback\': \' File "/usr/local/lib/python3.6/site-packages/rq/worker.py", line 1013, in perform_job\
rv = job.perform()\
File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 709, in perform\
self._result = self._execute()\
File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 732, in _execute\
result = self.func(*self.args, **self.kwargs)\
File "/usr/local/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py", line 203, in import_collection\
artifact_file, filename=filename, file_url=url, logger=user_facing_logger\
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 57, in import_collection\
return _import_collection(file, filename, file_url, logger, cfg)\
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 80, in _import_collection\
data = CollectionLoader(extract_dir, filename, cfg=cfg, logger=logger).load()\
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 198, in load\
self._check_file_manifest(self.path, self.file_manifest, self.file_manifest_file.name)\
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 324, in _check_file_manifest\
msg=err_msg)\
\', \'description\': "Files in the artifact but not the file manifest: [\'plugins\', \'roles/minishift_up_role/handlers\']"}, \'worker\': \'/pulp/api/v3/workers/b44f48bd-ade9-428e-91b7-a7404b5f8ac9/\', \'parent_task\': None, \'child_tasks\': [], \'task_group\': None, \'progress_reports\': [], \'created_resources\': [], \'reserved_resources_record\': []}', {'pulp_href': '/pulp/api/v3/tasks/fba54395-4cfc-4aeb-8f16-6c768e288c54/', 'pulp_created': '2021-06-09T03:42:21.436036Z', 'state': 'failed', 'name': 'pulp_ansible.app.tasks.collections.import_collection', 'logging_cid': '408d28be9c7045e4a0e00a4c90ee087a', 'started_at': '2021-06-09T03:42:21.543518Z', 'finished_at': '2021-06-09T03:42:21.595694Z', 'error': {'traceback': ' File "/usr/local/lib/python3.6/site-packages/rq/worker.py", line 1013, in perform_job
rv = job.perform()
File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 709, in perform
self._result = self._execute()
File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 732, in _execute
result = self.func(*self.args, **self.kwargs)
File "/usr/local/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py", line 203, in import_collection
artifact_file, filename=filename, file_url=url, logger=user_facing_logger
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 57, in import_collection
return _import_collection(file, filename, file_url, logger, cfg)
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 80, in _import_collection
data = CollectionLoader(extract_dir, filename, cfg=cfg, logger=logger).load()
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 198, in load
self._check_file_manifest(self.path, self.file_manifest, self.file_manifest_file.name)
File "/usr/local/lib/python3.6/site-packages/galaxy_importer/collection.py", line 324, in _check_file_manifest
msg=err_msg)
', 'description': "Files in the artifact but not the file manifest: ['plugins', 'roles/minishift_up_role/handlers']"}, 'worker': '/pulp/api/v3/workers/b44f48bd-ade9-428e-91b7-a7404b5f8ac9/', 'parent_task': None, 'child_tasks': [], 'task_group': None, 'progress_reports': [], 'created_resources': [], 'reserved_resources_record': []})
</pre> Ansible Plugin - Issue #7834 (CLOSED - CURRENTRELEASE): Updated deprecation status is not include...https://pulp.plan.io/issues/78342020-11-13T19:23:49Zawcrosby
<p>This was seen on testing with galaxy_ng: In 4.2.0 GA, updated deprecation status is not sync’d from cloud to on-prem hub</p>
<p>Steps to recreate:</p>
<ol>
<li>Ensure the <code>synctest</code> repo in ci.cloud.redhat.com has some collections deprecated, others not</li>
<li>For the first time, sync the repo from cloud to on-prem hub</li>
<li>Confirm deprecation status is as expected on each collection in on-prem hub</li>
<li>Change deprecation status on one of the synced collections on cloud</li>
<li>Sync again</li>
<li>Observe that the collection on-prem does not have the deprecation status changed as expected</li>
</ol> Ansible Plugin - Issue #7821 (CLOSED - CURRENTRELEASE): When I use CollectionRemote.auth_url I al...https://pulp.plan.io/issues/78212020-11-11T19:58:31Zfao89
<p>The ONLY place the auth_url is used for is cloud.redhat.com. Token is a requirement if you specify auth_url, but you can use a token without specifying auth_url
<a href="https://github.com/pulp/pulp_ansible/pull/418#issuecomment-725610338" class="external">https://github.com/pulp/pulp_ansible/pull/418#issuecomment-725610338</a></p> Ansible Plugin - Issue #7802 (CLOSED - CURRENTRELEASE): When I use CollectionRemote.auth_url I al...https://pulp.plan.io/issues/78022020-11-05T19:53:49Zbmbouterbmbouter@redhat.com
<p>Right now users can create a <code>CollectionRemote</code> with either <code>auth_url</code>, or <code>token</code>, or both. The downloaders though require both <code>auth_url</code> and <code>token</code> to be set for meaningful operation. <code>ansible-galaxy</code> CLI clients only would use <code>token</code> alone as a Github token when uploading which pulp_ansible does not currently support.</p> Ansible Plugin - Issue #7734 (CLOSED - DUPLICATE): Validate the requirements.yml filehttps://pulp.plan.io/issues/77342020-10-22T13:04:32Zdaviddavis
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/714":<a href="https://github.com/pulp/pulp_ansible/issues/714" class="external">https://github.com/pulp/pulp_ansible/issues/714</a></p>
<hr>
<p>Validate the requirements.yml when a remote is saved.</p>
<p>Some examples:</p>
<ul>
<li>Validate the presence of required keys (name, source) if the entry is a hash</li>
<li>Validate that <code>type</code> matches up with whatever types we support (ie only galaxy at this point)</li>
</ul> Ansible Plugin - Issue #6510 (CLOSED - CURRENTRELEASE): v3.serializers.CollectionVersionSerialize...https://pulp.plan.io/issues/65102020-04-16T16:04:12Zalikins
<p>v3.serializers.CollectionVersionSerializer doesn't include distro base_path in the 'download_url'
it creates.</p>
<p>At the moment, since there is only one AnsibleRepository and one AnsibleDistribution, this doesn't
cause a problem. But once we have multiple repositories, the 'download_url' will need to include
the AnsibleDistribution.base_path in the url.</p>
<p>For example, with the galaxy_ng pr at <a href="https://github.com/ansible/galaxy_ng/pull/84/" class="external">https://github.com/ansible/galaxy_ng/pull/84/</a> it is possible to
use per distro api endpoints.</p>
<p>For now, pr <a class="issue tracker-2 status-11 priority-7 priority-high2 closed" title="Task: Document our branching strategy in more detail (CLOSED - CURRENTRELEASE)" href="https://pulp.plan.io/issues/84">#84</a> has a local CollectionVersionSerializer that adds base_path to the 'download_url'
so the 'download_url' looks like:</p>
<p>"<a href="http://localhost:24816/pulp/content/alikins-stage-distro-base-path/alikins.collection_inspect.0.0.182.tar.gz" class="external">http://localhost:24816/pulp/content/alikins-stage-distro-base-path/alikins.collection_inspect.0.0.182.tar.gz</a>",</p>
<p>That will allow galaxy_ng to provide download_urls for 'golden' distro artifacts and for other repos/distros.</p> Ansible Plugin - Issue #6248 (CLOSED - CURRENTRELEASE): webserver_snippts are missing from pulp_a...https://pulp.plan.io/issues/62482020-02-29T16:11:51Zbmbouterbmbouter@redhat.com
<p>If you vagrant up into a user install with <code>pulp-sandbox-fedora30</code> and you configuring it to only install <code>pulp-ansible</code> you can see the webserver snippets are not there:</p>
<pre><code>(pulp) [vagrant@pulp3-sandbox-fedora30 ~]$ ls /usr/local/lib/pulp/lib/python3.7/site-packages/pulp_ansible/app/webserver_snippets/
__init__.py __pycache__
(pulp) [vagrant@pulp3-sandbox-fedora30 ~]$ pip freeze | grep ansible
ansible==2.9.5
ansible-lint==4.2.0
pulp-ansible==0.2.0b9
</code></pre> Ansible Plugin - Task #5462 (CLOSED - CURRENTRELEASE): Use new upload serializer in pulp_ansiblehttps://pulp.plan.io/issues/54622019-09-17T17:44:43Zfao89Ansible Plugin - Task #5368 (CLOSED - CURRENTRELEASE): Write galaxy-import result of contents and...https://pulp.plan.io/issues/53682019-08-28T21:11:22Zawcrosby
<p>The galaxy-importer result includes contents and docs_blob keys. The CollectionVersion model has attributes for these.</p>
<p>This data should be written when the galaxy-importer is called, in both the import_collection and sync workflows.</p> Ansible Plugin - Issue #5346 (CLOSED - DUPLICATE): Wrong url resolution when path is the last com...https://pulp.plan.io/issues/53462019-08-26T13:00:55Zosapryki
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/688":<a href="https://github.com/pulp/pulp_ansible/issues/688" class="external">https://github.com/pulp/pulp_ansible/issues/688</a></p>
<hr>
<p>When <code><path:path></code> component is the last one in <code>GALAXY_API_ROOT</code>, Django redirects all requests having this prefix to the <code>GalaxyVersionView</code>, which is defined in <code>pulp_ansible/app/urls.py</code> as:</p>
<pre><code class="python syntaxhl" data-language="python"><span class="n">path</span><span class="p">(</span><span class="n">GALAXY_API_ROOT</span><span class="p">,</span> <span class="n">GalaxyVersionView</span><span class="p">.</span><span class="n">as_view</span><span class="p">()),</span>
</code></pre> Ansible Plugin - Issue #5209 (CLOSED - CURRENTRELEASE): Uploading same collection twice causes 50...https://pulp.plan.io/issues/52092019-08-01T13:17:03Zbmbouterbmbouter@redhat.com
<p>To reproduce:</p>
<p>1. build a collecton 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>
<pre><code>Traceback (most recent call last):
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_framework/viewsets.py", line 116, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_framework/views.py", line 495, in dispatch
response = self.handle_exception(exc)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_framework/views.py", line 455, in handle_exception
self.raise_uncaught_exception(exc)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/rest_framework/views.py", line 492, in dispatch
response = handler(request, *args, **kwargs)
File "/home/vagrant/devel/pulp_ansible/pulp_ansible/app/viewsets.py", line 216, in create
artifact.save()
File "/home/vagrant/devel/pulpcore/pulpcore/app/models/content.py", line 165, in save
super().save(*args, **kwargs)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/models/base.py", line 741, in save
force_update=force_update, update_fields=update_fields)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/models/base.py", line 779, in save_base
force_update, using, update_fields,
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/models/base.py", line 870, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/models/base.py", line 908, in _do_insert
using=using, raw=raw)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/models/query.py", line 1186, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/models/sql/compiler.py", line 1335, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/pulp/lib64/python3.7/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: duplicate key value violates unique constraint "core_artifact_sha256_key"
</code></pre> Ansible Plugin - Task #5106 (CLOSED - CURRENTRELEASE): Update Travis config and enable blackhttps://pulp.plan.io/issues/51062019-07-10T13:29:01Zdaviddavis