Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-02-08T11:29:08ZPulp
Planio Debian Support - Issue #8221 (CLOSED - DUPLICATE): Pulp 3 Deb plugin - Copy DEB content between t...https://pulp.plan.io/issues/82212021-02-08T11:29:08ZAnonymous
<p>Since RPM and DEB plugins are almost compatibile with each other in API endpoints, is there something similar to RPM copy for Deb plugin ? <a href="https://pulp-rpm.readthedocs.io/en/latest/workflows/copy.html#" class="external">https://pulp-rpm.readthedocs.io/en/latest/workflows/copy.html#</a></p>
<p>We are looking for workflows on DEB plugin documentations, but copy doesn't exist. Are you planning to support it in near future or is there any other way you would suggest when moving a package between the repositories ?</p>
<p>Thank you.</p> Pulp - Story #7762 (CLOSED - WONTFIX): Need synchronous REST endpoint for (RPM) distribution updatehttps://pulp.plan.io/issues/77622020-10-28T13:33:40ZAnonymous
<p>In a typical RHUI setup with 400+ repos and similar number of pending repository sync tasks,
it would be of a great help to have ability to "publish" (ie. update their distribution with a publication
that is already available) those repos that already have the latest
metadata compiled without waiting for the sync task queue to drain. Alternatively, a way to "push"
newly created distribution update onto the start of the task queue. In my understanding, updating a
distribution looks like a lightweight task compared to sync or metadata generation tasks.</p> RPM Support - Issue #7321 (CLOSED - CURRENTRELEASE): pulp_rpm: Cannot synchronize repos behind pr...https://pulp.plan.io/issues/73212020-08-14T20:00:40ZAnonymous
<p>I had set up pulpcore and pulp_rpm and had working repos that I had synced successfully.</p>
<p>It stopped working when I upgraded pulp_core from v3.4.2 to v3.5.0.</p>
<p>Interestingly the error message does not mention the remote url the way it is in the remote object.
E.g. for this remote:</p>
<pre><code>{
"pulp_href": "/pulp/api/v3/remotes/rpm/rpm/dcebc720-cec0-440d-8327-605ebefef778/",
"pulp_created": "2020-08-14T19:30:59.442292Z",
"name": "test",
"url": "https://fixtures.pulpproject.org/rpm-unsigned/",
"ca_cert": null,
"client_cert": null,
"client_key": null,
"tls_validation": true,
"proxy_url": http://<my own proxy>,
"username": null,
"password": null,
"pulp_last_updated": "2020-08-14T19:30:59.442315Z",
"download_concurrency": 20,
"policy": "immediate",
"sles_auth_token": null
}
</code></pre>
<pre><code>Aug 14 21:49:42 chsss039 rq[303140]: aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host fixtures.pulpproject.org:443 ssl:default [Connect call failed ('8.43.85.236', 443)]
Aug 14 21:49:42 chsss039 rq[303140]: Traceback (most recent call last):
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 936, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore # noqa
File "/usr/lib64/python3.6/asyncio/base_events.py", line 794, in create_connection
raise exceptions[0]
File "/usr/lib64/python3.6/asyncio/base_events.py", line 781, in create_connection
yield from self.sock_connect(sock, address)
File "/usr/lib64/python3.6/asyncio/selector_events.py", line 439, in sock_connect
return (yield from fut)
File "/usr/lib64/python3.6/asyncio/selector_events.py", line 469, in _sock_connect_cb
raise OSError(err, 'Connect call failed %s' % (address,))
Aug 14 21:49:42 chsss039 rq[303140]: TimeoutError: [Errno 110] Connect call failed ('8.43.85.236', 443)
Aug 14 21:49:42 chsss039 rq[303140]: The above exception was the direct cause of the following exception:
Aug 14 21:49:42 chsss039 rq[303140]: Traceback (most recent call last):
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/rq/worker.py", line 886, in perform_job
rv = job.perform()
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/rq/job.py", line 664, in perform
self._result = self._execute()
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/rq/job.py", line 670, in _execute
return self.func(*self.args, **self.kwargs)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/pulp_rpm/app/tasks/synchronizing.py", line 211, in synchronize
remote_url = fetch_remote_url(remote)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/pulp_rpm/app/tasks/synchronizing.py", line 136, in fetch_remote_url
downloader.fetch()
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/pulpcore/download/base.py", line 160, in fetch
return done.pop().result()
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/pulpcore/download/base.py", line 227, in run
return await self._run(extra_data=extra_data)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/pulp_rpm/app/downloaders.py", line 41, in _run
async with self.session.get(url) as response:
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/client.py", line 1012, in __aenter__
self._resp = await self._coro
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/client.py", line 483, in _request
timeout=real_timeout
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 523, in connect
proto = await self._create_connection(req, traces, timeout)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 859, in _create_connection
req, traces, timeout)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 1004, in _create_direct_connection
raise last_exc
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 986, in _create_direct_connection
req=req, client_error=client_error)
File "/var/lib/pulp/pulpvenv/lib64/python3.6/site-packages/aiohttp/connector.py", line 943, in _wrap_create_connection
raise client_error(req.connection_key, exc) from exc
</code></pre>
<p>It seems to be related to the proxy settings. When I try to synchronize I cannot see the traffic on the proxy server.</p>
<p>How to reproduce:</p>
<ul>
<li>On server where pulp is running block outgoing connection (e.g. ip of repo) to repository.</li>
<li>Try to sync remote with proxy_url</li>
</ul> Pulp - Issue #6898 (CLOSED - NOTABUG): Pulp 2 - REST API for Search ignores critera or raises err...https://pulp.plan.io/issues/68982020-06-03T13:18:03ZAnonymous
<a name="Detailed-Description"></a>
<h2 >Detailed Description<a href="#Detailed-Description" class="wiki-anchor">¶</a></h2>
<p>Pulp provides REST API at <a href="https://docs.pulpproject.org/en/2.21/dev-guide/integration/rest-api/index.html" class="external">https://docs.pulpproject.org/en/2.21/dev-guide/integration/rest-api/index.html</a> for manipulation users, repositories, content and such.</p>
<p>For Search API <a href="https://docs.pulpproject.org/en/2.21/dev-guide/conventions/criteria.html#search-api" class="external">https://docs.pulpproject.org/en/2.21/dev-guide/conventions/criteria.html#search-api</a>, pulp provides two options:</p>
<ul>
<li>
<code>POST</code> request with <code>criteria</code> object</li>
<li>
<code>GET</code> request with query arguments</li>
</ul>
<a name="Bug"></a>
<h2 >Bug<a href="#Bug" class="wiki-anchor">¶</a></h2>
<p>When searching for units <a href="https://docs.pulpproject.org/en/2.21/dev-guide/integration/rest-api/repo/content.html#advanced-unit-search" class="external">https://docs.pulpproject.org/en/2.21/dev-guide/integration/rest-api/repo/content.html#advanced-unit-search</a>, using <code>GET</code> request it raises error:</p>
<p>Request -> HOSTED_PULP_URL/repositories/external-centos-6-staging/search/units/?field=id&field=display_name&limit=20</p>
<p>Response:</p>
<pre><code>{
"http_request_method":"GET",
"exception":[
"TypeError: pop() takes at most 1 argument (2 given)\n"
],
"error_message":"pop() takes at most 1 argument (2 given)",
"_href":"/pulp/api/v2/repositories/external-centos-6-staging/search/units/?field=id&field=display_name&limit=20",
"http_status":500,
"traceback":[
" File \"/usr/lib/python2.7/site-packages/django/core/handlers/base.py\", line 185, in _get_response\n response = wrapped_callback(request, *callback_args, **callback_kwargs)\n",
" File \"/usr/lib/python2.7/site-packages/django/views/generic/base.py\", line 68, in view\n return self.dispatch(request, *args, **kwargs)\n",
" File \"/usr/lib/python2.7/site-packages/django/views/generic/base.py\", line 88, in dispatch\n return handler(request, *args, **kwargs)\n",
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/views/decorators.py\", line 241, in _auth_decorator\n return _verify_auth(self, operation, super_user_only, method, *args, **kwargs)\n",
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/views/decorators.py\", line 195, in _verify_auth\n value = method(self, *args, **kwargs)\n",
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/views/search.py\", line 108, in get\n return self._generate_response(query, options, *args, **kwargs)\n",
" File \"/usr/lib/python2.7/site-packages/pulp/server/webservices/views/repositories.py\", line 285, in _generate_response\n criteria = UnitAssociationCriteria.from_client_input(query)\n",
" File \"/usr/lib/python2.7/site-packages/pulp/server/db/model/criteria.py\", line 286, in from_client_input\n association_fields = _validate_fields(fields.pop('association', None))\n"
]
}
</code></pre>
<p>Specifying without <code>field</code> works, even though documentation provides example of using <code>field</code> as query argument.</p>
<hr>
<p>As for Search using POST request, criteria seems ignored and return everything.</p>
<p>Example critera:</p>
<pre><code>{
"criteria": {
"fields": {
"unit": [
"name",
"version"
]
},
"type_ids": [
"rpm"
],
"limit": 1
}
}
</code></pre>
<p>Response: Everything (<em>criteria is ignored</em>)</p>
<p>Maybe I'm missing something, but we are not able to get fields we require since the whole output is huge and it downgrades our user experience.</p>
<p>Thank you.</p>
<a name="Your-Environment"></a>
<h2 >Your Environment<a href="#Your-Environment" class="wiki-anchor">¶</a></h2>
<ul>
<li>Version used: 2.16.4</li>
</ul> Pulp - Issue #5954 (CLOSED - CURRENTRELEASE): Add support for Azure blob storage as file backend ...https://pulp.plan.io/issues/59542020-01-09T15:26:48ZAnonymous
<p>Currently only AWS S3 support is working and documented for Pulp, however, Django Storages also supports Azure blob storage. Please support this as well.</p> Pulp - Story #5662 (CLOSED - CURRENTRELEASE): Manage Pulp via Ansible moduleshttps://pulp.plan.io/issues/56622019-11-04T16:15:21ZAnonymous
<p>I've been testing ansible modules to manage Pulp.</p>
<p><a href="https://github.com/ansible/ansible/pull/64388" class="external">https://github.com/ansible/ansible/pull/64388</a></p>
<p>Please let me know what you think.</p> Container Support - Issue #5637 (CLOSED - CURRENTRELEASE): Not using proxy setting of pulpcore.do...https://pulp.plan.io/issues/56372019-10-29T18:00:06ZAnonymous
<p>Behind corporate proxy the docker remote sync task returns:</p>
<pre><code> "error": {
"traceback": " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py\", line 822, in perform_job\n rv = job.perform()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\", line 605, in perform\n self._result = self._execute()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\", line 611, in _execute\n return self.func(*self.args, **self.kwargs)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulp_docker/app/tasks/synchronize.py\", line 47, in synchronize\n dv.create()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py\", line 169, 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/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 209, in create_pipeline\n await asyncio.gather(*futures)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 43, in __call__\n await self.run()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulp_docker/app/tasks/sync_stages.py\", line 58, in run\n await list_downloader.run(extra_data={'repo_name': repo_name})\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/plugin/download/base.py\", line 221, in run\n return await self._run(extra_data=extra_data)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/backoff/_async.py\", line 131, in retry\n ret = await target(*args, **kwargs)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulp_docker/app/downloaders.py\", line 62, in _run\n async with self.session.get(self.url, headers=headers) as response:\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/client.py\", line 1012, in __aenter__\n self._resp = await self._coro\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/client.py\", line 483, in _request\n timeout=real_timeout\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py\", line 523, in connect\n proto = await self._create_connection(req, traces, timeout)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py\", line 859, in _create_connection\n req, traces, timeout)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py\", line 1004, in _create_direct_connection\n raise last_exc\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py\", line 986, in _create_direct_connection\n req=req, client_error=client_error)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/aiohttp/connector.py\", line 943, in _wrap_create_connection\n raise client_error(req.connection_key, exc) from exc\n",
"description": "Cannot connect to host quay.io:443 ssl:default [Connect call failed ('23.23.190.62', 443)]"
</code></pre>
<p>Could it be that the proxy setting is not used:<br>
<a href="https://github.com/pulp/pulp_docker/blob/4.0.0b7/pulp_docker/app/downloaders.py#L60" class="external">https://github.com/pulp/pulp_docker/blob/4.0.0b7/pulp_docker/app/downloaders.py#L60</a></p>
<pre><code class="python syntaxhl" data-language="python"><span class="k">async</span> <span class="k">with</span> <span class="bp">self</span><span class="p">.</span><span class="n">session</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="p">.</span><span class="n">url</span><span class="p">,</span> <span class="n">headers</span><span class="o">=</span><span class="n">headers</span><span class="p">)</span> <span class="k">as</span> <span class="n">response</span><span class="p">:</span>
</code></pre>
<p>as compared to<br>
<a href="https://github.com/pulp/pulpcore/blob/master/pulpcore/download/http.py#L182" class="external">https://github.com/pulp/pulpcore/blob/master/pulpcore/download/http.py#L182</a></p>
<pre><code class="python syntaxhl" data-language="python"><span class="k">async</span> <span class="k">with</span> <span class="bp">self</span><span class="p">.</span><span class="n">session</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="p">.</span><span class="n">url</span><span class="p">,</span> <span class="n">proxy</span><span class="o">=</span><span class="bp">self</span><span class="p">.</span><span class="n">proxy</span><span class="p">)</span> <span class="k">as</span> <span class="n">response</span><span class="p">:</span>
</code></pre> Pulp - Issue #5636 (CLOSED - WONTFIX): Dependency version conflicts between pulp plugins and pulp...https://pulp.plan.io/issues/56362019-10-29T17:01:30ZAnonymous
<p>Install Pulp with ansible-pulp allows specifying which plugins to install with the `pulp_install_plugins` variable, e.g.:</p>
<pre><code class="yaml syntaxhl" data-language="yaml"><span class="na">pulp_install_plugins</span><span class="pi">:</span>
<span class="na">pulp-file</span><span class="pi">:</span> <span class="pi">{}</span>
<span class="na">pulp-docker</span><span class="pi">:</span> <span class="pi">{}</span>
</code></pre>
<p>Unfortunately, this leads to the following error:</p>
<pre><code>RUNNING HANDLER [pulp : Collect static content] ********************************
task path: /home/funke_t1/code/ansible/hss/plays/pulp/pulp/roles/pulp/handlers/main.yml:10
fatal: [pulp-dev-1.mgmt.hss.int]: FAILED! => {"changed": true, "cmd": ["/usr/local/lib/pulp/bin/django-admin", "collectstatic", "--noinput", "--link"], "delta": "0:00:00.683171", "end": "2019-10-29 16:44:47.097737", "msg": "non-zero return code", "rc": 1, "start": "2019-10-29 16:44:46.414566", "stderr": "Traceback (most recent call last):\n File \"/usr/local/lib/pulp/bin/django-admin\", line 11, in <module>\n sys.exit(execute_from_command_line())\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/management/__init__.py\", line 381, in execute_from_command_line\n utility.execute()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/management/__init__.py\", line 325, in execute\n settings.INSTALLED_APPS\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/conf/__init__.py\", line 79, in __getattr__\n self._setup(name)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/conf/__init__.py\", line 66, in _setup\n self._wrapped = Settings(settings_module)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/conf/__init__.py\", line 157, in __init__\n mod = importlib.import_module(self.SETTINGS_MODULE)\n File \"/usr/lib64/python3.6/importlib/__init__.py\", line 126, in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n File \"<frozen importlib._bootstrap>\", line 994, in _gcd_import\n File \"<frozen importlib._bootstrap>\", line 971, in _find_and_load\n File \"<frozen importlib._bootstrap>\", line 955, in _find_and_load_unlocked\n File \"<frozen importlib._bootstrap>\", line 665, in _load_unlocked\n File \"<frozen importlib._bootstrap_external>\", line 678, in exec_module\n File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/app/settings.py\", line 62, in <module>\n plugin_app_config = entry_point.load()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pkg_resources/__init__.py\", line 2442, in load\n self.require(*args, **kwargs)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pkg_resources/__init__.py\", line 2465, in require\n items = working_set.resolve(reqs, env, installer, extras=self.extras)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pkg_resources/__init__.py\", line 791, in resolve\n raise VersionConflict(dist, req).with_context(dependent_req)\npkg_resources.VersionConflict: (pulpcore-plugin 0.1.0rc7 (/usr/local/lib/pulp/lib/python3.6/site-packages), Requirement.parse('pulpcore-plugin==0.1.0rc6'))", "stderr_lines": ["Traceback (most recent call last):", " File \"/usr/local/lib/pulp/bin/django-admin\", line 11, in <module>", " sys.exit(execute_from_command_line())", " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/management/__init__.py\", line 381, in execute_from_command_line", " utility.execute()", " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/core/management/__init__.py\", line 325, in execute", " settings.INSTALLED_APPS", " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/conf/__init__.py\", line 79, in __getattr__", " self._setup(name)", " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/conf/__init__.py\", line 66, in _setup", " self._wrapped = Settings(settings_module)", " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/conf/__init__.py\", line 157, in __init__", " mod = importlib.import_module(self.SETTINGS_MODULE)", " 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 \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/app/settings.py\", line 62, in <module>", " plugin_app_config = entry_point.load()", " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pkg_resources/__init__.py\", line 2442, in load", " self.require(*args, **kwargs)", " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pkg_resources/__init__.py\", line 2465, in require", " items = working_set.resolve(reqs, env, installer, extras=self.extras)", " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/pkg_resources/__init__.py\", line 791, in resolve", " raise VersionConflict(dist, req).with_context(dependent_req)", "pkg_resources.VersionConflict: (pulpcore-plugin 0.1.0rc7 (/usr/local/lib/pulp/lib/python3.6/site-packages), Requirement.parse('pulpcore-plugin==0.1.0rc6'))"], "stdout": "", "stdout_lines": []}
</code></pre>
<p>It appears that pulp-docker tries to install rc6 version.</p>
<p>Further, this means that errors such as in the following issues can occur:<br>
<a href="https://pulp.plan.io/issues/5626" class="external">https://pulp.plan.io/issues/5626</a><br>
<a href="https://pulp.plan.io/issues/5624" class="external">https://pulp.plan.io/issues/5624</a></p>
<p>Consistent dependencies should be available when installing via anisble-pulp.</p> File Support - Issue #5624 (CLOSED - NOTABUG): OpenAPI generated client 'pulp-file-client' does n...https://pulp.plan.io/issues/56242019-10-26T12:48:30ZAnonymous
<p>'pulp_href' is missing from OpenAPI client library.</p>
<p>The following differs in that:</p>
<p><a href="http://localhost:24817/pulp/api/v3/remotes/file/file/?name=restremote1" class="external">http://localhost:24817/pulp/api/v3/remotes/file/file/?name=restremote1</a><br>
returns</p>
<pre><code>{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"download_concurrency": 20,
"name": "restremote1",
"policy": "immediate",
"proxy_url": null,
"pulp_created": "2019-10-26T11:56:19.102805Z",
"pulp_href": "/pulp/api/v3/remotes/file/file/89c92bab-edc0-4d1c-9af7-a099c7e88b57/",
"pulp_last_updated": "2019-10-26T11:56:19.102819Z",
"ssl_ca_certificate": null,
"ssl_client_certificate": null,
"ssl_client_key": null,
"ssl_validation": true,
"url": "https://repos.fedorapeople.org/pulp/pulp/demo_repos/test_file_repo/PULP_MANIFEST"
}
]
}
</code></pre>
<p>and via the 'pulp-file-client' OpenAPI generated client library:</p>
<p>remote_file_api.list(name="restremote1")<br>
returns</p>
<pre><code>{'count': 1,
'next': None,
'previous': None,
'results': [{'created': None,
'download_concurrency': 20,
'href': None,
'last_updated': None,
'name': 'restremote1',
'********': None,
'policy': 'immediate',
'proxy_url': None,
'ssl_ca_certificate': None,
'ssl_client_certificate': None,
'ssl_client_key': None,
'ssl_validation': True,
'type': None,
'url': 'https://repos.fedorapeople.org/pulp/pulp/demo_repos/test_file_repo/PULP_MANIFEST',
'username': None}]}
</code></pre>
<p>Try code here:<br>
<a href="https://github.com/Timoses/pulp3/commit/a529ddc9383cd4c1697803ff4508744db75aa9eb" class="external">https://github.com/Timoses/pulp3/commit/a529ddc9383cd4c1697803ff4508744db75aa9eb</a></p> Pulp - Issue #5623 (CLOSED - CURRENTRELEASE): OpenAPI generated client - Failed to parse in urllib3https://pulp.plan.io/issues/56232019-10-26T10:42:15ZAnonymous
<p>pulpcore-client: latest (3.0.0rc8.dev1572012888)</p>
<p>The following triggers an error:</p>
<pre><code class="python syntaxhl" data-language="python"> <span class="kn">from</span> <span class="nn">pulpcore.client.pulpcore.configuration</span> <span class="kn">import</span> <span class="n">Configuration</span>
<span class="kn">from</span> <span class="nn">pulpcore.client.pulpcore.api_client</span> <span class="kn">import</span> <span class="n">ApiClient</span>
<span class="kn">from</span> <span class="nn">pulpcore.client.pulpcore.api.repositories_api</span> <span class="kn">import</span> <span class="n">RepositoriesApi</span>
<span class="n">config</span> <span class="o">=</span> <span class="n">Configuration</span><span class="p">(</span><span class="n">username</span><span class="o">=</span><span class="s">'admin'</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="s">'password'</span><span class="p">)</span>
<span class="n">client</span> <span class="o">=</span> <span class="n">ApiClient</span><span class="p">(</span><span class="n">configuration</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
<span class="n">api</span> <span class="o">=</span> <span class="n">RepositoriesApi</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
<span class="n">api</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="s">'/pulp/api/v3/repositories/4f94aa44-729f-445e-926f-5b1139aee291/'</span><span class="p">)</span>
</code></pre>
<pre><code> File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/api/repositories_api.py\", line 521, in read
return self.read_with_http_info(repository_href, **kwargs) # noqa: E501
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/api/repositories_api.py\", line 609, in read_with_http_info
collection_formats=collection_formats)
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/api_client.py\", line 346, in call_api
_preload_content, _request_timeout, _host)
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/api_client.py\", line 177, in __call_api
_request_timeout=_request_timeout)
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/api_client.py\", line 369, in request
headers=headers)
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/rest.py\", line 239, in GET
query_params=query_params)
File \"/usr/lib/python2.7/site-packages/pulpcore/client/pulpcore/rest.py\", line 212, in request
headers=headers)
File \"/usr/lib/python2.7/site-packages/urllib3/request.py\", line 76, in request
method, url, fields=fields, headers=headers, **urlopen_kw
File \"/usr/lib/python2.7/site-packages/urllib3/request.py\", line 97, in request_encode_url
return self.urlopen(method, url, **extra_kw)
File \"/usr/lib/python2.7/site-packages/urllib3/poolmanager.py\", line 318, in urlopen
u = parse_url(url)
File \"/usr/lib/python2.7/site-packages/urllib3/util/url.py\", line 401, in parse_url
return six.raise_from(LocationParseError(source_url), None)
File \"/usr/lib/python2.7/site-packages/urllib3/packages/six.py\", line 788, in raise_from
raise value
urllib3.exceptions.LocationParseError: Failed to parse: http://localhost:24817%2Fpulp%2Fapi%2Fv3%2Frepositories%2F4f94aa44-729f-445e-926f-5b1139aee291%2F
</code></pre>
<p>Try it yourself:</p>
<pre><code>git clone https://github.com/Timoses/pulp3
cd pulp3
git checkout 5f0b86e3
ansible-galaxy install -r requirements.yml -p roles
vagrant up
</code></pre>
<p>Triggering line: <a href="https://github.com/Timoses/pulp3/commit/5f0b86e3e3c5a99802e1a32e4269e9d74f4b11ff#diff-d893f4f9daec0843269e999b2a061754R97" class="external">https://github.com/Timoses/pulp3/commit/5f0b86e3e3c5a99802e1a32e4269e9d74f4b11ff#diff-d893f4f9daec0843269e999b2a061754R97</a></p> CertGuard - Issue #4900 (CLOSED - CURRENTRELEASE): As a user I would like to know how to make pul...https://pulp.plan.io/issues/49002019-05-31T17:50:34ZAnonymous
<p>The docs currently don't really touch on how to use a pulp repo with yum.</p>
<p>And the yum internals are a little daunting to dig through to figure out how to make things interoperable.</p> Pulp - Issue #3095 (CLOSED - WONTFIX): Unable to cancel pending unstarted taskshttps://pulp.plan.io/issues/30952017-10-23T21:46:31ZAnonymous
<p>1. Created some consumers<br>
2. Created some consumer groups for patching<br>
3. Deleted some consumers<br>
4. Run some package group updates<br>
5. Task lists look Unstarted.</p>
<p>I am not able to cancel the tasks by running</p>
<p>pulp-admin tasks cancel --task-id <task-id></p>
<p>Is there a workaround to remove those orphan tasks?</p> Pulp - Task #1804 (CLOSED - WONTFIX): Create monthly view for community statisticshttps://pulp.plan.io/issues/18042016-03-31T14:55:28ZAnonymous
<p>Collect data from IRC, website, and github. Compose into an ongoing monthly report.</p> RPM Support - Story #211 (CLOSED - WONTFIX): [RFE] pulp allows corrupt rpms to be pushed into reposhttps://pulp.plan.io/issues/2112015-02-19T01:12:08ZAnonymous
<p>+<span>+ This bug was initially created as a clone of <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1023335" class="external">Bugzilla Bug #1023335</a> +</span>+</p>
<p>Description of problem:</p>
<p>Description of problem:<br>
I create a repo, and push to it a corrupt rpm, which won't install.</p>
<p>Version-Release number of selected component (if applicable):<br>
2.2.0-1</p>
<p>How reproducible:<br>
always</p>
<p>Steps to Reproduce:</p>
<p>1. locate a corrupt rpm:<br>
rpm -K /tmp/corruptrpm-1.0-1.noarch.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#f44e7eb7)</p>
<p>2. pulp-admin rpm repo create --repo-id test-repo2 --relative-url test-repo2</p>
<p>3. pulp-admin rpm repo uploads rpm -f /tmp/corruptrpm-1.0-1.noarch.rpm --repo-id=test-repo2<br>
<span>----------------------------------------------------------------------</span><br>
Unit Upload<br>
<span><del>--------------------------------------------------------------------</del></span></p>
<p>Extracting necessary metadata for each request...<br>
[==================================================] 100%<br>
Analyzing: corruptrpm-1.0-1.noarch.rpm<br>
... completed</p>
<p>Creating upload requests on the server...<br>
[==================================================] 100%<br>
Initializing: corruptrpm-1.0-1.noarch.rpm<br>
... completed</p>
<p>Starting upload of selected units. If this process is stopped through ctrl+c,<br>
the uploads will be paused and may be resumed later using the resume command or<br>
cancelled entirely using the cancel command.</p>
<p>Uploading: corruptrpm-1.0-1.noarch.rpm<br>
[==================================================] 100%<br>
2729160/2729160 bytes<br>
... completed</p>
<p>Importing into the repository...<br>
... completed</p>
<p>Deleting the upload request...<br>
... completed</p>
<p>Actual results:</p>
<p>Corrult rpm successfully pushed into pulp.</p>
<p>Expected results:</p>
<p>rpm upload should fail due to incorrect checksum</p>
<p>Additional info:</p>
<p>--- Additional comment from <a href="mailto:petter.hassberg@netent.com" class="email">petter.hassberg@netent.com</a> at 10/25/2013 08:49:45 ---</p>
<p>this was not a corrupt rpm after all.</p>
<p>--- Additional comment from <a href="mailto:petter.hassberg@netent.com" class="email">petter.hassberg@netent.com</a> at 11/11/2013 14:49:22 ---</p>
<p>This also is applicable with actual corrupt rpm:s with sha1sum mismatch,.</p>
<p>--- Additional comment from <a href="mailto:skarmark@redhat.com" class="email">skarmark@redhat.com</a> at 11/13/2013 16:56:04 ---</p>
<p>***** Bug 1029085 has been marked as a duplicate of this bug. ***</p> Pulp - Task #76 (CLOSED - WONTFIX): Automatically run repoclosure for all arches/dists after buil...https://pulp.plan.io/issues/762014-12-18T16:12:43ZAnonymous
<p>This task is related to build stuff, not Pulp itself:)</p>
<p>RPM dependences are occasionally missed during a build, especially for platforms we do not commonly use like el5. This occurs about once every two or three weeks for Pulp repos; QE will find that an RPM is missing while doing an install.</p>
<p>One way to find such issues quickly is to run repoclosure on each repos before publishing. This is typically done as one command per repo; an example is at <a href="https://fedoraproject.org/wiki/QA:Testcase_Mediakit_Repoclosure" class="external">https://fedoraproject.org/wiki/QA:Testcase_Mediakit_Repoclosure</a>.</p>
<p>This step is typically done during the build/release process before QE handoff, but could also be done by QE. Ideally this could be run as part of the new build process.</p>
<p>This should be done in the nightly Jenkins build repos job. This should be done using Docker if possible because it needs to be run on each arch and dist.</p>