Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-11-09T13:48:32ZPulp
Planio Ansible Plugin - Issue #9561 (CLOSED - DUPLICATE): Update galaxy-importer requirementshttps://pulp.plan.io/issues/95612021-11-09T13:48:32Znewswangerd
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/749":<a href="https://github.com/pulp/pulp_ansible/issues/749" class="external">https://github.com/pulp/pulp_ansible/issues/749</a></p>
<hr>
<p>Pulp ansible currently depends on galaxy-importer>=0.3.1, but relies on a function that's only available in 0.4.1: <a href="https://github.com/pulp/pulp_ansible/commit/db592b44ed367c3c1866456d012a24886d9c55a5#diff-ee4bd390338ab9adff17b9b09f05e8dc56e09a3964633c104402998971723bffR6" class="external">https://github.com/pulp/pulp_ansible/commit/db592b44ed367c3c1866456d012a24886d9c55a5#diff-ee4bd390338ab9adff17b9b09f05e8dc56e09a3964633c104402998971723bffR6</a></p> 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 #9534 (CLOSED - DUPLICATE): Ansible Galaxy Repo failed to synchronize case...https://pulp.plan.io/issues/95342021-10-25T15:15:01Zstosem
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/747":<a href="https://github.com/pulp/pulp_ansible/issues/747" class="external">https://github.com/pulp/pulp_ansible/issues/747</a></p>
<hr>
<p>The galaxy.ansible.com API uses case-insensitive fields for the owner username and role name. The Ansible Galaxy Hub source code: <a href="https://github.com/ansible/galaxy/blob/e0e4b909171ddc6ca40f0ef2f7d4dce5680777ce/galaxy/api/views/roles.py#L50" class="external">https://github.com/ansible/galaxy/blob/e0e4b909171ddc6ca40f0ef2f7d4dce5680777ce/galaxy/api/views/roles.py#L50</a></p>
<p>But pulp usesnamespace=namespace. It causes the error on case-sensitive repositories (404 not found, or empty set). An example:</p>
<ul>
<li><a href="https://galaxy.ansible.com/api/v1/roles/?owner__username=Oefenweb" class="external">https://galaxy.ansible.com/api/v1/roles/?owner__username=Oefenweb</a></li>
<li><a href="https://galaxy.ansible.com/api/v1/roles/?owner__username=oefenweb" class="external">https://galaxy.ansible.com/api/v1/roles/?owner__username=oefenweb</a></li>
</ul>
<p>Galaxy Ansible returns the same result. But pulp isn't.</p>
<p>So we can't install roles like this using regular <code>ansible-galaxy install oefenweb.postfix</code> command with the Pulp repo.</p> Ansible Plugin - Issue #9525 (CLOSED - WORKSFORME): Performing sync in Hub ignores sync toggle an...https://pulp.plan.io/issues/95252021-10-20T17:27:32Zawcrosby
<p>This is seen in galaxy_ng 4.3.3 performing a sync against c.rh.c:</p>
<ul>
<li>galaxy_ng==4.3.3 includes: pulpcore==3.11.2, pulp-ansible==0.7.3</li>
<li>c.rh.com includes: pulpcore==3.11.2 pulp-ansible==0.7.3</li>
<li>FWIW on console.rh.com, editing the sync toggles changes the <code>content_count</code> (527) at <a href="https://console.redhat.com/api/automation-hub/_ui/v1/my-distributions/" class="external">https://console.redhat.com/api/automation-hub/_ui/v1/my-distributions/</a> for <code>5910538-synclist</code> but it does not change the <code>count</code> (104) at <a href="https://console.redhat.com/api/automation-hub/content/5910538-synclist/v3/collections/" class="external">https://console.redhat.com/api/automation-hub/content/5910538-synclist/v3/collections/</a>
</li>
</ul>
<p>This is also seen in galaxy_ng <code>master</code> performing a sync against c.rh.c and c.stage.rh.c</p>
<ul>
<li>galaxy_ng==<code>master</code> includes: pulpcore==3.15.2, pulp-ansible==0.10.1</li>
<li>c.stage.rh.com includes: pulpcore==3.14.6, pulp-ansible==0.9.2</li>
<li>FWIW the count c.stage.rh.com <###>-synclist/v3/collections/ does change after sync toggles</li>
</ul> Ansible Plugin - Issue #9524 (CLOSED - DUPLICATE): docs blob missing from CollectionVersion when ...https://pulp.plan.io/issues/95242021-10-19T23:08:51Zdkliban@redhat.com
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/746":<a href="https://github.com/pulp/pulp_ansible/issues/746" class="external">https://github.com/pulp/pulp_ansible/issues/746</a></p> Ansible Plugin - Issue #9473 (CLOSED - DUPLICATE): CI is failing intermittently on v3 test_serial...https://pulp.plan.io/issues/94732021-09-29T23:13:56Zgerrod
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/745":<a href="https://github.com/pulp/pulp_ansible/issues/745" class="external">https://github.com/pulp/pulp_ansible/issues/745</a></p>
<hr>
<p>The test <code>test_v3_updated_at</code> fails randomly when it fails to assert the latest_version collection stays the same after the modify action. The serializer seems to choose a different latest version sometimes even when the highest version collections don't change, but only after the modify action creates a new repository_version. (i.e. refreshing the <code>/collections/</code> endpoint doesn't change the latest_version).</p> Ansible Plugin - Issue #9053 (CLOSED - DUPLICATE): Implement namespace permission endpointshttps://pulp.plan.io/issues/90532021-07-08T20:11:08Znewswangerd
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/741":<a href="https://github.com/pulp/pulp_ansible/issues/741" class="external">https://github.com/pulp/pulp_ansible/issues/741</a></p>
<hr>
<p>The current namespaces endpoint embeds permissions as a nested object which is hard to use, error prone and not very scalable.</p>
<p>Rather than embedded updating permissions for objects into the object itself, like the old v3 and <code>_ui</code> apis, object level permissions will be set using <code><object_url>/groups</code> and <code><object_url>/users</code>. These two viewsets will accept PUT operations for setting and updating a list of permissions on the given object and a DELETE operation for removing a list of permissions from a given object.</p>
<p><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/newswangerd/galaxy-api-v4/master/refactored_v3.yaml#/Pulp%20Ansible/get-plugins-ansible-namespaces-name-users" class="external">API Spec</a></p> Ansible Plugin - Issue #9052 (CLOSED - DUPLICATE): Implement configuration endpointhttps://pulp.plan.io/issues/90522021-07-08T20:09:09Znewswangerd
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/740":<a href="https://github.com/pulp/pulp_ansible/issues/740" class="external">https://github.com/pulp/pulp_ansible/issues/740</a></p>
<hr>
<p>Since the API requires a distribution base_path to publish and download content, this provides a way to configure a default upload/download repo that clients can read.</p>
<p>This also allows clients to look up if content type such as execution environments are supported on the service.</p>
<p>Implement the new <code>v3/configuration</code> endpoint described <a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/newswangerd/galaxy-api-v4/master/refactored_v3.yaml#/App%20Configuration/get-configuration" class="external">here</a>.</p>
<p>This API endpoint should return the <code>path</code> as the default upload and download distribution. For example:</p>
<p><code>pulp_ansible/galaxy/my-distribution/api/v3/</code> will return <code>my-dstribution</code> as the default distribution.</p>
<p>Execution environments will always return as disabled.</p> Ansible Plugin - Issue #9051 (CLOSED - DUPLICATE): Implement collection version search endpointhttps://pulp.plan.io/issues/90512021-07-08T20:04:02Znewswangerd
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/739":<a href="https://github.com/pulp/pulp_ansible/issues/739" class="external">https://github.com/pulp/pulp_ansible/issues/739</a></p>
<hr>
<p><a href="https://petstore.swagger.io/?url=https://raw.githubusercontent.com/newswangerd/galaxy-api-v4/master/refactored_v3.yaml#/Pulp%20Ansible/get-plugin-ansible-search-collection-versions" class="external">API Spec</a></p>
<p>This API allows searching all collection versions in hub across all repositories. It would replace the current functionality <code>_ui/v1/repo/{base_path}</code> and <code>_ui/v1/collection-versions</code> endpoints by providing a flag to return all collection versions or just the latest version in each collection.</p>
<p>This endpoint addresses a couple of important problems in galaxy_ng.</p>
<ul>
<li>Repository discovery: provides a mechnisim to find what repositories a collection is in</li>
<li>Content discovery: provides a way to search which collections have a specific piece of content (such as a role or a module)</li>
<li>UX Issues: right now, all collection views in the UI have to be scoped to a single repository and it’s an awful user experience.</li>
</ul>
<p>The following related fields can be included:</p>
<ul>
<li>namespace: includes summary of the namespace the version is in</li>
<li>metadata: includes the collection version metadata</li>
<li>distributions: includes a list of the distributions that content is in.</li>
</ul>
<p>By default this endpoint will only search content that are in distributions that are labelled with content=public. Other sets of distributions can be queried using <code>?distribution_labels=<label></code> and a specific repository can be selected using <code>?distribution=<base_path></code></p> Ansible Plugin - Issue #9050 (CLOSED - DUPLICATE): Implement new V3 endpointshttps://pulp.plan.io/issues/90502021-07-08T20:03:13Znewswangerd
<p><strong>Ticket moved to GitHub</strong>: "pulp/pulp_ansible/738":<a href="https://github.com/pulp/pulp_ansible/issues/738" class="external">https://github.com/pulp/pulp_ansible/issues/738</a></p>
<hr>
<p>Some of the functionality in the UI APIs will have to be replaced with entirely new endpoints that include extra functionality and will improve the overall user experience.</p> 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 #7651 (CLOSED - WORKSFORME): Pulp Error: Network is unreachable during Rep...https://pulp.plan.io/issues/76512020-10-05T16:18:14Zjdjeffers
<p>Attempting a sync via the pulp-ansible plugin, the following error is thrown:</p>
<pre><code>
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py", line 936, in perform_job
rv = job.perform()
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 684, in perform
self._result = self._execute()
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 690, in _execute
return self.func(*self.args, **self.kwargs)
File "/usr/local/lib/pulp/src/pulp-ansible/pulp_ansible/app/tasks/collections.py", line 81, in sync
d_version.create()
File "/usr/local/lib/pulp/src/pulpcore/pulpcore/plugin/stages/declarative_version.py", line 148, in create
loop.run_until_complete(pipeline)
File "/usr/lib64/python3.6/asyncio/base_events.py", line 484, in run_until_complete
return future.result()
File "/usr/local/lib/pulp/src/pulpcore/pulpcore/plugin/stages/api.py", line 225, in create_pipeline
await asyncio.gather(*futures)
File "/usr/local/lib/pulp/src/pulpcore/pulpcore/plugin/stages/api.py", line 43, in __call__
await self.run()
File "/usr/local/lib/pulp/src/pulp-ansible/pulp_ansible/app/tasks/collections.py", line 288, in run
async for metadata in self._fetch_collections():
File "/usr/local/lib/pulp/src/pulp-ansible/pulp_ansible/app/tasks/collections.py", line 362, in _fetch_collections
initial_data = parse_metadata(await downloader.run())
File "/usr/local/lib/pulp/src/pulpcore/pulpcore/download/base.py", line 227, in run
return await self._run(extra_data=extra_data)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/backoff/_async.py", line 133, in retry
ret = await target(*args, **kwargs)
File "/usr/local/lib/pulp/src/pulp-ansible/pulp_ansible/app/downloaders.py", line 88, in _run
return await super()._run(extra_data=extra_data)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/backoff/_async.py", line 133, in retry
ret = await target(*args, **kwargs)
File "/usr/local/lib/pulp/src/pulpcore/pulpcore/download/http.py", line 209, in _run
async with self.session.get(self.url, proxy=self.proxy, auth=self.auth) as response:
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/client.py", line 1012, in __aenter__
self._resp = await self._coro
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/client.py", line 483, in _request
timeout=real_timeout
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py", line 523, in connect
proto = await self._create_connection(req, traces, timeout)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py", line 859, in _create_connection
req, traces, timeout)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py", line 1004, in _create_direct_connection
raise last_exc
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py", line 986, in _create_direct_connection
req=req, client_error=client_error)
File "/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py", line 943, in _wrap_create_connection
raise client_error(req.connection_key, exc) from exc
description: Cannot connect to host galaxy-dev.ansible.com:443 ssl:default [Network
is unreachable]
</code></pre>
<p>The remote url provided was <a href="https://galaxy-dev.ansible.com/api/v2/collections/testing/ansible_testing_content" class="external">https://galaxy-dev.ansible.com/api/v2/collections/testing/ansible_testing_content</a>
These are the versions present:</p>
<pre><code>curl https://`hostname`/pulp/api/v3/status/ --cert /etc/pki/katello/certs/pulp-client.crt --key /etc/pki/katello/private/pulp-client.key | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1397 100 1397 0 0 7492 0 --:--:-- --:--:-- --:--:-- 7551
{
"versions": [
{
"component": "pulpcore",
"version": "3.7.1"
},
{
"component": "pulp_2to3_migration",
"version": "0.4.0.dev0"
},
{
"component": "pulp_file",
"version": "1.4.0.dev0"
},
{
"component": "pulp_container",
"version": "2.2.0.dev0"
},
{
"component": "pulp_ansible",
"version": "0.4.1"
},
{
"component": "pulp_certguard",
"version": "1.1.0.dev0"
},
{
"component": "pulp_rpm",
"version": "3.7.0"
}
],
"online_workers": [
{
"pulp_created": "2020-10-02T17:45:43.215436Z",
"pulp_href": "/pulp/api/v3/workers/974769cc-b099-469e-8694-4c73e56fa7f7/",
"name": "676@centos7-proxy-devel.jjeffers.example.com",
"last_heartbeat": "2020-10-05T16:13:36.733971Z"
},
{
"pulp_created": "2020-09-30T17:11:40.333349Z",
"pulp_href": "/pulp/api/v3/workers/4ad803de-500a-4061-9092-5dcd9f212b5e/",
"name": "resource-manager",
"last_heartbeat": "2020-10-05T16:13:38.437627Z"
},
{
"pulp_created": "2020-10-02T17:45:41.854532Z",
"pulp_href": "/pulp/api/v3/workers/6a7edf97-736d-49b6-9c28-dcbd12f51380/",
"name": "695@centos7-proxy-devel.jjeffers.example.com",
"last_heartbeat": "2020-10-05T16:13:38.636631Z"
}
],
"online_content_apps": [
{
"name": "1195@centos7-proxy-devel.jjeffers.example.com",
"last_heartbeat": "2020-10-05T16:13:37.690219Z"
},
{
"name": "1210@centos7-proxy-devel.jjeffers.example.com",
"last_heartbeat": "2020-10-05T16:13:37.691302Z"
}
],
"database_connection": {
"connected": true
},
"redis_connection": {
"connected": true
},
"storage": {
"total": 42927656960,
"used": 6078078976,
"free": 36849577984
}
}
</code></pre>
<p>Relevant extract from katello server log showing API call with RespositorySyncURL parameters:</p>
<pre><code>10:38:20 rails.1 | 2020-10-05T10:38:20 [D|kat|] Calling API: RepositoriesAnsibleApi.sync ...
10:38:20 rails.1 | 2020-10-05T10:38:20 [D|kat|] HTTP request body param ~BEGIN~
10:38:20 rails.1 | | {"remote":"/pulp/api/v3/remotes/ansible/collection/62b69866-9652-4243-a001-cb96c9cf3a10/","mirror":true}
</code></pre>
<p>Using cURL from the same instance that hosts the pulpserver:</p>
<pre><code>[vagrant@centos7-proxy-devel ~]$ curl -i -X GET https://galaxy-dev.ansible.com/api/v2/collections/testing/ansible_testing_content
HTTP/1.1 301 Moved Permanently
Date: Mon, 05 Oct 2020 16:17:20 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __cfduid=d1e1ffeb69079587cc03db60aa3a4eb6a1601914640; expires=Wed, 04-Nov-20 16:17:20 GMT; path=/; domain=.ansible.com; HttpOnly; SameSite=Lax
Location: /api/v2/collections/testing/ansible_testing_content/
X-REQUEST-ID: e727e193a65f41ddb23696203369edbf
Set-Cookie: af91cb160f5f76cd3bc226a05339849a=1aabc03ebf238aabd8c18f839b624077; path=/; HttpOnly; Secure
Cache-control: private
CF-Cache-Status: DYNAMIC
cf-request-id: 059b26b096000007fa3a278200000001
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Server: cloudflare
CF-RAY: 5dd873c75c3107fa-ATL
</code></pre> Ansible Plugin - Issue #5905 (CLOSED - WORKSFORME): ansible-galaxy collection publish failshttps://pulp.plan.io/issues/59052019-12-19T19:06:37Zbmbouterbmbouter@redhat.com
<p>In a correctly configured pulp_ansible environment I try to upload a collection via ansible-galaxy (also correctly configured) and it fails.</p>
<p>1. Make a repository, e.g. http POST :80/pulp/api/v3/repositories/ansible/ansible/ name=foo<br>
2. Make a distribution for that repository, e.g. http POST :80/pulp/api/v3/distributions/ansible/ansible/ name='baz' base_path='foo' repository=/pulp/api/v3/repositories/ansible/ansible/53025e9e-9f30-4086-8214-8811028a396f/<br>
3. Try to upload:</p>
<pre><code>(pulp) [vagrant@pulp3-source-fedora31 ~]$ ansible-galaxy collection publish bmbouter-testing-1.0.0.tar.gz -vvvv
ansible-galaxy 2.9.2
config file = /home/vagrant/.ansible.cfg
configured module search path = ['/home/vagrant/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/pulp/lib64/python3.7/site-packages/ansible
executable location = /usr/local/lib/pulp/bin/ansible-galaxy
python version = 3.7.4 (default, Aug 12 2019, 14:45:07) [GCC 9.1.1 20190605 (Red Hat 9.1.1-2)]
Using /home/vagrant/.ansible.cfg as config file
Initial connection to galaxy_server: http://localhost:24817/pulp_ansible/galaxy/foo
Opened /home/vagrant/.ansible/galaxy_token
Calling Galaxy at http://localhost:24817/pulp_ansible/galaxy/foo
Opened /home/vagrant/.ansible/galaxy_token
Calling Galaxy at http://localhost:24817/pulp_ansible/galaxy/foo/api
Found API version 'v1, v2' with Galaxy server default (http://localhost:24817/pulp_ansible/galaxy/foo/api)
Publishing collection artifact '/home/vagrant/bmbouter-testing-1.0.0.tar.gz' to default http://localhost:24817/pulp_ansible/galaxy/foo/api
Opened /home/vagrant/.ansible/galaxy_token
Calling Galaxy at http://localhost:24817/pulp_ansible/galaxy/foo/api/v2/collections/
ERROR! Error when publishing collection to default (http://localhost:24817/pulp_ansible/galaxy/foo/api) (HTTP Code: 400, Message: Bad Request Code: Unknown)
</code></pre> Ansible Plugin - Issue #5644 (CLOSED - NOTABUG): consume content test is executed on the pulp serverhttps://pulp.plan.io/issues/56442019-10-30T17:03:55Zdkliban@redhat.com
<p>The consume content test uses the CLI Client class from pulp-smash to run a command that installs ansible content. This results in the ansible content being installed on the pulp server. The test should instead install the ansible content on the same machine that is executing the test.</p> Ansible Plugin - Issue #5155 (CLOSED - WORKSFORME): Ansible Collection Is Installed With Wrong Ve...https://pulp.plan.io/issues/51552019-07-18T17:36:24Zompragash
<p><strong>OS / ENVIRONMENT</strong></p>
<p>- Fedora release 30 (Thirty)<br>
- Ansible == 2.8.1<br>
- pulpcore == 3.0.0rc3<br>
- pulpcore-plugin == 0.1.0rc3<br>
- pulp_ansible == 0.2.0b1</p>
<p><strong>STEPS TO REPRODUCE</strong></p>
<p>- Deploy pulp_ansible</p>
<p>- Create a Repo, Sync/Upload Ansible collection</p>
<p>- Publish the uploaded Collection</p>
<p>- In my case I have uploaded three different collection each with different version as you can see below:</p>
<p>testing.ansible_testing_content,4.0.6<br>
ompragash.collections,1.0.12<br>
greetings_namespace.hello,11.11.11</p>
<p>- Also uploaded collection_list.txt which has the API output of `/pulp/api/v3/content/ansible/collections/` endpoint.</p>
<p>- Install mazer and configure ~/.ansible/mazer.yml file</p>
<p>server:<br>
ignore_certs: false<br>
url: <a href="http://localhost:24817/pulp_ansible/galaxy/galaxy_base" class="external">http://localhost:24817/pulp_ansible/galaxy/galaxy_base</a></p>
<p>- Now run `mazer install NAMESPACE_name.COLLECTION_name` to install uploaded collections from pulp_ansible</p>
<p><strong>EXPECTED RESULTS</strong></p>
<p>- Collection should be installed and if no version is specified `mazer` should install the latest available version and if version is specified it should install the required version.</p>
<p><strong>ACTUAL RESULTS</strong></p>
<p>- Collection is installed with the wrong version i.e. with the version of another collection</p>
<p>- As you can see I have three collections and when I try to install `ompragash.collections` or `greetings_namespace.hello` it is always installed with version 4.0.6.</p>
<p><strong>Observations:</strong></p>
<p>- Trying to install an collection with the specific version but got the below error:</p>
<p>~~~<br>
[<a href="mailto:root@X.X.X.X" class="email">root@X.X.X.X</a> ~]# mazer install ompragash.collections,1.0.12</p>
<p>Collection specs to install:<br>
ompragash.collections,==1.0.12</p>
<p>Installing spec: ompragash.collections,==1.0.12<br>
Unable to find a collection that matches the spec: ompragash.collections,==1.0.12:<br>
- you can use --ignore-errors to skip failed collections and finish processing the list.<br>
~~~</p>
<p>- When I only call the collection name like below:</p>
<p>~~~<br>
[<a href="mailto:root@X.X.X.X" class="email">root@X.X.X.X</a> ~]# mazer install ompragash.collections</p>
<p>Collection specs to install:<br>
ompragash.collections,*</p>
<p>Installing spec: ompragash.collections,*<br>
Found: ompragash.collections,4.0.6 (for spec ompragash.collections,*)<br>
Installed: ompragash.collections,4.0.6 (to /root/.ansible/collections/ansible_collections/ompragash/collections)<br>
~~~</p>
<p>here^ if you see `ompragash.collections` is installed with version 4.0.6 which is the version of another collection (i.e. testing.ansible_testing_content)</p>